basePath: /api/v1/billing
definitions:
  api.CreatePayingRequest:
    properties:
      force:
        example: false
        type: boolean
      month:
        example: 2026-06
        type: string
    required:
    - month
    type: object
  api.StripePayingCarryoverSummary:
    properties:
      oldest_first_carry_month:
        type: string
      total_amount:
        type: string
      total_count:
        type: integer
    type: object
  api.StripePayingConflictResponse:
    properties:
      error:
        type: string
      existing_paying:
        $ref: '#/definitions/api.StripePayingResponse'
      message:
        type: string
    type: object
  api.StripePayingDetailResponse:
    properties:
      completed_at:
        type: string
      created_at:
        type: string
      created_by:
        type: string
      duration_seconds:
        type: integer
      error_message:
        type: string
      month:
        type: string
      paying_id:
        type: integer
      picked_up_at:
        type: string
      result: {}
      status:
        type: string
    type: object
  api.StripePayingDetailResult:
    properties:
      paying:
        $ref: '#/definitions/api.StripePayingDetailResponse'
    type: object
  api.StripePayingErrorResponse:
    properties:
      code:
        type: string
      error:
        type: string
      message:
        type: string
    type: object
  api.StripePayingListResponse:
    properties:
      carryover_summary:
        $ref: '#/definitions/api.StripePayingCarryoverSummary'
      payings:
        items:
          $ref: '#/definitions/api.StripePayingResponse'
        type: array
    type: object
  api.StripePayingResponse:
    properties:
      completed_at:
        type: string
      created_at:
        type: string
      created_by:
        type: string
      duration_seconds:
        type: integer
      error_message:
        type: string
      month:
        type: string
      paying_id:
        type: integer
      picked_up_at:
        type: string
      result: {}
      status:
        type: string
    type: object
  billing_errors.BaseError:
    properties:
      code:
        type: string
      error: {}
      msgPrefix:
        type: string
      status:
        type: integer
    type: object
  eventbushandler.Event:
    properties:
      eventData: {}
      eventID:
        type: string
      eventType:
        type: string
    type: object
  forms.ARTableCreateInput:
    properties:
      bill_month:
        type: string
      binded_billing_config_id:
        example: "0"
        type: string
      byoc_allocated_loss:
        type: string
      channel_loss_amount:
        type: string
      cppo_discountable_product_amount:
        type: string
      cppo_non_discountable_product_amount:
        type: string
      dedicated_accrual_amount:
        type: string
      dedicated_allocated_loss:
        type: string
      end_date:
        type: string
      essential_allocated_loss:
        type: string
      invoice_amount:
        type: string
      is_estimated:
        type: boolean
      lake_allocated_loss:
        type: string
      marketplace_amount:
        type: string
      partner_id:
        type: string
      payment_code:
        type: string
      payment_type:
        type: string
      premium_allocated_loss:
        type: string
      prepayment_credits:
        type: string
      raw_byoc_amount:
        type: string
      raw_byoc_customer_success_amount:
        type: string
      raw_byoc_program_credits_amount:
        type: string
      raw_byoc_redeem_credits_amount:
        type: string
      raw_dedicated_amount:
        type: string
      raw_dedicated_customer_success_amount:
        type: string
      raw_dedicated_program_credits_amount:
        type: string
      raw_dedicated_redeem_credits_amount:
        type: string
      raw_essential_amount:
        type: string
      raw_essential_customer_success_amount:
        type: string
      raw_essential_program_credits_amount:
        type: string
      raw_essential_redeem_credits_amount:
        type: string
      raw_lake_amount:
        type: string
      raw_lake_customer_success_amount:
        type: string
      raw_lake_program_credits_amount:
        type: string
      raw_lake_redeem_credits_amount:
        type: string
      raw_premium_amount:
        type: string
      raw_premium_customer_success_amount:
        type: string
      raw_premium_program_credits_amount:
        type: string
      raw_premium_redeem_credits_amount:
        type: string
      raw_serverless_amount:
        type: string
      raw_serverless_customer_success_amount:
        type: string
      raw_serverless_program_credits_amount:
        type: string
      raw_serverless_redeem_credits_amount:
        type: string
      raw_starter_amount:
        type: string
      raw_starter_customer_success_amount:
        type: string
      raw_starter_program_credits_amount:
        type: string
      raw_starter_redeem_credits_amount:
        type: string
      raw_support_amount:
        type: string
      raw_support_customer_success_amount:
        type: string
      raw_support_program_credits_amount:
        type: string
      raw_support_redeem_credits_amount:
        type: string
      serverless_allocated_loss:
        type: string
      start_date:
        type: string
      starter_allocated_loss:
        type: string
      stripe_amount:
        items:
          type: string
        type: array
      stripe_amount_including_tax:
        items:
          type: string
        type: array
      stripe_invoice:
        items:
          type: string
        type: array
      stripe_invoice_finalized_date:
        items:
          type: string
        type: array
      stripe_invoice_number:
        items:
          type: string
        type: array
      stripe_invoice_paid:
        items:
          type: string
        type: array
      stripe_invoice_paid_date:
        items:
          type: string
        type: array
      stripe_tax_rate:
        items:
          type: string
        type: array
      support_accrual_amount:
        type: string
      support_allocated_loss:
        type: string
      tenant_id:
        example: "0"
        type: string
      total_amount:
        type: string
      wire_transfer_amount:
        type: string
    required:
    - bill_month
    - binded_billing_config_id
    - payment_type
    - tenant_id
    type: object
  forms.ARTableExportDownloadResponse:
    properties:
      key:
        type: string
      url:
        type: string
    type: object
  forms.ARTableExportStatusResponse:
    properties:
      key:
        type: string
      started_at:
        type: string
      status:
        type: string
      timeout_at:
        type: string
    type: object
  forms.ARTableListResponse:
    properties:
      page:
        type: integer
      page_size:
        type: integer
      records:
        items:
          $ref: '#/definitions/forms.ARTableRecordResponse'
        type: array
      total_results:
        type: integer
    type: object
  forms.ARTableRecordResponse:
    properties:
      bill_month:
        example: 2025-04
        type: string
      binded_billing_config_id:
        example: "1"
        type: string
      byoc_allocated_loss:
        type: string
      byoc_amount:
        type: string
      channel_loss_amount:
        type: string
      cppo_discountable_product_amount:
        type: string
      cppo_non_discountable_product_amount:
        type: string
      created_at:
        example: "2025-01-01T00:00:00Z"
        type: string
      dedicated_accrual_amount:
        type: string
      dedicated_allocated_loss:
        type: string
      dedicated_amount:
        type: string
      end_date:
        example: "2025-04-30"
        type: string
      essential_allocated_loss:
        type: string
      essential_amount:
        type: string
      id:
        example: "1"
        type: string
      invoice_amount:
        example: "150.00"
        type: string
      is_estimated:
        example: false
        type: boolean
      lake_allocated_loss:
        type: string
      lake_amount:
        type: string
      marketplace_amount:
        example: "50.00"
        type: string
      partner_id:
        example: partner_abc
        type: string
      payment_code:
        example: cus_abc123
        type: string
      payment_type:
        example: stripe
        type: string
      premium_allocated_loss:
        type: string
      premium_amount:
        type: string
      prepayment_credits:
        example: "20.00"
        type: string
      raw_byoc_amount:
        type: string
      raw_byoc_customer_success_amount:
        type: string
      raw_byoc_program_credits_amount:
        type: string
      raw_byoc_redeem_credits_amount:
        type: string
      raw_dedicated_amount:
        type: string
      raw_dedicated_customer_success_amount:
        type: string
      raw_dedicated_program_credits_amount:
        type: string
      raw_dedicated_redeem_credits_amount:
        type: string
      raw_essential_amount:
        type: string
      raw_essential_customer_success_amount:
        type: string
      raw_essential_program_credits_amount:
        type: string
      raw_essential_redeem_credits_amount:
        type: string
      raw_lake_amount:
        type: string
      raw_lake_customer_success_amount:
        type: string
      raw_lake_program_credits_amount:
        type: string
      raw_lake_redeem_credits_amount:
        type: string
      raw_premium_amount:
        type: string
      raw_premium_customer_success_amount:
        type: string
      raw_premium_program_credits_amount:
        type: string
      raw_premium_redeem_credits_amount:
        type: string
      raw_serverless_amount:
        type: string
      raw_serverless_customer_success_amount:
        type: string
      raw_serverless_program_credits_amount:
        type: string
      raw_serverless_redeem_credits_amount:
        type: string
      raw_starter_amount:
        type: string
      raw_starter_customer_success_amount:
        type: string
      raw_starter_program_credits_amount:
        type: string
      raw_starter_redeem_credits_amount:
        type: string
      raw_support_amount:
        type: string
      raw_support_customer_success_amount:
        type: string
      raw_support_program_credits_amount:
        type: string
      raw_support_redeem_credits_amount:
        type: string
      serverless_allocated_loss:
        type: string
      serverless_amount:
        type: string
      start_date:
        example: "2025-04-01"
        type: string
      starter_allocated_loss:
        type: string
      starter_amount:
        type: string
      stripe_amount:
        items:
          type: string
        type: array
      stripe_amount_including_tax:
        items:
          type: string
        type: array
      stripe_invoice:
        items:
          type: string
        type: array
      stripe_invoice_finalized_date:
        items:
          type: string
        type: array
      stripe_invoice_number:
        items:
          type: string
        type: array
      stripe_invoice_paid:
        items:
          type: string
        type: array
      stripe_invoice_paid_date:
        items:
          type: string
        type: array
      stripe_tax_rate:
        items:
          type: string
        type: array
      support_accrual_amount:
        type: string
      support_allocated_loss:
        type: string
      support_amount:
        type: string
      tenant_id:
        example: "100"
        type: string
      total_amount:
        example: "170.00"
        type: string
      updated_at:
        example: "2025-01-01T00:00:00Z"
        type: string
      wire_transfer_amount:
        example: "100.00"
        type: string
    type: object
  forms.ARTableUpdateInput:
    properties:
      bill_month:
        type: string
      binded_billing_config_id:
        example: "0"
        type: string
      byoc_allocated_loss:
        type: string
      channel_loss_amount:
        type: string
      cppo_discountable_product_amount:
        type: string
      cppo_non_discountable_product_amount:
        type: string
      dedicated_accrual_amount:
        type: string
      dedicated_allocated_loss:
        type: string
      end_date:
        type: string
      essential_allocated_loss:
        type: string
      invoice_amount:
        type: string
      is_estimated:
        type: boolean
      lake_allocated_loss:
        type: string
      marketplace_amount:
        type: string
      partner_id:
        type: string
      payment_code:
        type: string
      payment_type:
        type: string
      premium_allocated_loss:
        type: string
      prepayment_credits:
        type: string
      raw_byoc_amount:
        type: string
      raw_byoc_customer_success_amount:
        type: string
      raw_byoc_program_credits_amount:
        type: string
      raw_byoc_redeem_credits_amount:
        type: string
      raw_dedicated_amount:
        type: string
      raw_dedicated_customer_success_amount:
        type: string
      raw_dedicated_program_credits_amount:
        type: string
      raw_dedicated_redeem_credits_amount:
        type: string
      raw_essential_amount:
        type: string
      raw_essential_customer_success_amount:
        type: string
      raw_essential_program_credits_amount:
        type: string
      raw_essential_redeem_credits_amount:
        type: string
      raw_lake_amount:
        type: string
      raw_lake_customer_success_amount:
        type: string
      raw_lake_program_credits_amount:
        type: string
      raw_lake_redeem_credits_amount:
        type: string
      raw_premium_amount:
        type: string
      raw_premium_customer_success_amount:
        type: string
      raw_premium_program_credits_amount:
        type: string
      raw_premium_redeem_credits_amount:
        type: string
      raw_serverless_amount:
        type: string
      raw_serverless_customer_success_amount:
        type: string
      raw_serverless_program_credits_amount:
        type: string
      raw_serverless_redeem_credits_amount:
        type: string
      raw_starter_amount:
        type: string
      raw_starter_customer_success_amount:
        type: string
      raw_starter_program_credits_amount:
        type: string
      raw_starter_redeem_credits_amount:
        type: string
      raw_support_amount:
        type: string
      raw_support_customer_success_amount:
        type: string
      raw_support_program_credits_amount:
        type: string
      raw_support_redeem_credits_amount:
        type: string
      serverless_allocated_loss:
        type: string
      start_date:
        type: string
      starter_allocated_loss:
        type: string
      stripe_amount:
        items:
          type: string
        type: array
      stripe_amount_including_tax:
        items:
          type: string
        type: array
      stripe_invoice:
        items:
          type: string
        type: array
      stripe_invoice_finalized_date:
        items:
          type: string
        type: array
      stripe_invoice_number:
        items:
          type: string
        type: array
      stripe_invoice_paid:
        items:
          type: string
        type: array
      stripe_invoice_paid_date:
        items:
          type: string
        type: array
      stripe_tax_rate:
        items:
          type: string
        type: array
      support_accrual_amount:
        type: string
      support_allocated_loss:
        type: string
      tenant_id:
        example: "0"
        type: string
      total_amount:
        type: string
      wire_transfer_amount:
        type: string
    required:
    - bill_month
    - binded_billing_config_id
    - payment_type
    - tenant_id
    type: object
  forms.Address:
    properties:
      city:
        type: string
      country:
        type: string
      line1:
        type: string
      line2:
        type: string
      postal_code:
        type: string
      state:
        type: string
    type: object
  forms.AliyunSubscriptionRecord:
    properties:
      ali_uid:
        type: string
      biz_id:
        type: string
      in_trial:
        type: boolean
      is_subscribed:
        type: boolean
      is_third_party:
        type: boolean
      product_code:
        type: string
    type: object
  forms.AppAPIUsageExplore:
    properties:
      month:
        type: integer
      network_usage:
        type: integer
      request_count:
        type: integer
      tenant_id:
        type: integer
      usage_map:
        additionalProperties:
          format: int64
          type: integer
        type: object
    type: object
  forms.AuditLog:
    properties:
      action:
        type: string
      created_at:
        type: string
      email:
        type: string
      is_cppo_customer:
        type: boolean
      is_cppo_reseller:
        type: boolean
      is_mcpo_customer:
        type: boolean
      is_mcpo_reseller:
        type: boolean
      is_msp:
        type: boolean
      is_msp_customer:
        type: boolean
      is_resale_customer:
        type: boolean
      is_resale_partner:
        type: boolean
      kind:
        type: string
      name:
        type: string
      operation_time:
        type: string
      operator:
        $ref: '#/definitions/forms.User'
      org_tag:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
      third_party_account_provider:
        type: string
      third_party_free_trial:
        type: boolean
    type: object
  forms.Beneficiary:
    properties:
      emailId:
        type: string
      objectId:
        type: string
      puid:
        type: string
      tenantId:
        type: string
    type: object
  forms.BillingAction:
    enum:
    - add
    - remove
    - expand
    - shrink
    - view
    type: string
    x-enum-varnames:
    - BillingAction_Create
    - BillingAction_Delete
    - BillingAction_Scaleup
    - BillingAction_Scaledown
    - BillingAction_View
  forms.BillingActionCheckBatchInput:
    properties:
      actions:
        items:
          $ref: '#/definitions/forms.BillingActionInfo'
        type: array
    type: object
  forms.BillingActionCheckBatchOutput:
    properties:
      results:
        items:
          $ref: '#/definitions/forms.BillingActionCheckResult'
        type: array
    type: object
  forms.BillingActionCheckResult:
    properties:
      original: {}
      pass:
        type: boolean
      reason:
        type: string
    type: object
  forms.BillingActionInfo:
    properties:
      action:
        $ref: '#/definitions/forms.BillingAction'
      resource:
        $ref: '#/definitions/forms.BillingResource'
    type: object
  forms.BillingCompany:
    properties:
      company_key:
        type: string
      name:
        type: string
      payment_sub_code:
        type: string
    type: object
  forms.BillingConfig:
    properties:
      billing_config_id:
        type: integer
      created_at:
        type: string
      end_active_time:
        type: string
      managed_tenant_id:
        example: "0"
        type: string
      start_active_time:
        type: string
      status:
        type: string
      tenant_id:
        example: "0"
        type: string
      type:
        type: string
      updated_at:
        type: string
    type: object
  forms.BillingDetails:
    properties:
      address:
        $ref: '#/definitions/forms.Address'
      email:
        type: string
      name:
        type: string
      phone:
        type: string
    type: object
  forms.BillingInformation:
    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
      postal_code:
        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
      tenant_id:
        type: integer
    type: object
  forms.BillingInformationInput:
    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
      postal_code:
        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
    type: object
  forms.BillingProfileForOpenAPI:
    properties:
      billingEmail:
        description: The email address where invoices will be sent. This is only applicable
          for credit card payments.
        example: example@tidbcloud.com
        type: string
      city:
        description: The full name of the city in the billing address.
        type: string
      companyName:
        description: The name of the company to be displayed on the invoice. This
          is only applicable for credit card payments.
        example: PingCAP Inc.
        type: string
      countryCode:
        description: A two-letter country code following the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
          standard. For example, use "US" for the United States.
        example: US
        type: string
      line1:
        description: The first line of the detailed billing address.
        type: string
      line2:
        description: The second line of the detailed billing address.
        type: string
      postalCode:
        description: The postal code of the billing address.
        example: "000000"
        type: string
      state:
        description: The state or region code following the [ISO 3166-2 subdivision](https://en.wikipedia.org/wiki/ISO_3166-2)
          standard, without the country prefix. For example, use "CA" for California
          in the United States, not "US-CA".
        example: CA
        type: string
      taxId:
        description: The tax ID of the billing entity. For more information, see [Supported
          Tax ID types](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id).
        type: string
      taxIdType:
        allOf:
        - $ref: '#/definitions/forms.TaxIDType'
        description: The type of tax ID provided. For more information, see [Supported
          Tax ID types](https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id).
    type: object
  forms.BillingResource:
    properties:
      instance_id:
        type: string
      is_free:
        type: boolean
      origin: {}
      provider:
        $ref: '#/definitions/forms.ProviderEnum'
      region:
        type: string
      type:
        $ref: '#/definitions/forms.BillingResourceType'
    type: object
  forms.BillingResourceType:
    enum:
    - dedicated_cluster
    - dedicated_backup
    - lake_warehouse
    - serverless_cluster
    - essential_cluster
    - premium_cluster
    - starter_cluster
    type: string
    x-enum-varnames:
    - BillingResourceType_DedicatedCluster
    - BillingResourceType_DedicatedBackup
    - BillingResourceType_LakeWarehouse
    - BillingResourceType_ServerlessCluster
    - BillingResourceType_EssentialCluster
    - BillingResourceType_PremiumCluster
    - BillingResourceType_StarterCluster
  forms.BillsCostExplorer:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      elements:
        items:
          $ref: '#/definitions/forms.BillsCostExplorerElements'
        type: array
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsCostExplorerBreakdown:
    properties:
      billedDate:
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      detailKey:
        type: string
      detailName:
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsCostExplorerElements:
    properties:
      billedDate:
        type: string
      breakdown:
        items:
          $ref: '#/definitions/forms.BillsCostExplorerBreakdown'
        type: array
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsDetail:
    properties:
      billedDate:
        description: The date when this bill happens.
        type: string
      clusterName:
        description: Name of the cluster.
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      projectName:
        description: Name of the project.
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      servicePathName:
        description: Name of the service.
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsDetails:
    properties:
      details:
        items:
          $ref: '#/definitions/forms.BillsDetail'
        type: array
    type: object
  forms.BillsEnabled:
    properties:
      bills_enabled:
        type: boolean
    type: object
  forms.BillsExplorer:
    properties:
      overview:
        allOf:
        - $ref: '#/definitions/forms.BillsOverview'
        description: The overall information for a bill in the specified organization.
      summaryByProject:
        allOf:
        - $ref: '#/definitions/forms.SummaryByProject'
        description: A breakdown of the bill by project.
      summaryByService:
        description: A breakdown of the bill by service.
        items:
          $ref: '#/definitions/forms.BillsServiceCosts'
        type: array
    type: object
  forms.BillsOtherName:
    properties:
      chargeName:
        example: Support Plan
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsOverview:
    properties:
      billedMonth:
        description: The month in which this bill is generated for the specified organization.
        example: 2023-09
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsProjects:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      projectName:
        description: The name of a project in the specified organization.
        example: prod-project
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BillsServiceCosts:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      serviceCosts:
        items:
          $ref: '#/definitions/forms.BillsServiceCosts'
        type: array
      serviceName:
        description: The name of services provided by TiDB Cloud.
        example: TiDB Dedicated
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.BindedPackageInfo:
    properties:
      binded_billing_config_id:
        type: integer
      binded_package_id:
        type: integer
      closed_date:
        type: string
      discount_enabled:
        type: boolean
      expired_date:
        type: string
      internal:
        type: boolean
      invoice_payable:
        type: boolean
      package_id:
        type: integer
      remaining_credits:
        type: string
      started_date:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
      unit_filters:
        description: PackageInfo      *PackageInfo    `json:"package_info"`
        items:
          $ref: '#/definitions/forms.UnitFilter'
        type: array
    type: object
  forms.BindedPackageInfoInput:
    properties:
      binded_billing_config_id:
        type: integer
      package_id:
        type: integer
    type: object
  forms.BindedSupportPlan:
    properties:
      active_date:
        type: string
      binded_support_plan_id:
        type: integer
      closed_date:
        type: string
      expired_date:
        type: string
      fixed_charge_price:
        type: string
      is_eligible_for_free_trial:
        type: boolean
      is_in_free_trial:
        type: boolean
      is_support_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
      tiered_price_rules:
        items:
          $ref: '#/definitions/forms.TieredPriceRule'
        type: array
      type:
        type: string
    type: object
  forms.BindedSupportPlanDetails:
    properties:
      binded_support_plans:
        items:
          $ref: '#/definitions/forms.BindedSupportPlan'
        type: array
      is_eligible_for_free_trial:
        type: boolean
    type: object
  forms.Budget:
    properties:
      biz_data:
        type: string
      biz_type:
        type: string
      cost_type:
        type: string
      costs:
        type: string
      has_serverless_free_credits:
        type: boolean
      interval:
        type: string
      limit:
        type: string
      meta:
        additionalProperties:
          type: string
        type: object
      name:
        type: string
      range_id:
        type: integer
      range_id_str:
        example: "0"
        type: string
      range_type:
        type: string
      spendlimit_setting_id:
        type: integer
      start_date:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
      thresholds:
        items:
          $ref: '#/definitions/forms.SpendLimitThreshold'
        type: array
    type: object
  forms.BudgetCostType:
    enum:
    - total
    - invoice
    type: string
    x-enum-varnames:
    - BudgetCostType_Total
    - BudgetCostType_Invoice
  forms.BudgetForOpenAPI:
    properties:
      applyCredits:
        description: Indicates whether to deduct credits when calculating cost. Only
          applicable when `costType` is set to `"total"`.
        type: boolean
      applyDiscounts:
        description: Indicates whether to deduct discounts when calculating cost.
          Only applicable when `costType` is set to `"total"`.
        type: boolean
      bizType:
        description: 'The business type of the budget. Note: You can only create `"budget_alert"`
          type budgets using the API.'
        type: string
      budgetId:
        description: A unique identifier for the budget.
        example: "0"
        type: string
      budgetInterval:
        allOf:
        - $ref: '#/definitions/forms.BudgetInterval'
        description: The interval for which the budget applies.
      cost:
        description: The current cost accrued against this budget.
        type: string
      costType:
        allOf:
        - $ref: '#/definitions/forms.BudgetCostType'
        description: |-
          The type of the budget cost.
          - `"total"`: the total cost
          - `"invoice"`: the bills you need pay
      enableEmailNotification:
        description: Indicates whether email notifications are enabled when the budget
          threshold is reached.
        type: boolean
      limit:
        description: The maximum amount set for this budget.
        type: string
      name:
        description: The name of the budget.
        type: string
      rangId:
        description: The ID of the entity to which this budget applies.
        example: "0"
        type: string
      rangeType:
        allOf:
        - $ref: '#/definitions/forms.BudgetRangeType'
        description: The type of entity to which this budget applies. You can specify
          an organization (tenant), a project, or a customer (only for partners).
          You cannot specify a cluster.
      thresholds:
        description: An array of threshold values for this budget. Must contain at
          least one and up to five thresholds.
        items:
          $ref: '#/definitions/forms.BudgetThreshold'
        type: array
    type: object
  forms.BudgetInterval:
    enum:
    - monthly
    type: string
    x-enum-varnames:
    - BudgetInterval_Monthly
  forms.BudgetRangeType:
    enum:
    - tenant
    - project
    - cluster
    - customer
    type: string
    x-enum-varnames:
    - BudgetRangeType_Tenant
    - BudgetRangeType_Project
    - BudgetRangeType_Cluster
    - BudgetRangeType_Customer
  forms.BudgetThreshold:
    properties:
      proportion:
        description: The budget threshold as a decimal value. For example, `"0.3"`
          means that when the cost reaches 30% of the limit, the specified action
          (such as email notification) will be triggered.
        example: "0.3"
        type: string
    type: object
  forms.CPPOBillingConfig:
    properties:
      discounts:
        items:
          $ref: '#/definitions/forms.Discount'
        type: array
      effective_date:
        type: string
      payment_code:
        type: string
      payment_sub_code:
        type: string
      reseller_id:
        example: "0"
        type: string
      support_plan:
        $ref: '#/definitions/forms.SupportPlanInput'
      tenant_id:
        example: "0"
        type: string
    type: object
  forms.CampaignListResponse:
    properties:
      campaigns:
        items:
          $ref: '#/definitions/forms.CampaignResponse'
        type: array
      remaining_all:
        type: string
      total_budget_all:
        type: string
      used_budget_all:
        type: string
    type: object
  forms.CampaignResponse:
    properties:
      created_at:
        type: string
      created_by:
        type: string
      id:
        type: integer
      is_website_campaign:
        type: boolean
      name:
        type: string
      note:
        type: string
      remaining_budget:
        type: string
      status:
        type: string
      total_budget:
        type: string
      used_budget:
        type: string
    type: object
  forms.Card:
    properties:
      brand:
        type: string
      country:
        type: string
      exp_month:
        example: "0"
        type: string
      exp_year:
        example: "0"
        type: string
      fingerprint:
        type: string
      funding:
        type: string
      last4:
        type: string
    type: object
  forms.CardValidateResult:
    properties:
      client_secret:
        type: string
      payment_intent_id:
        type: string
      public_key:
        type: string
      status:
        type: string
    type: object
  forms.CategoryCosts:
    properties:
      category_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.Price'
        type: object
      cost_price:
        type: string
      discount_price:
        type: string
      order:
        type: integer
      raw_price:
        type: string
      service_plan:
        type: string
      unit_costs:
        description: unused?
        items:
          $ref: '#/definitions/forms.UnitCosts'
        type: array
    type: object
  forms.CategoryItemCosts:
    properties:
      category_item_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryCosts'
        type: object
      cost_price:
        type: string
      discount_price:
        type: string
      order:
        type: integer
      raw_price:
        type: string
      unit_costs:
        items:
          $ref: '#/definitions/forms.UnitCosts'
        type: array
    type: object
  forms.CategoryItemShow:
    properties:
      category:
        type: string
      commodity_code:
        type: string
      edition_code:
        type: string
      label_key:
        type: string
      labels:
        additionalProperties:
          type: string
        type: object
      measure_unit:
        type: string
      order_map:
        additionalProperties:
          format: int32
          type: integer
        type: object
      parent_key:
        type: string
      show_category_name:
        type: string
      show_kind_name:
        type: string
      show_service_prefix:
        type: string
      use_cate_gory:
        type: boolean
    type: object
  forms.CategoryNode:
    properties:
      categories:
        items:
          type: string
        type: array
      category:
        type: string
      children:
        items:
          $ref: '#/definitions/forms.CategoryNode'
        type: array
      key:
        type: string
      name:
        type: string
      order:
        type: integer
      parent_key:
        type: string
    type: object
  forms.CloseAction:
    properties:
      action:
        type: string
      action_time_in_hour:
        type: integer
    type: object
  forms.CloseActionStatusInner:
    additionalProperties:
      type: string
    type: object
  forms.CloseActionsStatus:
    properties:
      status:
        $ref: '#/definitions/forms.CloseActionStatusInner'
    type: object
  forms.ClosePolicy:
    properties:
      actions:
        items:
          $ref: '#/definitions/forms.CloseAction'
        type: array
      cancel_action:
        $ref: '#/definitions/forms.CloseAction'
    type: object
  forms.Cluster:
    properties:
      cloud_provider_name:
        type: string
      deploy_type:
        type: integer
      id:
        example: "0"
        type: string
      infra_provider_type:
        type: string
      is_dev_tier:
        type: boolean
      name:
        type: string
      project_id:
        example: "0"
        type: string
      region_display_name:
        type: string
      region_name:
        type: string
      service_plan:
        type: string
      status:
        type: string
      tenant_id:
        example: "0"
        type: string
    type: object
  forms.ClusterOpenAPI:
    properties:
      ProjectID:
        example: "0"
        type: string
      id:
        example: "0"
        type: string
      name:
        type: string
      regionName:
        type: string
      status:
        type: string
    type: object
  forms.CommitmentInvoiceInput:
    properties:
      amount:
        type: string
      binded_billing_config_id:
        type: integer
      owner:
        type: string
      payment_code:
        type: string
      time:
        type: string
    type: object
  forms.Commodity:
    properties:
      ID:
        type: integer
      commodity_code:
        type: string
      commodity_show_name:
        type: string
      commodity_type:
        type: string
      created_at:
        type: string
      modifier_info:
        $ref: '#/definitions/forms.ModifierAndCreator'
      owner:
        type: string
      updated_at:
        type: string
    type: object
  forms.CommodityDimension:
    properties:
      ID:
        type: integer
      commodity_code:
        description: optional
        type: string
      created_at:
        type: string
      dimension_code:
        type: string
      dimension_show_name:
        type: string
      dimension_value:
        $ref: '#/definitions/forms.DimensionValue'
      is_charge:
        type: boolean
      is_share:
        type: boolean
      modifier_info:
        $ref: '#/definitions/forms.ModifierAndCreator'
      updated_at:
        type: string
    type: object
  forms.CommodityDimensionModify:
    properties:
      commodity_dimension:
        $ref: '#/definitions/forms.CommodityDimension'
      modifyID:
        type: integer
    type: object
  forms.CommodityDimensionQuery:
    properties:
      commodity_code:
        description: optional
        type: string
      dimension_code:
        description: optional
        type: string
      dimension_show_name:
        description: optional
        type: string
      query_type:
        description: optional
        type: string
    type: object
  forms.CommodityEdition:
    properties:
      ID:
        type: integer
      commodity_code:
        type: string
      created_at:
        type: string
      edition_code:
        type: string
      edition_dimension_value:
        $ref: '#/definitions/forms.EditionDimensionValue'
      edition_show_name:
        type: string
      modifier_info:
        $ref: '#/definitions/forms.ModifierAndCreator'
      updated_at:
        type: string
    type: object
  forms.CommodityEditionModify:
    properties:
      commodity_edition:
        $ref: '#/definitions/forms.CommodityEdition'
      modifyID:
        type: integer
    type: object
  forms.CommodityEditionQuery:
    properties:
      commodity_code:
        description: optional
        type: string
      edition_code:
        description: optional
        type: string
      edition_show_name:
        description: optional
        type: string
      query_type:
        description: optional
        type: string
    type: object
  forms.CommodityModify:
    properties:
      commodity:
        $ref: '#/definitions/forms.Commodity'
      modifyID:
        type: integer
    type: object
  forms.CommodityQuery:
    properties:
      commodity_code:
        description: optional
        type: string
      commodity_show_name:
        description: optional
        type: string
      owner:
        description: optional
        type: string
      query_type:
        description: optional
        type: string
    type: object
  forms.Contract:
    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
      operated_at:
        type: string
      reason_for_last_operation:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.ContractInput:
    properties:
      contact_email:
        type: string
      contract_id:
        type: string
      contract_type:
        type: string
      file_path:
        type: string
    required:
    - contact_email
    - file_path
    type: object
  forms.ContractsResponse:
    properties:
      contracts:
        items:
          $ref: '#/definitions/forms.Contract'
        type: array
      page:
        type: integer
      page_size:
        type: integer
      total_results:
        type: integer
    type: object
  forms.CostExploreTrendsInput:
    properties:
      breakdown_by:
        items:
          $ref: '#/definitions/forms.CostExplorerTrendsBreakdownKey'
        type: array
      clusters:
        items:
          type: string
        type: array
      consumed_source:
        type: string
      customers:
        items:
          type: string
        type: array
      end_date:
        type: string
      ignore_beta:
        type: boolean
      invoices:
        items:
          type: string
        type: array
      projects:
        items:
          type: string
        type: array
      providers:
        items:
          $ref: '#/definitions/forms.CostExplorerProvider'
        type: array
      services:
        items:
          $ref: '#/definitions/forms.CostExplorerService'
        type: array
      start_date:
        type: string
      time_group:
        $ref: '#/definitions/forms.CostExplorerTrendsTimeGroup'
    type: object
  forms.CostExploreTrendsOutput:
    properties:
      cost_price:
        type: string
      credits_usage:
        type: string
      discount:
        type: string
      elements:
        items:
          $ref: '#/definitions/forms.CostExploreTrendsOutputElement'
        type: array
      raw_price:
        type: string
    type: object
  forms.CostExploreTrendsOutputBreakdownDetail:
    properties:
      billing_date:
        type: string
      category:
        description: The service category name (second level).
        type: string
      cluster_id:
        example: "0"
        type: string
      cluster_name:
        type: string
      component:
        description: The service component name (third level).
        type: string
      cost_price:
        type: string
      credits_usage:
        type: string
      customer_id:
        type: string
      customer_name:
        type: string
      detail_key:
        type: string
      detail_name:
        type: string
      discount:
        type: string
      product:
        description: The service product name (first level).
        type: string
      project_id:
        example: "0"
        type: string
      project_name:
        type: string
      provider:
        type: string
      raw_price:
        type: string
      region:
        type: string
      service:
        description: The full service name, typically combining all levels.
        type: string
    type: object
  forms.CostExploreTrendsOutputElement:
    properties:
      billing_date:
        type: string
      breakdown:
        items:
          $ref: '#/definitions/forms.CostExploreTrendsOutputBreakdownDetail'
        type: array
      cost_price:
        type: string
      credits_usage:
        type: string
      discount:
        type: string
      prediction:
        type: boolean
      raw_price:
        type: string
    type: object
  forms.CostExplorerArgs:
    properties:
      clusters:
        items:
          $ref: '#/definitions/forms.Cluster'
        type: array
      products:
        items:
          type: string
        type: array
      projects:
        items:
          $ref: '#/definitions/forms.Project'
        type: array
      providers:
        items:
          $ref: '#/definitions/forms.Provider'
        type: array
      services:
        items:
          $ref: '#/definitions/forms.CostExplorerService'
        type: array
    type: object
  forms.CostExplorerDetailsResult:
    properties:
      details:
        items:
          $ref: '#/definitions/forms.UsageDetails'
        type: array
    type: object
  forms.CostExplorerInternalQuery:
    properties:
      end_date:
        type: string
      ignore_beta:
        type: boolean
      internal:
        type: boolean
      invoice_id:
        type: integer
      labels:
        additionalProperties:
          type: string
        type: object
      start_date:
        type: string
      units:
        items:
          type: string
        type: array
    type: object
  forms.CostExplorerOpenCostsMeta:
    properties:
      billing_config_id:
        example: "0"
        type: string
      fact_count:
        type: integer
      input_bundle_id:
        example: "0"
        type: string
      invoice_fact_count:
        type: integer
      legacy_row_count:
        type: integer
      matched_credit_items:
        items:
          $ref: '#/definitions/forms.CreditsPackage'
        type: array
      matched_credit_package_ids:
        type: string
      matched_credits:
        type: string
      matched_discount_ids:
        type: string
      matched_discount_items:
        items:
          $ref: '#/definitions/forms.Discount'
        type: array
      matched_discounts:
        type: string
      period_month:
        type: string
      source_mode:
        type: string
      source_run_id:
        example: "0"
        type: string
      tenant_id:
        example: "0"
        type: string
      window_end:
        type: string
      window_start:
        type: string
    type: object
  forms.CostExplorerOpenCostsResponse:
    properties:
      billsDetails:
        $ref: '#/definitions/forms.CostExplorerDetailsResult'
      meta:
        $ref: '#/definitions/forms.CostExplorerOpenCostsMeta'
      overview:
        allOf:
        - $ref: '#/definitions/forms.OpenCostsBillsOverview'
        description: The overall information for a bill in the specified organization.
      summaryByProject:
        allOf:
        - $ref: '#/definitions/forms.OpenCostsSummaryByProject'
        description: A breakdown of the bill by project.
      summaryByService:
        description: A breakdown of the bill by service.
        items:
          $ref: '#/definitions/forms.OpenCostsBillsServiceCosts'
        type: array
    type: object
  forms.CostExplorerProvider:
    properties:
      name:
        description: The name of the cloud provider to include in the query.
        type: string
      regions:
        description: A list of region names to include in the query.
        items:
          type: string
        type: array
    type: object
  forms.CostExplorerQuery:
    properties:
      end_date:
        type: string
      invoice_id:
        type: integer
      start_date:
        type: string
    type: object
  forms.CostExplorerQueryV2:
    properties:
      binded_package_ids:
        items:
          type: integer
        type: array
      end_date:
        type: string
      ignore_beta:
        type: boolean
      ignore_invoice_id:
        type: boolean
      invoice_id:
        type: integer
      labels:
        additionalProperties:
          type: string
        type: object
      start_date:
        type: string
      units:
        items:
          type: string
        type: array
    type: object
  forms.CostExplorerResult:
    properties:
      binded_invoice_costs:
        $ref: '#/definitions/forms.Costs'
      credits_costs:
        $ref: '#/definitions/forms.Costs'
      invoice_costs:
        $ref: '#/definitions/forms.Costs'
      total_costs:
        $ref: '#/definitions/forms.Costs'
      unbind_invoice_costs:
        $ref: '#/definitions/forms.Costs'
    type: object
  forms.CostExplorerService:
    properties:
      category:
        description: The service category name (second level).
        type: string
      component:
        description: The service component name (third level).
        type: string
      product:
        description: The service product name (first level).
        type: string
      service:
        description: The full service name, typically combining all levels.
        type: string
    type: object
  forms.CostExplorerTrendsBreakdownKey:
    enum:
    - service
    - product
    - project
    - cluster
    - provider
    - region
    - customer
    type: string
    x-enum-varnames:
    - CostExploreTrendsBreakdownKeyService
    - CostExploreTrendsBreakdownKeyProduct
    - CostExploreTrendsBreakdownKeyProject
    - CostExploreTrendsBreakdownKeyCluster
    - CostExploreTrendsBreakdownKeyProvider
    - CostExploreTrendsBreakdownKeyRegion
    - CostExploreTrendsBreakdownKeyCustomer
  forms.CostExplorerTrendsTimeGroup:
    enum:
    - day
    - month
    - total
    type: string
    x-enum-varnames:
    - CostExploreTrendsTimeGroupDay
    - CostExploreTrendsTimeGroupMonth
    - CostExploreTrendsTimeGroupTotal
  forms.CostQuota:
    properties:
      cost_quota_limit:
        type: string
    type: object
  forms.Costs:
    properties:
      category_item_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryCosts'
        type: object
      category_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.Price'
        type: object
      category_use_item:
        type: boolean
      cost_price:
        type: string
      discount_price:
        type: string
      kind_category_units_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryItemCosts'
        type: object
      label_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.LabelCosts'
        type: object
      order:
        type: integer
      raw_price:
        type: string
      service_plan:
        type: string
      unit_costs:
        description: unused?
        items:
          $ref: '#/definitions/forms.UnitCosts'
        type: array
    type: object
  forms.CreateCampaignReq:
    properties:
      is_website_campaign:
        type: boolean
      name:
        type: string
      note:
        type: string
      total_budget:
        type: string
    required:
    - name
    - total_budget
    type: object
  forms.CreateCreditsPackageReq:
    properties:
      bind_types:
        items:
          $ref: '#/definitions/forms.UnitFilterSlim'
        type: array
      clusters:
        items:
          type: string
        type: array
      customers:
        items:
          type: string
        type: array
      discount_enabled:
        type: boolean
      expired_date:
        type: string
      foreign_id:
        type: string
      note:
        type: string
      projects:
        items:
          type: string
        type: array
      provider:
        $ref: '#/definitions/forms.ProviderEnum'
      start_date:
        type: string
      total_credits:
        type: string
      type:
        type: string
      unit_filters:
        items:
          $ref: '#/definitions/forms.UnitFilterSlim'
        type: array
      usage:
        type: string
      usage_extend:
        type: string
      user_email:
        type: string
    type: object
  forms.CreateInvoiceReq:
    properties:
      start_date:
        type: string
      type:
        type: string
    type: object
  forms.CreditRiskLevel:
    properties:
      cost_quota:
        $ref: '#/definitions/forms.CostQuota'
      credit_risk_level_id:
        type: integer
      credit_risk_level_name:
        type: string
    type: object
  forms.CreditRiskLevelIDInput:
    properties:
      credit_risk_level_id:
        type: integer
    type: object
  forms.CreditRiskLevelInput:
    properties:
      credit_risk_level_name:
        type: string
    type: object
  forms.CreditsChargeHistory:
    properties:
      binded_package_id:
        type: integer
      history:
        items:
          $ref: '#/definitions/forms.CreditsChargeInfo'
        type: array
      total_amounts:
        type: string
    type: object
  forms.CreditsChargeInfo:
    properties:
      binded_package_id:
        type: integer
      charge_count:
        type: string
      charge_reason:
        type: string
      charge_time:
        type: string
      charger_tenant_id:
        type: integer
      charger_user_id:
        type: integer
    type: object
  forms.CreditsChargeInfoInput:
    properties:
      charge_count:
        type: string
      charge_reason:
        type: string
      charger_tenant_id:
        type: integer
      charger_user_id:
        type: integer
    type: object
  forms.CreditsForOpenAPI:
    properties:
      credit:
        description: The total amount of credit.
        example: "1000.00"
        type: string
      creditCode:
        description: A unique identifier for the credit.
        example: 498c7f44-656f-4944-b455-0695faa5d4f9
        type: string
      customers:
        description: The credits can only apply on the costs from the specific customers,
          `empty` means no restrictions
        items:
          type: string
        type: array
      expiryDate:
        description: 'The expiration date of the credit. The time format follows the
          [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. For example:
          `"2023-11-01T00:00:00Z"`.'
        example: "2023-12-01T00:00:00Z"
        type: string
      provider:
        allOf:
        - $ref: '#/definitions/forms.ProviderEnum'
        description: The credits can only apply on the costs from the specific provider,
          `all` means no restrictions
        example: all
      remainingCredit:
        description: The remaining amount of the credit.
        example: "1000.00"
        type: string
      services:
        description: The service to which the credit is applicable.
        example: General Product
        type: string
      startDate:
        description: 'The effective start date of the credit. The time format follows
          the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. For example:
          `"2023-11-01T00:00:00Z"`.'
        example: "2023-11-01T00:00:00Z"
        type: string
      status:
        allOf:
        - $ref: '#/definitions/forms.CreditsState'
        description: The current status of the credit.
        example: active
    type: object
  forms.CreditsPackage:
    properties:
      bind_types:
        items:
          $ref: '#/definitions/forms.UnitFilterSlim'
        type: array
      binded_billing_config_id:
        type: integer
      binded_package_id:
        type: integer
      closed_date:
        type: string
      closed_reason:
        type: string
      clusters:
        items:
          type: string
        type: array
      credits_code:
        type: string
      credits_package_id:
        type: integer
      customers:
        items:
          type: string
        type: array
      discount_enabled:
        type: boolean
      expired_date:
        type: string
      foreign_id:
        type: string
      internal:
        type: boolean
      note:
        type: string
      projects:
        items:
          type: string
        type: array
      provider:
        $ref: '#/definitions/forms.ProviderEnum'
      remaining_credits:
        type: string
      start_date:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
      total_credits:
        type: string
      type:
        type: string
      unit_filters:
        items:
          $ref: '#/definitions/forms.UnitFilterSlim'
        type: array
      usage:
        type: string
      usage_extend:
        type: string
      user_email:
        type: string
    type: object
  forms.CreditsState:
    enum:
    - active
    - inactive
    - before_active
    type: string
    x-enum-varnames:
    - CreditsState_Active
    - CreditsState_Inactive
    - CreditsState_BeforeActive
  forms.CreditsSummary:
    properties:
      active_credits_packages_count:
        type: integer
      active_poc_credits_packages_count:
        type: integer
      available_costed_credits:
        type: string
      available_costed_poc_credits:
        type: string
      available_credits:
        type: string
      available_poc_credits:
        type: string
      available_remaining_credits:
        type: string
      available_remaining_poc_credits:
        type: string
      last_credits_closed_date:
        type: string
      tenant_id:
        type: integer
      total_costed_credits:
        type: string
      total_credits:
        type: string
    type: object
  forms.Currency:
    enum:
    - aed
    - afn
    - all
    - amd
    - ang
    - aoa
    - ars
    - aud
    - awg
    - azn
    - bam
    - bbd
    - bdt
    - bgn
    - bif
    - bmd
    - bnd
    - bob
    - brl
    - bsd
    - bwp
    - bzd
    - cad
    - cdf
    - chf
    - clp
    - cny
    - cop
    - crc
    - cve
    - czk
    - djf
    - dkk
    - dop
    - dzd
    - eek
    - egp
    - etb
    - eur
    - fjd
    - fkp
    - gbp
    - gel
    - gip
    - gmd
    - gnf
    - gtq
    - gyd
    - hkd
    - hnl
    - hrk
    - htg
    - huf
    - idr
    - ils
    - inr
    - isk
    - jmd
    - jpy
    - kes
    - kgs
    - khr
    - kmf
    - krw
    - kyd
    - kzt
    - lak
    - lbp
    - lkr
    - lrd
    - lsl
    - ltl
    - lvl
    - mad
    - mdl
    - mga
    - mkd
    - mnt
    - mop
    - mro
    - mur
    - mvr
    - mwk
    - mxn
    - myr
    - mzn
    - nad
    - ngn
    - nio
    - nok
    - npr
    - nzd
    - pab
    - pen
    - pgk
    - php
    - pkr
    - pln
    - pyg
    - qar
    - ron
    - rsd
    - rub
    - rwf
    - sar
    - sbd
    - scr
    - sek
    - sgd
    - shp
    - sll
    - sos
    - srd
    - std
    - svc
    - szl
    - thb
    - tjs
    - top
    - try
    - ttd
    - twd
    - tzs
    - uah
    - ugx
    - usd
    - uyu
    - uzs
    - vef
    - vnd
    - vuv
    - wst
    - xaf
    - xcd
    - xof
    - xpf
    - yer
    - zar
    - zmw
    type: string
    x-enum-comments:
      CurrencyAED: United Arab Emirates Dirham
      CurrencyAFN: Afghan Afghani
      CurrencyALL: Albanian Lek
      CurrencyAMD: Armenian Dram
      CurrencyANG: Netherlands Antillean Gulden
      CurrencyAOA: Angolan Kwanza
      CurrencyARS: Argentine Peso
      CurrencyAUD: Australian Dollar
      CurrencyAWG: Aruban Florin
      CurrencyAZN: Azerbaijani Manat
      CurrencyBAM: Bosnia & Herzegovina Convertible Mark
      CurrencyBBD: Barbadian Dollar
      CurrencyBDT: Bangladeshi Taka
      CurrencyBGN: Bulgarian Lev
      CurrencyBIF: Burundian Franc
      CurrencyBMD: Bermudian Dollar
      CurrencyBND: Brunei Dollar
      CurrencyBOB: Bolivian Boliviano
      CurrencyBRL: Brazilian Real
      CurrencyBSD: Bahamian Dollar
      CurrencyBWP: Botswana Pula
      CurrencyBZD: Belize Dollar
      CurrencyCAD: Canadian Dollar
      CurrencyCDF: Congolese Franc
      CurrencyCHF: Swiss Franc
      CurrencyCLP: Chilean Peso
      CurrencyCNY: Chinese Renminbi Yuan
      CurrencyCOP: Colombian Peso
      CurrencyCRC: Costa Rican Colón
      CurrencyCVE: Cape Verdean Escudo
      CurrencyCZK: Czech Koruna
      CurrencyDJF: Djiboutian Franc
      CurrencyDKK: Danish Krone
      CurrencyDOP: Dominican Peso
      CurrencyDZD: Algerian Dinar
      CurrencyEEK: Estonian Kroon
      CurrencyEGP: Egyptian Pound
      CurrencyETB: Ethiopian Birr
      CurrencyEUR: Euro
      CurrencyFJD: Fijian Dollar
      CurrencyFKP: Falkland Islands Pound
      CurrencyGBP: British Pound
      CurrencyGEL: Georgian Lari
      CurrencyGIP: Gibraltar Pound
      CurrencyGMD: Gambian Dalasi
      CurrencyGNF: Guinean Franc
      CurrencyGTQ: Guatemalan Quetzal
      CurrencyGYD: Guyanese Dollar
      CurrencyHKD: Hong Kong Dollar
      CurrencyHNL: Honduran Lempira
      CurrencyHRK: Croatian Kuna
      CurrencyHTG: Haitian Gourde
      CurrencyHUF: Hungarian Forint
      CurrencyIDR: Indonesian Rupiah
      CurrencyILS: Israeli New Sheqel
      CurrencyINR: Indian Rupee
      CurrencyISK: Icelandic Króna
      CurrencyJMD: Jamaican Dollar
      CurrencyJPY: Japanese Yen
      CurrencyKES: Kenyan Shilling
      CurrencyKGS: Kyrgyzstani Som
      CurrencyKHR: Cambodian Riel
      CurrencyKMF: Comorian Franc
      CurrencyKRW: South Korean Won
      CurrencyKYD: Cayman Islands Dollar
      CurrencyKZT: Kazakhstani Tenge
      CurrencyLAK: Lao Kip
      CurrencyLBP: Lebanese Pound
      CurrencyLKR: Sri Lankan Rupee
      CurrencyLRD: Liberian Dollar
      CurrencyLSL: Lesotho Loti
      CurrencyLTL: Lithuanian Litas
      CurrencyLVL: Latvian Lats
      CurrencyMAD: Moroccan Dirham
      CurrencyMDL: Moldovan Leu
      CurrencyMGA: Malagasy Ariary
      CurrencyMKD: Macedonian Denar
      CurrencyMNT: Mongolian Tögrög
      CurrencyMOP: Macanese Pataca
      CurrencyMRO: Mauritanian Ouguiya
      CurrencyMUR: Mauritian Rupee
      CurrencyMVR: Maldivian Rufiyaa
      CurrencyMWK: Malawian Kwacha
      CurrencyMXN: Mexican Peso
      CurrencyMYR: Malaysian Ringgit
      CurrencyMZN: Mozambican Metical
      CurrencyNAD: Namibian Dollar
      CurrencyNGN: Nigerian Naira
      CurrencyNIO: Nicaraguan Córdoba
      CurrencyNOK: Norwegian Krone
      CurrencyNPR: Nepalese Rupee
      CurrencyNZD: New Zealand Dollar
      CurrencyPAB: Panamanian Balboa
      CurrencyPEN: Peruvian Nuevo Sol
      CurrencyPGK: Papua New Guinean Kina
      CurrencyPHP: Philippine Peso
      CurrencyPKR: Pakistani Rupee
      CurrencyPLN: Polish Złoty
      CurrencyPYG: Paraguayan Guaraní
      CurrencyQAR: Qatari Riyal
      CurrencyRON: Romanian Leu
      CurrencyRSD: Serbian Dinar
      CurrencyRUB: Russian Ruble
      CurrencyRWF: Rwandan Franc
      CurrencySAR: Saudi Riyal
      CurrencySBD: Solomon Islands Dollar
      CurrencySCR: Seychellois Rupee
      CurrencySEK: Swedish Krona
      CurrencySGD: Singapore Dollar
      CurrencySHP: Saint Helenian Pound
      CurrencySLL: Sierra Leonean Leone
      CurrencySOS: Somali Shilling
      CurrencySRD: Surinamese Dollar
      CurrencySTD: São Tomé and Príncipe Dobra
      CurrencySVC: Salvadoran Colón
      CurrencySZL: Swazi Lilangeni
      CurrencyTHB: Thai Baht
      CurrencyTJS: Tajikistani Somoni
      CurrencyTOP: Tongan Paʻanga
      CurrencyTRY: Turkish Lira
      CurrencyTTD: Trinidad and Tobago Dollar
      CurrencyTWD: New Taiwan Dollar
      CurrencyTZS: Tanzanian Shilling
      CurrencyUAH: Ukrainian Hryvnia
      CurrencyUGX: Ugandan Shilling
      CurrencyUSD: United States Dollar
      CurrencyUYU: Uruguayan Peso
      CurrencyUZS: Uzbekistani Som
      CurrencyVEF: Venezuelan Bolívar
      CurrencyVND: Vietnamese Đồng
      CurrencyVUV: Vanuatu Vatu
      CurrencyWST: Samoan Tala
      CurrencyXAF: Central African Cfa Franc
      CurrencyXCD: East Caribbean Dollar
      CurrencyXOF: West African Cfa Franc
      CurrencyXPF: Cfp Franc
      CurrencyYER: Yemeni Rial
      CurrencyZAR: South African Rand
      CurrencyZMW: Zambian Kwacha
    x-enum-descriptions:
    - United Arab Emirates Dirham
    - Afghan Afghani
    - Albanian Lek
    - Armenian Dram
    - Netherlands Antillean Gulden
    - Angolan Kwanza
    - Argentine Peso
    - Australian Dollar
    - Aruban Florin
    - Azerbaijani Manat
    - Bosnia & Herzegovina Convertible Mark
    - Barbadian Dollar
    - Bangladeshi Taka
    - Bulgarian Lev
    - Burundian Franc
    - Bermudian Dollar
    - Brunei Dollar
    - Bolivian Boliviano
    - Brazilian Real
    - Bahamian Dollar
    - Botswana Pula
    - Belize Dollar
    - Canadian Dollar
    - Congolese Franc
    - Swiss Franc
    - Chilean Peso
    - Chinese Renminbi Yuan
    - Colombian Peso
    - Costa Rican Colón
    - Cape Verdean Escudo
    - Czech Koruna
    - Djiboutian Franc
    - Danish Krone
    - Dominican Peso
    - Algerian Dinar
    - Estonian Kroon
    - Egyptian Pound
    - Ethiopian Birr
    - Euro
    - Fijian Dollar
    - Falkland Islands Pound
    - British Pound
    - Georgian Lari
    - Gibraltar Pound
    - Gambian Dalasi
    - Guinean Franc
    - Guatemalan Quetzal
    - Guyanese Dollar
    - Hong Kong Dollar
    - Honduran Lempira
    - Croatian Kuna
    - Haitian Gourde
    - Hungarian Forint
    - Indonesian Rupiah
    - Israeli New Sheqel
    - Indian Rupee
    - Icelandic Króna
    - Jamaican Dollar
    - Japanese Yen
    - Kenyan Shilling
    - Kyrgyzstani Som
    - Cambodian Riel
    - Comorian Franc
    - South Korean Won
    - Cayman Islands Dollar
    - Kazakhstani Tenge
    - Lao Kip
    - Lebanese Pound
    - Sri Lankan Rupee
    - Liberian Dollar
    - Lesotho Loti
    - Lithuanian Litas
    - Latvian Lats
    - Moroccan Dirham
    - Moldovan Leu
    - Malagasy Ariary
    - Macedonian Denar
    - Mongolian Tögrög
    - Macanese Pataca
    - Mauritanian Ouguiya
    - Mauritian Rupee
    - Maldivian Rufiyaa
    - Malawian Kwacha
    - Mexican Peso
    - Malaysian Ringgit
    - Mozambican Metical
    - Namibian Dollar
    - Nigerian Naira
    - Nicaraguan Córdoba
    - Norwegian Krone
    - Nepalese Rupee
    - New Zealand Dollar
    - Panamanian Balboa
    - Peruvian Nuevo Sol
    - Papua New Guinean Kina
    - Philippine Peso
    - Pakistani Rupee
    - Polish Złoty
    - Paraguayan Guaraní
    - Qatari Riyal
    - Romanian Leu
    - Serbian Dinar
    - Russian Ruble
    - Rwandan Franc
    - Saudi Riyal
    - Solomon Islands Dollar
    - Seychellois Rupee
    - Swedish Krona
    - Singapore Dollar
    - Saint Helenian Pound
    - Sierra Leonean Leone
    - Somali Shilling
    - Surinamese Dollar
    - São Tomé and Príncipe Dobra
    - Salvadoran Colón
    - Swazi Lilangeni
    - Thai Baht
    - Tajikistani Somoni
    - Tongan Paʻanga
    - Turkish Lira
    - Trinidad and Tobago Dollar
    - New Taiwan Dollar
    - Tanzanian Shilling
    - Ukrainian Hryvnia
    - Ugandan Shilling
    - United States Dollar
    - Uruguayan Peso
    - Uzbekistani Som
    - Venezuelan Bolívar
    - Vietnamese Đồng
    - Vanuatu Vatu
    - Samoan Tala
    - Central African Cfa Franc
    - East Caribbean Dollar
    - West African Cfa Franc
    - Cfp Franc
    - Yemeni Rial
    - South African Rand
    - Zambian Kwacha
    x-enum-varnames:
    - CurrencyAED
    - CurrencyAFN
    - CurrencyALL
    - CurrencyAMD
    - CurrencyANG
    - CurrencyAOA
    - CurrencyARS
    - CurrencyAUD
    - CurrencyAWG
    - CurrencyAZN
    - CurrencyBAM
    - CurrencyBBD
    - CurrencyBDT
    - CurrencyBGN
    - CurrencyBIF
    - CurrencyBMD
    - CurrencyBND
    - CurrencyBOB
    - CurrencyBRL
    - CurrencyBSD
    - CurrencyBWP
    - CurrencyBZD
    - CurrencyCAD
    - CurrencyCDF
    - CurrencyCHF
    - CurrencyCLP
    - CurrencyCNY
    - CurrencyCOP
    - CurrencyCRC
    - CurrencyCVE
    - CurrencyCZK
    - CurrencyDJF
    - CurrencyDKK
    - CurrencyDOP
    - CurrencyDZD
    - CurrencyEEK
    - CurrencyEGP
    - CurrencyETB
    - CurrencyEUR
    - CurrencyFJD
    - CurrencyFKP
    - CurrencyGBP
    - CurrencyGEL
    - CurrencyGIP
    - CurrencyGMD
    - CurrencyGNF
    - CurrencyGTQ
    - CurrencyGYD
    - CurrencyHKD
    - CurrencyHNL
    - CurrencyHRK
    - CurrencyHTG
    - CurrencyHUF
    - CurrencyIDR
    - CurrencyILS
    - CurrencyINR
    - CurrencyISK
    - CurrencyJMD
    - CurrencyJPY
    - CurrencyKES
    - CurrencyKGS
    - CurrencyKHR
    - CurrencyKMF
    - CurrencyKRW
    - CurrencyKYD
    - CurrencyKZT
    - CurrencyLAK
    - CurrencyLBP
    - CurrencyLKR
    - CurrencyLRD
    - CurrencyLSL
    - CurrencyLTL
    - CurrencyLVL
    - CurrencyMAD
    - CurrencyMDL
    - CurrencyMGA
    - CurrencyMKD
    - CurrencyMNT
    - CurrencyMOP
    - CurrencyMRO
    - CurrencyMUR
    - CurrencyMVR
    - CurrencyMWK
    - CurrencyMXN
    - CurrencyMYR
    - CurrencyMZN
    - CurrencyNAD
    - CurrencyNGN
    - CurrencyNIO
    - CurrencyNOK
    - CurrencyNPR
    - CurrencyNZD
    - CurrencyPAB
    - CurrencyPEN
    - CurrencyPGK
    - CurrencyPHP
    - CurrencyPKR
    - CurrencyPLN
    - CurrencyPYG
    - CurrencyQAR
    - CurrencyRON
    - CurrencyRSD
    - CurrencyRUB
    - CurrencyRWF
    - CurrencySAR
    - CurrencySBD
    - CurrencySCR
    - CurrencySEK
    - CurrencySGD
    - CurrencySHP
    - CurrencySLL
    - CurrencySOS
    - CurrencySRD
    - CurrencySTD
    - CurrencySVC
    - CurrencySZL
    - CurrencyTHB
    - CurrencyTJS
    - CurrencyTOP
    - CurrencyTRY
    - CurrencyTTD
    - CurrencyTWD
    - CurrencyTZS
    - CurrencyUAH
    - CurrencyUGX
    - CurrencyUSD
    - CurrencyUYU
    - CurrencyUZS
    - CurrencyVEF
    - CurrencyVND
    - CurrencyVUV
    - CurrencyWST
    - CurrencyXAF
    - CurrencyXCD
    - CurrencyXOF
    - CurrencyXPF
    - CurrencyYER
    - CurrencyZAR
    - CurrencyZMW
  forms.Customer:
    properties:
      id:
        description: The unique identifier for the customer.
        type: string
      name:
        description: The name of the customer.
        example: PingCAP
        type: string
    type: object
  forms.CustomerBills:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      customerName:
        description: The name of the customer.
        example: PingCAP
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.DataAPIUsageExplore:
    properties:
      month:
        type: integer
      network_usage:
        type: integer
      request_count:
        type: integer
      tenant_id:
        type: integer
    type: object
  forms.DimensionValue:
    additionalProperties:
      type: string
    type: object
  forms.DimensionValueParameters:
    additionalProperties:
      $ref: '#/definitions/forms.DimensionValue'
    type: object
  forms.Discount:
    properties:
      binded_billing_config_id:
        type: integer
      closed_at:
        type: string
      clusters:
        items:
          type: string
        type: array
      customers:
        items:
          type: string
        type: array
      description:
        type: string
      discount:
        type: string
      discount_code:
        type: string
      discount_id:
        type: integer
      discount_sid:
        type: string
      expired_at:
        type: string
      note:
        type: string
      projects:
        items:
          type: string
        type: array
      provider:
        $ref: '#/definitions/forms.ProviderEnum'
      started_at:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
      unit_filters:
        items:
          $ref: '#/definitions/forms.UnitFilterSlim'
        type: array
      usage:
        type: string
    type: object
  forms.DiscountForOpenAPI:
    properties:
      customers:
        description: The discount can only apply on the costs from the specific customers,
          `empty` means no restrictions
        items:
          type: string
        type: array
      description:
        description: The description of the discount.
        type: string
      discountCode:
        description: The unique code for the discount.
        example: 498c7f44-656f-4944-b455-0695faa5d4f9
        type: string
      expiryDate:
        description: 'The expiration date of the discount. The time format follows
          the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. For example:
          `"2023-12-01T00:00:00Z".'
        example: "2023-12-01T00:00:00Z"
        type: string
      percentageDiscount:
        description: The percentage deducted from the original price. For example,
          a 20% discount on a $100 item would result in a discounted price of $80.
        example: 20%
        type: string
      provider:
        allOf:
        - $ref: '#/definitions/forms.ProviderEnum'
        description: The discount can only apply on the costs from the specific provider,
          `all` means no restrictions
        example: all
      services:
        description: The services to which the discount is applicable.
        example: Node Compute, Changefeed,
        type: string
      startDate:
        description: 'The effective start date of the discount. The time format follows
          the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. For example:
          `"2023-12-01T00:00:00Z"`.'
        example: "2023-11-01T00:00:00Z"
        type: string
      status:
        allOf:
        - $ref: '#/definitions/forms.DiscountState'
        description: The current status of the discount.
        example: valid
    type: object
  forms.DiscountInfo:
    properties:
      discount:
        type: string
    type: object
  forms.DiscountState:
    enum:
    - valid
    - expired
    - reclaimed
    - invalid
    type: string
    x-enum-varnames:
    - DiscountState_Valid
    - DiscountState_Expired
    - DiscountState_Reclaimed
    - DiscountState_Invalid
  forms.EditionDimensionValue:
    additionalProperties:
      $ref: '#/definitions/forms.DimensionValueParameters'
    type: object
  forms.ExpressionLabel:
    properties:
      label:
        type: string
      operator:
        type: string
      value:
        type: string
    type: object
  forms.Groups:
    properties:
      groupBy:
        description: |-
          Specifies categories for grouping query results. Value options are:
          - "service": Group query results by service type
          - "product": Group query results by product type (TiDB Dedicated, TiDB Serverless, or Support Plan)
          - "project": Group query results by project IDs
          - "cluster": Group query results by cluster IDs
          - "provider": Group query results by cloud provider
          - "region": Group query results by cloud provider region
        items:
          $ref: '#/definitions/forms.CostExplorerTrendsBreakdownKey'
        type: array
      timeGranularity:
        allOf:
        - $ref: '#/definitions/forms.CostExplorerTrendsTimeGroup'
        description: |-
          Determines the time-based organization of query results. Value options are:
          - "day": Query results are organized daily
          - "month": Query results are organized monthly
          - "total": Query results are organized as a single total
    type: object
  forms.Invoice:
    properties:
      binded_billing_config_id:
        example: "0"
        type: string
      brief:
        type: boolean
      category_item_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryCosts'
        type: object
      category_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.Price'
        type: object
      category_use_item:
        type: boolean
      charge_mode:
        description: ChargeMode is the charge behavior chosen at push time, "auto"
          or "manual".
        type: string
      cost_price:
        type: string
      discount_price:
        type: string
      end_date:
        type: string
      invoice_id:
        example: "0"
        type: string
      kind_category_units_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryItemCosts'
        type: object
      label_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.LabelCosts'
        type: object
      order:
        type: integer
      parent_invoice_id:
        type: integer
      payment_code:
        type: string
      payment_type:
        type: string
      raw_price:
        type: string
      service_plan:
        type: string
      start_date:
        type: string
      status:
        type: string
      stripe_invoice_id:
        description: StripeInvoiceID is populated after the invoice has been pushed
          to Stripe.
        type: string
      tax_rate:
        $ref: '#/definitions/forms.TaxRate'
      tenant_id:
        example: "0"
        type: string
      type:
        type: string
      unit_costs:
        description: unused?
        items:
          $ref: '#/definitions/forms.UnitCosts'
        type: array
    type: object
  forms.InvoiceAppliedFXRate:
    properties:
      base:
        $ref: '#/definitions/forms.Currency'
      date:
        type: string
      target:
        $ref: '#/definitions/forms.Currency'
      value:
        type: string
    type: object
  forms.InvoiceForOpsList:
    properties:
      binded_billing_config_id:
        example: "0"
        type: string
      brief:
        type: boolean
      category_item_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryCosts'
        type: object
      category_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.Price'
        type: object
      category_use_item:
        type: boolean
      charge_mode:
        description: ChargeMode is the charge behavior chosen at push time, "auto"
          or "manual".
        type: string
      cost_price:
        type: string
      discount_price:
        type: string
      end_date:
        type: string
      from:
        type: string
      invoice_id:
        example: "0"
        type: string
      kind_category_units_costs:
        additionalProperties:
          $ref: '#/definitions/forms.CategoryItemCosts'
        type: object
      label_unit_costs:
        additionalProperties:
          $ref: '#/definitions/forms.LabelCosts'
        type: object
      order:
        type: integer
      parent_invoice_id:
        type: integer
      payment_code:
        type: string
      payment_type:
        type: string
      raw_price:
        type: string
      service_plan:
        type: string
      start_date:
        type: string
      status:
        type: string
      stripe_invoice_id:
        description: StripeInvoiceID is populated after the invoice has been pushed
          to Stripe.
        type: string
      tax_rate:
        $ref: '#/definitions/forms.TaxRate'
      tenant_id:
        example: "0"
        type: string
      tenant_name:
        type: string
      to:
        type: string
      type:
        type: string
      unit_costs:
        description: unused?
        items:
          $ref: '#/definitions/forms.UnitCosts'
        type: array
    type: object
  forms.LabelCosts:
    additionalProperties:
      $ref: '#/definitions/forms.CategoryCosts'
    type: object
  forms.MCPOBillingConfig:
    properties:
      discounts:
        items:
          $ref: '#/definitions/forms.Discount'
        type: array
      effective_date:
        type: string
      payment_code:
        type: string
      reseller_id:
        example: "0"
        type: string
      support_plan:
        $ref: '#/definitions/forms.SupportPlanInput'
      tenant_id:
        example: "0"
        type: string
    type: object
  forms.ModifierAndCreator:
    properties:
      creator:
        type: string
      describe:
        description: optional
        type: string
      modifier:
        type: string
    type: object
  forms.MonthlycostExplorerResult:
    properties:
      binded_invoice_costs:
        $ref: '#/definitions/forms.Costs'
      credits_costs:
        $ref: '#/definitions/forms.Costs'
      invoice_costs:
        $ref: '#/definitions/forms.Costs'
      invoice_generated:
        type: boolean
      total_costs:
        $ref: '#/definitions/forms.Costs'
      unbind_invoice_costs:
        $ref: '#/definitions/forms.Costs'
    type: object
  forms.MspBills:
    properties:
      overview:
        allOf:
        - $ref: '#/definitions/forms.BillsOverview'
        description: The overall information for a bill in the specified organization.
      summaryByCustomer:
        description: Month of bills happens to a specific MSP.
        items:
          $ref: '#/definitions/forms.SummaryByCustomer'
        type: array
      summaryByService:
        description: A breakdown of the bill by service.
        items:
          $ref: '#/definitions/forms.BillsServiceCosts'
        type: array
    type: object
  forms.MspCredit:
    properties:
      credit:
        description: The total amount of credit.
        example: "1000.00"
        type: string
      creditCode:
        description: The code of a credit.
        example: 498c7f44-656f-4944-b455-0695faa5d4f9
        type: string
      expiryDate:
        description: Expired date of a credit.
        example: "2023-12-01T00:00:00Z"
        type: string
      remainingCredit:
        description: The remaining amount of a credit.
        example: "1000.00"
        type: string
      services:
        description: The service to which a credit is applicable.
        example: General Product
        type: string
      startDate:
        description: Effective start date of a credit.
        example: "2023-11-01T00:00:00Z"
        type: string
      status:
        description: The status of a credit.
        example: active
        type: string
    type: object
  forms.MspDiscount:
    properties:
      description:
        description: The description of a discount.
        type: string
      discountCode:
        description: The code of a discount.
        example: 498c7f44-656f-4944-b455-0695faa5d4f9
        type: string
      expiryDate:
        description: Expired date of a credit.
        example: "2023-12-01T00:00:00Z"
        type: string
      percentageDiscount:
        description: The percentage is deducted from the original price. For example,
          a 20% discount on a $100 item would result in a discounted price of $80.
        example: 20%
        type: string
      services:
        description: The service to which a discount is applicable.
        example: Node Compute, Changefeed,
        type: string
      startDate:
        description: Effective start date of a credit.
        example: "2023-11-01T00:00:00Z"
        type: string
      status:
        description: The status of a discount.
        example: valid
        type: string
    type: object
  forms.Notification:
    properties:
      in_app_content:
        type: string
      is_read:
        type: boolean
      mark_as_id:
        type: string
      notification_group:
        type: string
      notification_id:
        type: string
      send_at:
        type: string
      send_by:
        type: string
      status:
        type: string
      subject:
        type: string
      subscriber_id:
        type: string
      transaction_id:
        type: string
      worker_flow_name:
        type: string
    type: object
  forms.Notifications:
    properties:
      count:
        type: integer
      data:
        items:
          $ref: '#/definitions/forms.Notification'
        type: array
      has_more:
        type: boolean
      page_query:
        $ref: '#/definitions/forms.PageQuery'
    type: object
  forms.NotificationsSummary:
    properties:
      channels:
        items:
          type: string
        type: array
      count:
        type: integer
      date:
        type: string
    type: object
  forms.OKType:
    properties:
      status:
        example: ok
        type: string
    type: object
  forms.OpenCostsBillsOtherName:
    properties:
      chargeName:
        example: Support Plan
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      roundingAdjustment:
        description: The display adjustment caused by splitting and merging credits/discounts
          at different rounding boundaries.
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits` - `roundingAdjustment`.
        example: "0.00"
        type: string
    type: object
  forms.OpenCostsBillsOverview:
    properties:
      billedMonth:
        description: The month or date range covered by this open cost result.
        example: 2023-09
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      roundingAdjustment:
        description: The display adjustment caused by splitting and merging credits/discounts
          at different rounding boundaries.
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits` - `roundingAdjustment`.
        example: "0.00"
        type: string
    type: object
  forms.OpenCostsBillsProjects:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      projectName:
        description: The name of a project in the specified organization.
        example: prod-project
        type: string
      roundingAdjustment:
        description: The display adjustment caused by splitting and merging credits/discounts
          at different rounding boundaries.
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits` - `roundingAdjustment`.
        example: "0.00"
        type: string
    type: object
  forms.OpenCostsBillsServiceCosts:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      roundingAdjustment:
        description: The display adjustment caused by splitting and merging credits/discounts
          at different rounding boundaries.
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      serviceCosts:
        items:
          $ref: '#/definitions/forms.OpenCostsBillsServiceCosts'
        type: array
      serviceName:
        description: The name of services provided by TiDB Cloud.
        example: TiDB Dedicated
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits` - `roundingAdjustment`.
        example: "0.00"
        type: string
    type: object
  forms.OpenCostsSummaryByProject:
    properties:
      otherCharges:
        description: These charges occur not only within a project but also across
          the entire organization.
        items:
          $ref: '#/definitions/forms.OpenCostsBillsOtherName'
        type: array
      projects:
        description: The projects in the specified organization.
        items:
          $ref: '#/definitions/forms.OpenCostsBillsProjects'
        type: array
    type: object
  forms.OpsNotification:
    properties:
      notification:
        $ref: '#/definitions/forms.Notification'
      roles:
        type: string
    type: object
  forms.OpsNotifications:
    properties:
      count:
        type: integer
      data:
        items:
          $ref: '#/definitions/forms.OpsNotification'
        type: array
      has_more:
        type: boolean
      page_query:
        $ref: '#/definitions/forms.PageQuery'
    type: object
  forms.OrgSupportPlanForOpenAPI:
    properties:
      activeDate:
        description: 'The effective date of the support plan for the organization.
          The time format follows the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
          standard. For example: `"2023-12-01T00:00:00Z"`.'
        example: "2023-12-01T00:00:00Z"
        type: string
      expiredDate:
        description: 'The expiration date of the support plan for the organization.
          The time format follows the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
          standard. For example: `"2023-12-01T00:00:00Z"`.'
        example: "2023-12-01T00:00:00Z"
        type: string
      fixedChargePrice:
        description: The fixed fee for the support plan. If the plan is charged on
          a pro rata basis (`"percentage_price"`), this represents the minimum fee.
        type: string
      level:
        allOf:
        - $ref: '#/definitions/forms.SupportPlanLevel'
        description: The level of the support plan. By default, the Basic plan is
          selected.
      public:
        description: Indicates whether the support plan is public. A non-public support
          plan might be subject to special contract terms and cannot be upgraded or
          downgraded.
        type: boolean
      supportPricePercentage:
        description: The prorated fee ratio for the support plan.
        type: string
      type:
        allOf:
        - $ref: '#/definitions/forms.SupportPlanType'
        description: Indicates whether the support plan is charged on a pro rata basis
          (`"percentage_price"`) or a fixed fee (`"fixed_price"`).
    type: object
  forms.PackageInfo:
    properties:
      credits:
        type: string
      credits_enable:
        type: boolean
      credits_only:
        type: boolean
      description:
        type: string
      discount:
        description: |-
          no need unit count for now, only pay for need
          UnitCount   []UnitCount
        type: string
      expression_labels:
        items:
          $ref: '#/definitions/forms.ExpressionLabel'
        type: array
      extra_pricing_infos:
        items:
          $ref: '#/definitions/forms.PricingInfo'
        type: array
      labels:
        additionalProperties:
          type: string
        type: object
      package_id:
        type: integer
      tenant_max_binded_times:
        type: integer
      unit_prices:
        $ref: '#/definitions/forms.UnitPrices'
      version:
        type: integer
    type: object
  forms.PackageInfoInput:
    properties:
      credits:
        type: string
      credits_enable:
        type: boolean
      credits_only:
        type: boolean
      description:
        type: string
      discount:
        type: string
      expression_labels:
        items:
          $ref: '#/definitions/forms.ExpressionLabel'
        type: array
      extra_pricing_infos:
        items:
          $ref: '#/definitions/forms.PricingInfo'
        type: array
      labels:
        additionalProperties:
          type: string
        type: object
      tenant_max_binded_times:
        type: integer
      unit_prices:
        $ref: '#/definitions/forms.UnitPrices'
    type: object
  forms.PageQuery:
    properties:
      page:
        type: integer
      page_size:
        type: integer
    type: object
  forms.PartnerBillsCostExplorer:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      elements:
        items:
          $ref: '#/definitions/forms.PartnerBillsCostExplorerElements'
        type: array
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.PartnerBillsCostExplorerBreakdown:
    properties:
      billedDate:
        example: "2023-01-01"
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      detailKey:
        example: "122"
        type: string
      detailName:
        example: customer01
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.PartnerBillsCostExplorerElements:
    properties:
      billedDate:
        example: "2023-01-01"
        type: string
      breakdown:
        items:
          $ref: '#/definitions/forms.PartnerBillsCostExplorerBreakdown'
        type: array
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.PartnerBillsDetail:
    properties:
      billedDate:
        description: The date when this bill happens.
        type: string
      clusterName:
        description: Name of the cluster.
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      customerName:
        example: PingCAP
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      projectName:
        description: Name of the project.
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      servicePathName:
        description: Name of the service.
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.PartnerBillsDetails:
    properties:
      details:
        items:
          $ref: '#/definitions/forms.PartnerBillsDetail'
        type: array
    type: object
  forms.PartnerBillsExplorer:
    properties:
      overview:
        allOf:
        - $ref: '#/definitions/forms.BillsOverview'
        description: The overall information for a bill in the specified organization.
      summaryByCustomer:
        allOf:
        - $ref: '#/definitions/forms.SummaryBillsByCustomer'
        description: A breakdown of the bill by customers.
      summaryByProject:
        allOf:
        - $ref: '#/definitions/forms.SummaryByProject'
        description: A breakdown of the bill by project.
      summaryByService:
        description: A breakdown of the bill by services.
        items:
          $ref: '#/definitions/forms.PartnerBillsServiceCosts'
        type: array
    type: object
  forms.PartnerBillsServiceCosts:
    properties:
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      serviceCosts:
        description: A breakdown of the bill by service.
        items:
          $ref: '#/definitions/forms.PartnerBillsServiceCosts'
        type: array
      serviceName:
        description: The name of services provided by TiDB Cloud.
        example: TiDB Dedicated
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.PartnerConfigs:
    properties:
      enableBillsView:
        description: Determines whether customers can view their bills with list prices
          in the TiDB Cloud console.
        example: true
        type: boolean
    type: object
  forms.PartnerInvoicedBillsDetail:
    properties:
      billedDate:
        description: The date when this bill happens.
        type: string
      clusterName:
        description: Name of the cluster.
        type: string
      credits:
        description: The total credits held by the organization in this bill. The
          value of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      customerName:
        example: PingCAP
        type: string
      discounts:
        description: The total amount of discounts applied to this bill. The value
          of this field is expressed in cents (100ths of one US Dollar).
        example: "0.00"
        type: string
      invoicedDate:
        type: string
      paymentCode:
        type: string
      projectName:
        description: Name of the project.
        type: string
      runningTotal:
        description: The sum of services that the specified organization has consumed
          during this bill period. The value of this field is expressed in cents (100ths
          of one US Dollar).
        example: "0.00"
        type: string
      servicePathName:
        description: Name of the service.
        type: string
      totalCost:
        description: |-
          The total amount that the specified organization should pay for this bill. The value of this field is expressed in cents (100ths of one US Dollar).
          `total_cost` = `running_total` - `discounts` - `credits`.
        example: "0.00"
        type: string
    type: object
  forms.PartnerInvoicedBillsDetails:
    properties:
      details:
        items:
          $ref: '#/definitions/forms.PartnerInvoicedBillsDetail'
        type: array
    type: object
  forms.PartnerTrendsArgs:
    properties:
      clusters:
        items:
          $ref: '#/definitions/forms.ClusterOpenAPI'
        type: array
      customers:
        items:
          $ref: '#/definitions/forms.Customer'
        type: array
      projects:
        items:
          $ref: '#/definitions/forms.ProjectOpenAPI'
        type: array
      providers:
        items:
          $ref: '#/definitions/forms.Provider'
        type: array
      services:
        description: 'The Identifier of TiDB Cloud services consists of 3 levels.
          For example, "service": "TiDB Dedicated - Node Compute - TiFlash" consists
          of the following 3 levels.'
        items:
          $ref: '#/definitions/forms.CostExplorerService'
        type: array
    type: object
  forms.PartnerTrendsFilter:
    properties:
      clusters:
        description: A list of cluster IDs to include in the query.
        items:
          type: string
        type: array
      customers:
        items:
          type: string
        type: array
      projects:
        description: A list of project IDs to include in the query.
        items:
          type: string
        type: array
      providers:
        description: A list of providers to include in the query.
        items:
          $ref: '#/definitions/forms.CostExplorerProvider'
        type: array
      services:
        description: A list of TiDB Cloud services to include in the query.
        items:
          $ref: '#/definitions/forms.CostExplorerService'
        type: array
      timeRange:
        allOf:
        - $ref: '#/definitions/forms.TimeRange'
        description: The time period for the query.
    type: object
  forms.PartnerTrendsInput:
    properties:
      filter:
        $ref: '#/definitions/forms.PartnerTrendsFilter'
      groups:
        $ref: '#/definitions/forms.Groups'
    type: object
  forms.PaymentCodeUpdateQuery:
    properties:
      payment_code:
        type: string
      payment_sub_code:
        type: string
    type: object
  forms.PaymentForOpenAPI:
    properties:
      payable:
        description: Indicates whether the account is in a payable state.
        type: boolean
      type:
        allOf:
        - $ref: '#/definitions/forms.PaymentType'
        description: The type of payment method currently active.
    type: object
  forms.PaymentMeta:
    properties:
      aws_cppo_discount:
        type: string
      is_aws_cppo_payment:
        type: boolean
      is_third_party:
        type: boolean
    type: object
  forms.PaymentMethod:
    properties:
      binded_billing_config_id:
        type: integer
      invoiceable:
        type: boolean
      managed_by_sales:
        type: boolean
      payable:
        type: boolean
      payment_code:
        type: string
      payment_method_id:
        type: integer
      payment_method_meta:
        $ref: '#/definitions/forms.PaymentMeta'
      payment_sub_code:
        type: string
      payment_type:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
      unpayable_at:
        type: string
    type: object
  forms.PaymentMethodType:
    properties:
      payable:
        type: boolean
      payment_type:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.PaymentType:
    enum:
    - none
    - aws
    - aws_cppo
    - gcp
    - credit_card
    - wire_transfer
    type: string
    x-enum-varnames:
    - PaymentType_None
    - PaymentType_AWS
    - PaymentType_AWSCPPO
    - PaymentType_GCP
    - PaymentType_CreditCard
    - PaymentType_WireTransfer
  forms.PlanInfo:
    properties:
      binded_billing_config_id:
        type: integer
      closed_at:
        type: string
      plan:
        type: string
      plan_id:
        type: integer
      started_at:
        type: string
      status:
        type: string
    type: object
  forms.Price:
    properties:
      cost_price:
        type: string
      discount_price:
        type: string
      order:
        type: integer
      raw_price:
        type: string
    type: object
  forms.PricingInfo:
    properties:
      discount:
        type: string
      expression_labels:
        items:
          $ref: '#/definitions/forms.ExpressionLabel'
        type: array
      labels:
        additionalProperties:
          type: string
        type: object
      unit_prices:
        $ref: '#/definitions/forms.UnitPrices'
    type: object
  forms.Project:
    properties:
      id:
        example: "0"
        type: string
      name:
        type: string
      status:
        type: string
      tenant_id:
        example: "0"
        type: string
      type:
        type: integer
    type: object
  forms.ProjectOpenAPI:
    properties:
      id:
        example: "0"
        type: string
      name:
        type: string
      status:
        type: string
    type: object
  forms.Provider:
    properties:
      name:
        description: Name of the cloud provider
        type: string
      regions:
        description: Name of the region
        items:
          type: string
        type: array
    type: object
  forms.ProviderEnum:
    enum:
    - all
    - AWS
    - GCP
    - AZURE
    - Alicloud
    - PINGCAP
    type: string
    x-enum-varnames:
    - Provider_All
    - Provider_AWS
    - Provider_GCP
    - Provider_Azure
    - Provider_AliCloud
    - Provider_PINGCAP
  forms.Purchaser:
    properties:
      emailId:
        type: string
      objectId:
        type: string
      puid:
        type: string
      tenantId:
        type: string
    type: object
  forms.RecalculateBillsPreviewReq:
    properties:
      end_date:
        type: string
      start_date:
        type: string
    required:
    - end_date
    - start_date
    type: object
  forms.RecalculatePreviewItem:
    properties:
      abs_diff_cost:
        type: string
      abs_diff_credits:
        type: string
      abs_diff_raw:
        type: string
      abs_diff_rounding_adjustment:
        type: string
      billing_config_id:
        example: "0"
        type: string
      comparison_scope:
        type: string
      diff_cost:
        type: string
      diff_credits:
        type: string
      diff_raw:
        type: string
      diff_rounding_adjustment:
        type: string
      error:
        type: string
      input_bundle_id:
        example: "0"
        type: string
      invoice_date:
        type: string
      invoice_id:
        example: "0"
        type: string
      invoice_type:
        type: string
      legacy_cost_price:
        type: string
      legacy_credit_package_ids:
        type: string
      legacy_credits:
        type: string
      legacy_discount_ids:
        type: string
      legacy_discounts:
        type: string
      legacy_raw_price:
        type: string
      legacy_rounding_adjustment:
        type: string
      legacy_row_count:
        type: integer
      match:
        type: boolean
      meta:
        additionalProperties:
          type: string
        type: object
      missing:
        items:
          type: string
        type: array
      period_month:
        type: string
      risks:
        items:
          type: string
        type: array
      snapshot_cost_price:
        type: string
      snapshot_credit_package_ids:
        type: string
      snapshot_credits:
        type: string
      snapshot_discount_ids:
        type: string
      snapshot_discounts:
        type: string
      snapshot_fact_count:
        type: integer
      snapshot_raw_price:
        type: string
      snapshot_rounding_adjustment:
        type: string
      source_mode:
        type: string
      source_run_id:
        example: "0"
        type: string
      status:
        type: string
      tenant_id:
        example: "0"
        type: string
      window_end:
        type: string
      window_start:
        type: string
    type: object
  forms.RecalculatePreviewResponse:
    properties:
      items:
        items:
          $ref: '#/definitions/forms.RecalculatePreviewItem'
        type: array
      meta:
        additionalProperties:
          type: string
        type: object
      mode:
        type: string
      status:
        type: string
      summary:
        $ref: '#/definitions/forms.RecalculatePreviewSummary'
    type: object
  forms.RecalculatePreviewSummary:
    properties:
      diff_cost:
        type: string
      diff_raw:
        type: string
      diff_rounding_adjustment:
        type: string
      error_count:
        type: integer
      found_count:
        type: integer
      item_count:
        type: integer
      legacy_cost_price:
        type: string
      legacy_raw_price:
        type: string
      legacy_rounding_adjustment:
        type: string
      match_count:
        type: integer
      running_count:
        type: integer
      snapshot_cost_price:
        type: string
      snapshot_raw_price:
        type: string
      snapshot_rounding_adjustment:
        type: string
    type: object
  forms.RecalculateRun:
    properties:
      billing_config_id:
        example: "0"
        type: string
      created_at:
        type: string
      error_message:
        type: string
      finished_at:
        type: string
      input_bundle_id:
        example: "0"
        type: string
      invoice_date:
        type: string
      invoice_type:
        type: string
      period_month:
        type: string
      run_id:
        example: "0"
        type: string
      source_mode:
        type: string
      status:
        type: string
      tenant_id:
        example: "0"
        type: string
      window_end:
        type: string
      window_start:
        type: string
    type: object
  forms.RecalculateRunListResponse:
    properties:
      page:
        type: integer
      page_size:
        type: integer
      runs:
        items:
          $ref: '#/definitions/forms.RecalculateRun'
        type: array
      total_results:
        type: integer
    type: object
  forms.RecalculateStartItem:
    properties:
      error:
        type: string
      missing:
        items:
          type: string
        type: array
      source_run_id:
        example: "0"
        type: string
      status:
        type: string
    type: object
  forms.RecalculateStartResponse:
    properties:
      items:
        items:
          $ref: '#/definitions/forms.RecalculateStartItem'
        type: array
      mode:
        type: string
      status:
        type: string
    type: object
  forms.RechargeCreditsPlan:
    properties:
      created_at:
        type: string
      cycle:
        type: string
      expired_date:
        type: string
      internal:
        type: boolean
      note:
        type: string
      plan_id:
        type: integer
      rule:
        $ref: '#/definitions/forms.RechargeCreditsPlanRule'
      source:
        type: string
      start_date:
        type: string
      updated_at:
        type: string
      usage:
        type: string
      value:
        type: string
    type: object
  forms.RechargeCreditsPlanInput:
    properties:
      cycle:
        type: string
      internal:
        type: boolean
      rule:
        $ref: '#/definitions/forms.RechargeCreditsPlanRule'
      usage:
        type: string
      value:
        type: string
    type: object
  forms.RechargeCreditsPlanRule:
    properties:
      first_credits_convertor:
        type: string
      first_cycle_finished_at:
        type: string
      first_cycle_started_at:
        type: string
    type: object
  forms.ReferralCodeResponse:
    properties:
      campaign_id:
        type: integer
      campaign_name:
        type: string
      code:
        type: string
      referral_count:
        type: integer
      share_link:
        type: string
      total_earned:
        type: string
    type: object
  forms.ReferralRewardReq:
    properties:
      credits_amount:
        type: string
      event_type:
        type: string
      referee_tenant_id:
        type: integer
      referral_code:
        type: string
    required:
    - event_type
    - referral_code
    type: object
  forms.ReferralRewardResp:
    properties:
      credits_code:
        type: string
      reward_amount:
        type: string
      rewarded:
        type: boolean
      skip_reason:
        type: string
    type: object
  forms.SKUGroup:
    properties:
      category:
        type: string
      created_at:
        description: optional
        type: string
      group_id:
        description: optional
        type: integer
      measure_unit:
        description: optional
        type: string
      name:
        type: string
      price_expression:
        additionalProperties:
          type: string
        description: optional
        type: object
      price_formula:
        type: string
      price_type:
        type: string
      sku_group_type:
        type: string
      unit_key_pattern:
        minLength: 1
        type: string
      updated_at:
        description: optional
        type: string
    type: object
  forms.SetupIntent:
    properties:
      client_secret:
        type: string
      public_key:
        type: string
    type: object
  forms.SkuInfo:
    properties:
      category:
        type: string
      commodity_code:
        type: string
      description:
        type: string
      edition_code:
        type: string
      measure_unit:
        type: string
      modifier_info:
        $ref: '#/definitions/forms.ModifierAndCreator'
      price:
        type: string
      provider:
        type: string
      region:
        type: string
      sku_template_id:
        type: integer
      unit_key:
        type: string
    type: object
  forms.SkuInfoQuery:
    properties:
      commodity_code:
        description: optional
        type: string
      edition_code:
        description: optional
        type: string
      sku_template_id:
        description: optional
        type: integer
      unit_key:
        description: optional
        type: string
    type: object
  forms.SkuModify:
    properties:
      modifyMap:
        additionalProperties:
          $ref: '#/definitions/forms.SkuInfo'
        type: object
    type: object
  forms.SkuTemplate:
    properties:
      ID:
        type: integer
      commodity_code:
        type: string
      created_at:
        type: string
      edition_code:
        type: string
      modifier_info:
        $ref: '#/definitions/forms.ModifierAndCreator'
      template:
        $ref: '#/definitions/forms.DimensionValue'
      updated_at:
        type: string
    type: object
  forms.SkuTemplateModify:
    properties:
      modifyID:
        type: integer
      sku_template:
        $ref: '#/definitions/forms.SkuTemplate'
    type: object
  forms.SkuTemplateQuery:
    properties:
      commodity_code:
        description: optional
        type: string
      edition_code:
        description: optional
        type: string
    type: object
  forms.SpendLimitInfo:
    properties:
      biz_data:
        type: string
      biz_type:
        type: string
      cost_type:
        type: string
      costs:
        type: string
      has_serverless_free_credits:
        type: boolean
      interval:
        type: string
      limit:
        type: string
      name:
        type: string
      range_id:
        type: integer
      range_id_str:
        example: "0"
        type: string
      range_type:
        type: string
      spendlimit_setting_id:
        type: integer
      start_date:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.SpendLimitSetting:
    properties:
      biz_data:
        type: string
      biz_type:
        type: string
      cost_type:
        type: string
      has_serverless_free_credits:
        type: boolean
      interval:
        type: string
      limit:
        type: string
      name:
        type: string
      range_id:
        type: integer
      range_id_str:
        example: "0"
        type: string
      range_type:
        type: string
      spendlimit_setting_id:
        type: integer
      status:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.SpendLimitSettingInput:
    properties:
      biz_type:
        type: string
      cost_type:
        type: string
      interval:
        type: string
      limit:
        type: string
      range_id:
        type: integer
      range_type:
        type: string
    type: object
  forms.SpendLimitThreshold:
    properties:
      biz_type:
        type: string
      proportion:
        type: string
      spend_limit_id:
        type: integer
      tenant_id:
        type: integer
      threshold_id:
        type: integer
    type: object
  forms.StripeCustomerInfo:
    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
    type: object
  forms.StripeInvoice:
    properties:
      amount_due:
        type: string
      amount_paid:
        type: string
      created:
        example: "0"
        type: string
      credit_used:
        type: string
      currency:
        type: string
      due_date:
        example: "0"
        type: string
      id:
        type: string
      invoice_pdf:
        type: string
      number:
        type: string
      paid:
        type: boolean
      status:
        type: string
      total:
        type: string
    type: object
  forms.StripeInvoiceDetail:
    properties:
      amount_due:
        type: string
      amount_paid:
        type: string
      client_secret:
        type: string
      created:
        example: "0"
        type: string
      credit_used:
        type: string
      currency:
        type: string
      due_date:
        example: "0"
        type: string
      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
    type: object
  forms.StripePaymentMethod:
    properties:
      billing_details:
        $ref: '#/definitions/forms.BillingDetails'
      card:
        $ref: '#/definitions/forms.Card'
      id:
        type: string
    type: object
  forms.Subscription:
    properties:
      accepted_date:
        type: string
      accepted_user:
        type: string
      contract_email:
        type: string
      file_path:
        type: string
      rejected_date:
        type: string
      rejected_user:
        type: string
      status:
        type: string
      subscription_id:
        type: integer
      tenant_id:
        type: integer
    type: object
  forms.SubscriptionChange:
    properties:
      change_user:
        type: string
    type: object
  forms.SubscriptionDetails:
    properties:
      allowedCustomerOperations:
        items:
          type: string
        type: array
      autoRenew:
        type: boolean
      beneficiary:
        $ref: '#/definitions/forms.Beneficiary'
      created:
        type: string
      id:
        type: string
      isFreeTrial:
        type: boolean
      isTest:
        type: boolean
      lastModified:
        type: string
      name:
        type: string
      offerId:
        type: string
      planId:
        type: string
      publisherId:
        type: string
      purchaser:
        $ref: '#/definitions/forms.Purchaser'
      quantity:
        type: integer
      saasSubscriptionStatus:
        type: string
      sandboxType:
        type: string
      sessionMode:
        type: string
      term:
        properties:
          endDate:
            type: string
          startDate:
            type: string
          termUnit:
            type: string
        type: object
    type: object
  forms.SubscriptionInput:
    properties:
      contract_email:
        type: string
      file_path:
        type: string
    type: object
  forms.SubscriptionList:
    properties:
      '@nextLink':
        type: string
      subscriptions:
        items:
          $ref: '#/definitions/forms.SubscriptionDetails'
        type: array
    type: object
  forms.SummaryBillsByCustomer:
    properties:
      customers:
        description: The breakdown of bills by customers of a partner.
        items:
          $ref: '#/definitions/forms.CustomerBills'
        type: array
      otherCharges:
        description: Costs not incurred by the customer but by the partner, such as
          support plan for a MSP.
        items:
          $ref: '#/definitions/forms.BillsOtherName'
        type: array
    type: object
  forms.SummaryByCustomer:
    properties:
      customerID:
        description: The Organization ID of MSP
        type: integer
      mspCustomerBills:
        allOf:
        - $ref: '#/definitions/forms.BillsExplorer'
        description: The bill generated for a specific MSP customer in the specified
          month.
    type: object
  forms.SummaryByProject:
    properties:
      otherCharges:
        description: These charges occur not only within a project but also across
          the entire organization.
        items:
          $ref: '#/definitions/forms.BillsOtherName'
        type: array
      projects:
        description: The projects in the specified organization.
        items:
          $ref: '#/definitions/forms.BillsProjects'
        type: array
    type: object
  forms.SupportPlan:
    properties:
      fixed_charge_price:
        type: string
      is_support_free_trial:
        type: boolean
      level:
        type: string
      public:
        type: boolean
      support_plan_id:
        type: integer
      support_price_percentage:
        type: string
      tiered_price_rules:
        items:
          $ref: '#/definitions/forms.TieredPriceRule'
        type: array
      type:
        type: string
    type: object
  forms.SupportPlanForOpenAPI:
    properties:
      fixedChargePrice:
        description: The fixed fee for the support plan. If the plan is charged on
          a pro rata basis (`"percentage_price"`), this represents the minimum fee.
        type: string
      level:
        allOf:
        - $ref: '#/definitions/forms.SupportPlanLevel'
        description: The level of the support plan. By default, the Basic plan is
          selected.
      public:
        description: Indicates whether the support plan is public. A non-public support
          plan might be subject to special contract terms and cannot be upgraded or
          downgraded.
        type: boolean
      supportPricePercentage:
        description: The prorated fee ratio for the support plan.
        type: string
      type:
        allOf:
        - $ref: '#/definitions/forms.SupportPlanType'
        description: Indicates whether the support plan is charged on a pro rata basis
          (`"percentage_price"`) or a fixed fee (`"fixed_price"`).
    type: object
  forms.SupportPlanInput:
    properties:
      active_date:
        type: string
      expired_date:
        type: string
      fixed_charge_price:
        type: string
      is_support_free_trial:
        type: boolean
      level:
        type: string
      public:
        type: boolean
      support_plan_id:
        type: integer
      support_price_percentage:
        type: string
      tiered_price_rules:
        items:
          $ref: '#/definitions/forms.TieredPriceRule'
        type: array
      type:
        type: string
    type: object
  forms.SupportPlanLevel:
    enum:
    - Basic
    - Standard
    - Developer
    - Enterprise
    - Premium
    type: string
    x-enum-varnames:
    - SupportPlanLevel_Basic
    - SupportPlanLevel_Standard
    - SupportPlanLevel_Developer
    - SupportPlanLevel_Enterprise
    - SupportPlanLevel_Premium
  forms.SupportPlanType:
    enum:
    - fixed_price
    - percentage_price
    type: string
    x-enum-varnames:
    - SupportPlanType_FixedPrice
    - SupportPlanType_PercentagePrice
  forms.SwitchResponse:
    properties:
      is_allowed:
        type: boolean
      require_credit_card_validation:
        type: boolean
      tenant_id:
        type: integer
    type: object
  forms.TaxIDType:
    enum:
    - ad_nrt
    - ae_trn
    - ar_cuit
    - au_abn
    - au_arn
    - bg_uic
    - bo_tin
    - br_cnpj
    - br_cpf
    - ca_bn
    - ca_gst_hst
    - ca_pst_bc
    - ca_pst_mb
    - ca_pst_sk
    - ca_qst
    - ch_vat
    - cl_tin
    - cn_tin
    - co_nit
    - cr_tin
    - do_rcn
    - ec_ruc
    - eg_tin
    - es_cif
    - eu_oss_vat
    - eu_vat
    - gb_vat
    - ge_vat
    - hk_br
    - hu_tin
    - id_npwp
    - il_vat
    - in_gst
    - is_vat
    - jp_cn
    - jp_rn
    - jp_trn
    - ke_pin
    - kr_brn
    - li_uid
    - mx_rfc
    - my_frp
    - my_itn
    - my_sst
    - no_vat
    - nz_gst
    - pe_ruc
    - ph_tin
    - ro_tin
    - rs_pib
    - ru_inn
    - ru_kpp
    - sa_vat
    - sg_gst
    - sg_uen
    - si_tin
    - sv_nit
    - th_vat
    - tr_tin
    - tw_vat
    - ua_vat
    - us_ein
    - uy_ruc
    - ve_rif
    - vn_tin
    - za_vat
    type: string
    x-enum-varnames:
    - TaxIdType_AdNrt
    - TaxIdType_AeTrn
    - TaxIdType_ArCuit
    - TaxIdType_AuAbn
    - TaxIdType_AuArn
    - TaxIdType_BgUic
    - TaxIdType_BoTin
    - TaxIdType_BrCnpj
    - TaxIdType_BrCpf
    - TaxIdType_CaBn
    - TaxIdType_CaGstHst
    - TaxIdType_CaPstBc
    - TaxIdType_CaPstMb
    - TaxIdType_CaPstSk
    - TaxIdType_CaQst
    - TaxIdType_ChVat
    - TaxIdType_ClTin
    - TaxIdType_CnTin
    - TaxIdType_CoNit
    - TaxIdType_CrTin
    - TaxIdType_DoRcn
    - TaxIdType_EcRuc
    - TaxIdType_EgTin
    - TaxIdType_EsCif
    - TaxIdType_EuOssVat
    - TaxIdType_EuVat
    - TaxIdType_GbVat
    - TaxIdType_GeVat
    - TaxIdType_HkBr
    - TaxIdType_HuTin
    - TaxIdType_IdNpwp
    - TaxIdType_IlVat
    - TaxIdType_InGst
    - TaxIdType_IsVat
    - TaxIdType_JpCn
    - TaxIdType_JpRn
    - TaxIdType_JpTrn
    - TaxIdType_KePin
    - TaxIdType_KrBrn
    - TaxIdType_LiUid
    - TaxIdType_MxRfc
    - TaxIdType_MyFrp
    - TaxIdType_MyItn
    - TaxIdType_MySst
    - TaxIdType_NoVat
    - TaxIdType_NzGst
    - TaxIdType_PeRuc
    - TaxIdType_PhTin
    - TaxIdType_RoTin
    - TaxIdType_RsPib
    - TaxIdType_RuInn
    - TaxIdType_RuKpp
    - TaxIdType_SaVat
    - TaxIdType_SgGst
    - TaxIdType_SgUen
    - TaxIdType_SiTin
    - TaxIdType_SvNit
    - TaxIdType_ThVat
    - TaxIdType_TrTin
    - TaxIdType_TwVat
    - TaxIdType_UaVat
    - TaxIdType_UsEin
    - TaxIdType_UyRuc
    - TaxIdType_VeRif
    - TaxIdType_VnTin
    - TaxIdType_ZaVat
  forms.TaxRate:
    properties:
      country:
        type: string
      display_name:
        type: string
      inclusive:
        type: boolean
      rate:
        type: string
      state:
        type: string
      tax_ability_reason:
        type: string
      tax_type:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.TenantBillingCompany:
    properties:
      company_key:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.TenantBillingCompanyInput:
    properties:
      company_key:
        type: string
    type: object
  forms.TenantCloseInfo:
    properties:
      close_actions_status:
        $ref: '#/definitions/forms.CloseActionsStatus'
      close_policy:
        $ref: '#/definitions/forms.ClosePolicy'
      closed_at:
        type: string
      credit_risk_level_id:
        type: integer
      reason:
        type: string
      started_at:
        type: string
      status:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.TenantClosePolicy:
    properties:
      close_policy:
        $ref: '#/definitions/forms.ClosePolicy'
      credit_risk_level_id:
        type: integer
      policy_id:
        type: integer
      reason:
        type: string
    type: object
  forms.TenantClosePolicyInput:
    properties:
      close_policy:
        $ref: '#/definitions/forms.ClosePolicy'
    type: object
  forms.TenantID:
    properties:
      tenant_id:
        type: integer
    type: object
  forms.TenantPlanInfo:
    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
      tenant_id_str:
        example: "0"
        type: string
    type: object
  forms.TenantRechargeCreditsPlan:
    properties:
      cluster_id:
        type: integer
      expired_date:
        type: string
      main_plan_id:
        type: integer
      next_cycle_start_time:
        type: string
      plan_id:
        type: integer
      recharge_times:
        type: integer
      start_date:
        type: string
      tenant_id:
        type: integer
      unit_filters:
        items:
          $ref: '#/definitions/forms.UnitFilterSlim'
        type: array
    type: object
  forms.TieredPriceRule:
    properties:
      lower_bound:
        type: string
      support_price_percentage:
        type: string
      upper_bound:
        type: string
    type: object
  forms.TimeRange:
    properties:
      endDate:
        description: 'The end date of the time range. The time format follows the
          [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. For example:
          `"2023-12-01T00:00:00Z"`.'
        type: string
      startDate:
        description: 'The start date of the time range. The time format follows the
          [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. For example:
          `"2023-12-01T00:00:00Z"`.'
        type: string
    type: object
  forms.TrendsArgs:
    properties:
      clusters:
        items:
          $ref: '#/definitions/forms.ClusterOpenAPI'
        type: array
      projects:
        items:
          $ref: '#/definitions/forms.ProjectOpenAPI'
        type: array
      providers:
        items:
          $ref: '#/definitions/forms.Provider'
        type: array
      services:
        description: 'The Identifier of TiDB Cloud services consists of 3 levels.
          For example, "service": "TiDB Dedicated - Node Compute - TiFlash" consists
          of the following 3 levels.'
        items:
          $ref: '#/definitions/forms.CostExplorerService'
        type: array
    type: object
  forms.TrendsFilter:
    properties:
      clusters:
        description: A list of cluster IDs to include in the query.
        items:
          type: string
        type: array
      customers:
        description: '"A list of customer IDs to include in the query.'
        items:
          type: string
        type: array
      projects:
        description: A list of project IDs to include in the query.
        items:
          type: string
        type: array
      providers:
        description: A list of providers to include in the query.
        items:
          $ref: '#/definitions/forms.CostExplorerProvider'
        type: array
      services:
        description: A list of TiDB Cloud services to include in the query.
        items:
          $ref: '#/definitions/forms.CostExplorerService'
        type: array
      timeRange:
        allOf:
        - $ref: '#/definitions/forms.TimeRange'
        description: The time period for the query.
    type: object
  forms.TrendsInput:
    properties:
      filter:
        $ref: '#/definitions/forms.TrendsFilter'
      groups:
        $ref: '#/definitions/forms.Groups'
    type: object
  forms.Trigger:
    properties:
      is_send_now:
        type: boolean
      is_test:
        type: boolean
      operator:
        type: string
      payload:
        additionalProperties:
          type: string
        type: object
      roles:
        items:
          type: string
        type: array
      schedule_time:
        type: string
      scope_type:
        type: string
      target_id_list:
        items:
          type: string
        type: array
      tenant_id:
        type: integer
      transaction_id:
        type: string
      trigger_id:
        type: string
      worker_flow_id:
        type: string
    type: object
  forms.UnitByGroup:
    properties:
      beta_end_time:
        type: string
      group_id:
        type: integer
      group_labels:
        additionalProperties:
          type: string
        type: object
      price:
        type: string
      provider:
        type: string
      region:
        type: string
      unit_key_parameters:
        additionalProperties:
          type: string
        type: object
    type: object
  forms.UnitCSVImportResult:
    properties:
      imported_rows:
        type: integer
    type: object
  forms.UnitCosts:
    properties:
      binded_package_id:
        type: integer
      consumed_source:
        type: string
      cost:
        type: integer
      cost_id:
        type: string
      cost_time_stamp:
        type: integer
      discount:
        type: string
      internal:
        type: boolean
      invoice_id:
        type: integer
      labels:
        additionalProperties:
          type: string
        type: object
      package_id:
        type: integer
      package_version:
        type: integer
      price:
        type: string
      raw_price:
        type: string
      unit:
        type: string
    type: object
  forms.UnitCostsInput:
    properties:
      cost:
        type: integer
      cost_id:
        description: optional
        type: string
      cost_time_stamp:
        type: integer
      labels:
        additionalProperties:
          type: string
        type: object
      unit:
        type: string
    type: object
  forms.UnitFilter:
    properties:
      category:
        type: string
      description:
        type: string
      filter_id:
        type: integer
      general:
        type: boolean
      labels:
        additionalProperties:
          type: string
        type: object
      name:
        type: string
      parent_id:
        type: integer
      provider:
        type: string
      region:
        type: string
      type_id:
        description: this field is a deprecated
        type: integer
      unit_key_pattern:
        type: string
    type: object
  forms.UnitFilterNode:
    properties:
      children:
        items:
          $ref: '#/definitions/forms.UnitFilterNode'
        type: array
      description:
        type: string
      filter_id:
        type: integer
      name:
        type: string
      parent_id:
        type: integer
      type_id:
        description: this field is a deprecated
        type: integer
    type: object
  forms.UnitFilterSlim:
    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
    type: object
  forms.UnitInfo:
    properties:
      beta_end_time:
        description: optional
        type: string
      beta_internal:
        description: optional
        type: boolean
      category:
        description: optional
        type: string
      commodity_code:
        description: optional
        type: string
      description:
        type: string
      edition_code:
        description: optional
        type: string
      group_id:
        description: optional
        type: integer
      measure_unit:
        description: optional
        type: string
      price:
        description: optional
        type: string
      price_expression:
        additionalProperties:
          type: string
        description: optional
        type: object
      price_type:
        description: optional
        type: string
      provider:
        description: optional
        type: string
      region:
        description: optional
        type: string
      sku_template_id:
        description: optional
        type: integer
      sku_type:
        description: optional
        type: string
      unit:
        minLength: 1
        type: string
      unit_end_time:
        description: optional
        type: string
      version:
        description: optional
        type: integer
    type: object
  forms.UnitPatch:
    properties:
      price:
        type: string
      price_expression:
        additionalProperties:
          type: string
        type: object
      price_type:
        type: string
      unit:
        type: string
    type: object
  forms.UnitPrice:
    properties:
      multiple_factor_label:
        type: string
      multiple_factor_threshold:
        type: integer
      price:
        type: string
      unit:
        type: string
    type: object
  forms.UnitPrices:
    additionalProperties:
      $ref: '#/definitions/forms.UnitPrice'
    type: object
  forms.UsageDetails:
    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
    type: object
  forms.User:
    properties:
      email:
        type: string
      first_name:
        type: string
      last_name:
        type: string
      role:
        type: string
      user_id:
        type: integer
    type: object
  forms.Variable:
    properties:
      id:
        type: string
      name:
        type: string
      required:
        type: boolean
      type:
        type: string
      value:
        type: string
    type: object
  forms.WorkFlows:
    properties:
      count:
        type: integer
      page_query:
        $ref: '#/definitions/forms.PageQuery'
      work_flows:
        items:
          $ref: '#/definitions/forms.Workflow'
        type: array
    type: object
  forms.WorkerSubTaskAction:
    properties:
      action:
        type: string
      run_time:
        type: string
      tenant_id:
        type: integer
    type: object
  forms.WorkerTaskAction:
    properties:
      action:
        type: string
      run_time:
        type: string
    type: object
  forms.Workflow:
    properties:
      created_at:
        type: string
      creator_id:
        type: string
      in_app_content:
        type: string
      notification_group:
        type: string
      subject:
        type: string
      trigger_id:
        type: string
      updated_at:
        type: string
      variables:
        items:
          $ref: '#/definitions/forms.Variable'
        type: array
      worker_flow_id:
        type: string
      worker_flow_name:
        type: string
    type: object
host: 127.0.0.1:18888
info:
  contact: {}
  description: This is a billing system server
  title: Billing System  API
  version: "1.0"
paths:
  /add_commodity_dimension:
    post:
      consumes:
      - application/json
      parameters:
      - description: Commodity
        in: body
        name: AddCommodityDimension
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityDimension'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CommodityDimension'
      summary: Add CommodityDimension
  /add_commodity_edition:
    post:
      consumes:
      - application/json
      parameters:
      - description: Commodity
        in: body
        name: AddCommodityEdition
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityEdition'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CommodityEdition'
      summary: Add AddCommodityEdition
  /add_sku_list:
    post:
      consumes:
      - application/json
      parameters:
      - description: SkuInfo
        in: body
        name: AddSkuList
        required: true
        schema:
          items:
            $ref: '#/definitions/forms.SkuInfo'
          type: array
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SkuTemplateModify'
            type: array
      summary: AddSkuList
  /add_sku_template:
    post:
      consumes:
      - application/json
      parameters:
      - description: Commodity
        in: body
        name: AddSkuTemplate
        required: true
        schema:
          $ref: '#/definitions/forms.SkuTemplate'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SkuTemplate'
      summary: Add AddSkuTemplate
  /ali_uid/{ali_uid}/aliyun_subscription_record:
    get:
      consumes:
      - application/json
      description: Get active Aliyun subscription record by AliUid
      parameters:
      - description: Aliyun User ID
        in: path
        name: ali_uid
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.AliyunSubscriptionRecord'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get Active Aliyun Subscription Record by AliUid
      tags:
      - AliyunSubscription
  /aliyun_subscription_record:
    post:
      consumes:
      - application/json
      description: Create or activate an Aliyun subscription record
      parameters:
      - description: Aliyun Subscription Record
        in: body
        name: subscriptionRecord
        required: true
        schema:
          $ref: '#/definitions/forms.AliyunSubscriptionRecord'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.AliyunSubscriptionRecord'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Create Aliyun Subscription Record
      tags:
      - AliyunSubscription
  /ar_tables:
    get:
      consumes:
      - application/json
      description: Query AR table records with pagination and optional filters (year,
        month, is_estimated, tenant_id, payment_type, binded_billing_config_id).
      parameters:
      - description: filter by year (used with month, e.g. 2025)
        in: query
        name: year
        type: integer
      - description: filter by month (used with year, e.g. 4)
        in: query
        name: month
        type: integer
      - description: filter by estimated flag
        in: query
        name: is_estimated
        type: boolean
      - description: filter by tenant ID
        in: query
        name: tenant_id
        type: integer
      - description: filter by payment type (e.g. stripe, wire_transfer, aws)
        in: query
        name: payment_type
        type: string
      - description: filter by binded billing config ID
        in: query
        name: binded_billing_config_id
        type: integer
      - description: page number, default=1, min=1, max=100
        in: query
        name: page
        type: integer
      - description: page size, default=20, min=1, max=100
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ARTableListResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: List AR Table Records
    post:
      consumes:
      - application/json
      description: Create a new AR table record. All fields except ID (primary key)
        are supported.
      parameters:
      - description: AR table record to create
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/forms.ARTableCreateInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ARTableRecordResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Create AR Table Record
  /ar_tables/{id}:
    delete:
      consumes:
      - application/json
      description: Soft-delete an AR table record by its primary key ID.
      parameters:
      - description: AR table record ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Delete AR Table Record
    get:
      consumes:
      - application/json
      description: Get a single AR table record by its primary key ID.
      parameters:
      - description: AR table record ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ARTableRecordResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get AR Table Record by ID
    put:
      consumes:
      - application/json
      description: Update an existing AR table record by ID. Only non-zero fields
        in the request body will be updated. Primary key (ID) is not allowed to be
        modified.
      parameters:
      - description: AR table record ID
        in: path
        name: id
        required: true
        type: integer
      - description: fields to update (only non-zero fields will be applied)
        in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/forms.ARTableUpdateInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ARTableRecordResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Update AR Table Record
  /ar_tables/download:
    get:
      consumes:
      - application/json
      description: Download AR table records as a CSV file with optional filters (year,
        month, is_estimated, tenant_id, payment_type, binded_billing_config_id).
      parameters:
      - description: filter by year (used with month, e.g. 2025)
        in: query
        name: year
        type: integer
      - description: filter by month (used with year, e.g. 4)
        in: query
        name: month
        type: integer
      - description: filter by estimated flag
        in: query
        name: is_estimated
        type: boolean
      - description: filter by tenant ID
        in: query
        name: tenant_id
        type: integer
      - description: filter by payment type (e.g. stripe, wire_transfer, aws)
        in: query
        name: payment_type
        type: string
      - description: filter by binded billing config ID
        in: query
        name: binded_billing_config_id
        type: integer
      responses:
        "200":
          description: CSV file
          schema:
            type: file
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Download AR Table Records as CSV
  /ar_tables/export/download:
    get:
      consumes:
      - application/json
      description: Get a presigned download URL for an async AR table export once
        it is ready.
      parameters:
      - description: year
        in: query
        name: year
        required: true
        type: integer
      - description: month
        in: query
        name: month
        required: true
        type: integer
      - description: 'export type: actual or estimated'
        in: query
        name: type
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ARTableExportDownloadResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get AR Table export download URL
  /ar_tables/export/status:
    get:
      consumes:
      - application/json
      description: Query async AR table export status by year, month and type(actual|estimated).
      parameters:
      - description: year
        in: query
        name: year
        required: true
        type: integer
      - description: month
        in: query
        name: month
        required: true
        type: integer
      - description: 'export type: actual or estimated'
        in: query
        name: type
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ARTableExportStatusResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get AR Table export status
  /auditlog:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: operator_id
        in: path
        name: operator_id
        required: true
        type: string
      - description: action
        in: path
        name: action
        required: true
        type: string
      - description: start_date
        in: path
        name: start_date
        required: true
        type: string
      - description: end_date
        in: path
        name: end_date
        required: true
        type: string
      - description: page
        in: path
        name: page
        required: true
        type: string
      - description: page_size
        in: path
        name: page_size
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.AuditLog'
            type: array
      summary: List AuditLog
  /billing_company:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BillingCompany'
            type: array
      summary: List Billing Company
  /billing_configs/managed_tenants/{tenant_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingConfig'
      summary: Get Billing Configs By Managed Tenant
  /billingProfile:
    get:
      description: This endpoint retrieves the billing profile for an organization.
      operationId: Billing_GetOrgBillingProfile
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingProfileForOpenAPI'
      summary: Get organization billing profile
      tags:
      - Partner
      - PartnerBilling
    patch:
      description: This endpoint updates the billing profile for an organization.
      operationId: Billing_UpdateOrgBillingProfile
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: billing profile
        in: body
        name: billingProfile
        required: true
        schema:
          $ref: '#/definitions/forms.BillingProfileForOpenAPI'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingProfileForOpenAPI'
      summary: Update organization billing profile
      tags:
      - Partner
      - PartnerBilling
  /bills/{billedMonth}:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the bill for the given month of a specific
        MSP. You can query a bill up to 6 months prior to the current month. The bill
        is returned in JSON format.
      parameters:
      - description: The month of this bill happens for the specified organization.
          The format is YYYY-MM, for example, '2023-08'.
        in: path
        name: billedMonth
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.MspBills'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return MSP monthly bills
      tags:
      - MSP
  /billsCostExplorer:
    post:
      consumes:
      - application/json
      description: |-
        This endpoint executes a cost explorer query and returns the usage details. Cost explorer query:
        1. Allow users to group costs by category
        2. Allow users to focus on a specific cost item by filter
        3. Allow users to query cost in the specific time range
      operationId: Billing_PartnerTrendsOpenAPI
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: Query arguments
        in: body
        name: args
        required: true
        schema:
          $ref: '#/definitions/forms.PartnerTrendsInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerBillsCostExplorer'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get the usage details according to a cost explorer query
      tags:
      - Partner
      - PartnerBilling
  /billsCostExplorer/args:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the basic info for a specific organization,
        including service info, cloud provider info, project info, and cluster info.
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TrendsArgs'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return basic info of a specific organization, which contains the key
        info to execute a cost explorer query
      tags:
      - Billing
  /billsCostExplorer/export:
    post:
      consumes:
      - application/json
      description: |-
        This endpoint executes a cost explorer query and returns the usage details. Cost explorer query:
        1. Allow users to group costs by category
        2. Allow users to focus on a specific cost item by filter
        3. Allow users to query cost in the specific time range
      operationId: TCPN_GetPartnerTrendsCSV
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: withDiscountsAndCredits
        in: query
        name: withDiscountsAndCredits
        required: true
        type: boolean
      - description: Query arguments
        in: body
        name: args
        required: true
        schema:
          $ref: '#/definitions/forms.PartnerTrendsInput'
      produces:
      - application/json
      - text/csv
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get the usage details according to a cost explorer query
      tags:
      - PartnerPrivateAPI
  /billsCostExplorerArgs:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the basic information for a specific organization,
        including service details, cloud provider information, project information,
        and cluster information.
      operationId: Billing_GetPartnerTrendsArgs
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerTrendsArgs'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get basic information of a specific organization, which contains the
        key information to execute a cost explorer query
      tags:
      - Partner
      - PartnerBilling
  /billsDetails/{billedMonth}:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the bill for the given month of a specific
        organization with daily usage details. You can query a bill up to 6 months
        prior to the current month. The bill is returned in JSON format. To use this
        resource, the requesting API Key must have the Organization Billing Admin
        or Organization Owner role.
      operationId: Billing_GetPartnerBillsDetails
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The month of this bill happens for the specified organization,
          in the format of `YYYY-MM`. For example `2024-08`.
        in: path
        name: billedMonth
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerBillsDetails'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get the monthly bill of the organization with daily usage details
      tags:
      - Partner
      - PartnerBilling
  /billsDetails/{billedMonth}/export:
    get:
      consumes:
      - application/json
      description: Export Usage CSV
      operationId: TCPN_ExportUsageCSV
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The month of this bill happens for the specified organization,
          in the format of `YYYY-MM`. For example `2024-08`.
        in: path
        name: billedMonth
        required: true
        type: string
      produces:
      - application/json
      - text/csv
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Export Usage CSV
      tags:
      - PartnerPrivateAPI
  /biz_id/{biz_id}/aliyun_subscription_record:
    get:
      consumes:
      - application/json
      description: Get Aliyun subscription record by BizId
      parameters:
      - description: Business ID
        in: path
        name: biz_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.AliyunSubscriptionRecord'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get Aliyun Subscription Record by BizId
      tags:
      - AliyunSubscription
    put:
      consumes:
      - application/json
      description: Inactive an Aliyun subscription record by biz_id
      parameters:
      - description: Business ID
        in: path
        name: biz_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.AliyunSubscriptionRecord'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Inactive Aliyun Subscription Record
      tags:
      - AliyunSubscription
  /boundSupportPlans:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the active support plan for an organization.
      operationId: Billing_GetOrgActiveSupportPlanForOpenAPI
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OrgSupportPlanForOpenAPI'
      summary: Get organization active support plan
      tags:
      - Partner
      - PartnerSupportPlan
  /broadcast_trigger:
    post:
      consumes:
      - application/json
      parameters:
      - description: trigger
        in: body
        name: trigger
        required: true
        schema:
          $ref: '#/definitions/forms.Trigger'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Trigger Broadcast
  /broadcast_trigger/{operator}/auth:
    get:
      consumes:
      - application/json
      parameters:
      - description: operator
        in: path
        name: operator
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Trigger Broadcast Auth
  /budgets:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves a list of budgets for an organization.
      operationId: Billing_ListOrgBudgets
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BudgetForOpenAPI'
            type: array
      summary: List organization budgets
      tags:
      - Partner
      - PartnerBilling
    post:
      consumes:
      - application/json
      description: This endpoint creates a new budget for an organization.
      operationId: Billing_CreateBudget
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: budget
        in: body
        name: budget
        required: true
        schema:
          $ref: '#/definitions/forms.BudgetForOpenAPI'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BudgetForOpenAPI'
      summary: Create a budget for an organization
      tags:
      - Partner
      - PartnerBilling
  /budgets/{budgetId}:
    delete:
      consumes:
      - application/json
      description: This endpoint deletes a specific budget for an organization.
      operationId: Billing_DeleteBudget
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The ID of the budget to delete. You can get the budget ID from
          the response of [List organization budgets](#tag/PartnerBilling/operation/Billing_ListOrgBudgets).
        in: path
        name: budgetId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete a budget for an organization
      tags:
      - Partner
      - PartnerBilling
    get:
      consumes:
      - application/json
      operationId: Billing_GetBudget
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The ID of the budget.
        in: path
        name: budgetId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BudgetForOpenAPI'
      summary: Get a budget
      tags:
      - Partner
      - PartnerBilling
    patch:
      consumes:
      - application/json
      operationId: Billing_UpdateBudget
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The ID of the budget to delete. You can get the budget ID from
          the response of [List organization budgets](#tag/PartnerBilling/operation/Billing_ListOrgBudgets).
        in: path
        name: budgetId
        required: true
        type: string
      - description: budget
        in: body
        name: budget
        required: true
        schema:
          $ref: '#/definitions/forms.BudgetForOpenAPI'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BudgetForOpenAPI'
      summary: Update a budget for an organization
      tags:
      - Partner
      - PartnerBilling
  /bulk_trigger:
    post:
      consumes:
      - application/json
      parameters:
      - description: trigger
        in: body
        name: trigger
        required: true
        schema:
          $ref: '#/definitions/forms.Trigger'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Bulk Trigger event
  /create_commodity:
    post:
      consumes:
      - application/json
      parameters:
      - description: Commodity
        in: body
        name: CreateCommodity
        required: true
        schema:
          $ref: '#/definitions/forms.Commodity'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Commodity'
      summary: Create Commodity
  /credit_risk_levels:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CreditRiskLevel'
            type: array
      summary: List All CreditRisk Level
    post:
      consumes:
      - application/json
      parameters:
      - description: CreditRiskLevel
        in: body
        name: CreditRiskLevel
        required: true
        schema:
          $ref: '#/definitions/forms.CreditRiskLevelInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditRiskLevel'
      summary: Create CreditRisk Level
  /credit_risk_levels/{credit_risk_level_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete CreditRisk Level
    get:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditRiskLevel'
      summary: Get CreditRisk Level
    put:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      - description: CreditRiskLevel
        in: body
        name: CreditRiskLevel
        required: true
        schema:
          $ref: '#/definitions/forms.CreditRiskLevelInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Update CreditRisk Level
  /credit_risk_levels/{credit_risk_level_id}/cost_quota:
    get:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostQuota'
      summary: Get Tenant Cost Quota
    put:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      - description: CostQuota
        in: body
        name: CostQuota
        required: true
        schema:
          $ref: '#/definitions/forms.CostQuota'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostQuota'
      summary: Set Tenant Cost Quota
  /credit_risk_levels/{credit_risk_level_id}/risk_close_policy:
    delete:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Credit Risk Close Policy
    get:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantClosePolicy'
      summary: Get Credit Risk Close Policy
    put:
      consumes:
      - application/json
      parameters:
      - description: credit_risk_level_id
        in: path
        name: credit_risk_level_id
        required: true
        type: string
      - description: policy
        in: body
        name: policy
        required: true
        schema:
          $ref: '#/definitions/forms.TenantClosePolicyInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Create Or Update Credit Risk Close Policy
  /credit_types:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitFilterNode'
      summary: Get Unit Filter (Credit Type) Tree
  /credits:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the credits applied to a specific MSP.
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.MspCredit'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return credits applied to a specific MSP
      tags:
      - MSP
  /customers/{customerId}/partnerConfigs:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the partner configuration for a specific
        Partner.
      operationId: Billing_GetCustomerPartnerConfigs
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerConfigs'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return Partner Configs for a Partner
    patch:
      consumes:
      - application/json
      description: This endpoint retrieves the partner configuration for a specific
        Partner.
      operationId: Billing_UpdateCustomerPartnerConfigs
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: partner_configs
        in: body
        name: partnerConfigs
        required: true
        schema:
          $ref: '#/definitions/forms.PartnerConfigs'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerConfigs'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return Partner Configs for a Partner
  /discounts:
    get:
      description: This endpoint retrieves a list of discounts available for an organization.
      operationId: Billing_ListDiscounts
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.DiscountForOpenAPI'
            type: array
      summary: List discounts for an organization
      tags:
      - Partner
      - PartnerBilling
  /discounts/:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the discount applied to a specific MSP.
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.MspDiscount'
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return discounts applied to a specific MSP
      tags:
      - MSP
  /events:
    put:
      consumes:
      - application/json
      parameters:
      - description: payload
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/eventbushandler.Event'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Publish Event
  /fx_rates:
    get:
      consumes:
      - application/json
      parameters:
      - description: base
        enum:
        - aed
        - afn
        - all
        - amd
        - ang
        - aoa
        - ars
        - aud
        - awg
        - azn
        - bam
        - bbd
        - bdt
        - bgn
        - bif
        - bmd
        - bnd
        - bob
        - brl
        - bsd
        - bwp
        - bzd
        - cad
        - cdf
        - chf
        - clp
        - cny
        - cop
        - crc
        - cve
        - czk
        - djf
        - dkk
        - dop
        - dzd
        - eek
        - egp
        - etb
        - eur
        - fjd
        - fkp
        - gbp
        - gel
        - gip
        - gmd
        - gnf
        - gtq
        - gyd
        - hkd
        - hnl
        - hrk
        - htg
        - huf
        - idr
        - ils
        - inr
        - isk
        - jmd
        - jpy
        - kes
        - kgs
        - khr
        - kmf
        - krw
        - kyd
        - kzt
        - lak
        - lbp
        - lkr
        - lrd
        - lsl
        - ltl
        - lvl
        - mad
        - mdl
        - mga
        - mkd
        - mnt
        - mop
        - mro
        - mur
        - mvr
        - mwk
        - mxn
        - myr
        - mzn
        - nad
        - ngn
        - nio
        - nok
        - npr
        - nzd
        - pab
        - pen
        - pgk
        - php
        - pkr
        - pln
        - pyg
        - qar
        - ron
        - rsd
        - rub
        - rwf
        - sar
        - sbd
        - scr
        - sek
        - sgd
        - shp
        - sll
        - sos
        - srd
        - std
        - svc
        - szl
        - thb
        - tjs
        - top
        - try
        - ttd
        - twd
        - tzs
        - uah
        - ugx
        - usd
        - uyu
        - uzs
        - vef
        - vnd
        - vuv
        - wst
        - xaf
        - xcd
        - xof
        - xpf
        - yer
        - zar
        - zmw
        in: query
        name: base
        type: string
      - description: target
        enum:
        - aed
        - afn
        - all
        - amd
        - ang
        - aoa
        - ars
        - aud
        - awg
        - azn
        - bam
        - bbd
        - bdt
        - bgn
        - bif
        - bmd
        - bnd
        - bob
        - brl
        - bsd
        - bwp
        - bzd
        - cad
        - cdf
        - chf
        - clp
        - cny
        - cop
        - crc
        - cve
        - czk
        - djf
        - dkk
        - dop
        - dzd
        - eek
        - egp
        - etb
        - eur
        - fjd
        - fkp
        - gbp
        - gel
        - gip
        - gmd
        - gnf
        - gtq
        - gyd
        - hkd
        - hnl
        - hrk
        - htg
        - huf
        - idr
        - ils
        - inr
        - isk
        - jmd
        - jpy
        - kes
        - kgs
        - khr
        - kmf
        - krw
        - kyd
        - kzt
        - lak
        - lbp
        - lkr
        - lrd
        - lsl
        - ltl
        - lvl
        - mad
        - mdl
        - mga
        - mkd
        - mnt
        - mop
        - mro
        - mur
        - mvr
        - mwk
        - mxn
        - myr
        - mzn
        - nad
        - ngn
        - nio
        - nok
        - npr
        - nzd
        - pab
        - pen
        - pgk
        - php
        - pkr
        - pln
        - pyg
        - qar
        - ron
        - rsd
        - rub
        - rwf
        - sar
        - sbd
        - scr
        - sek
        - sgd
        - shp
        - sll
        - sos
        - srd
        - std
        - svc
        - szl
        - thb
        - tjs
        - top
        - try
        - ttd
        - twd
        - tzs
        - uah
        - ugx
        - usd
        - uyu
        - uzs
        - vef
        - vnd
        - vuv
        - wst
        - xaf
        - xcd
        - xof
        - xpf
        - yer
        - zar
        - zmw
        in: query
        name: target
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.InvoiceAppliedFXRate'
    post:
      consumes:
      - application/json
      parameters:
      - description: fx
        in: body
        name: fx
        schema:
          $ref: '#/definitions/forms.InvoiceAppliedFXRate'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.InvoiceAppliedFXRate'
  /global-discounts:
    get:
      description: List global discount
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Discount'
            type: array
      summary: List Global Discount
      tags:
      - DiscountInfo
    post:
      consumes:
      - application/json
      description: Create global discount
      parameters:
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.Discount'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Discount'
      summary: Create Global Discount
      tags:
      - DiscountInfo
  /global-discounts/{discount_id}:
    delete:
      consumes:
      - application/json
      description: Reclaim global discount
      parameters:
      - description: discount_id
        in: path
        name: discount_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Reclaim Global Discount
      tags:
      - DiscountInfo
    put:
      consumes:
      - application/json
      description: Update global discount
      parameters:
      - description: discount_id
        in: path
        name: discount_id
        required: true
        type: string
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.Discount'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Discount'
      summary: Update Global Discount
      tags:
      - DiscountInfo
  /invoicedBills/{billedMonth}:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the bill for the given month of a specific
        organization based on the invoice sent date. The bill is returned in JSON
        format.
      operationId: Billing_GetPartnerInvoicedBills
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The month for which to retrieve the bill, in the format of `YYYY-MM`.
          This refers to the month when invoices were sent.
        in: path
        name: billedMonth
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerBillsExplorer'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get organization monthly bills based on invoice sent date
      tags:
      - PartnerPrivateAPI
  /invoicedBillsDetails/{billedMonth}:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the bill for the given month of a specific
        organization with daily usage details, based on the invoice sent date.
      operationId: Billing_GetPartnerInvoicedBillsDetails
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The month of this bill happens for the specified organization,
          in the format of `YYYY-MM`. This refers to the month when invoices were
          sent.
        in: path
        name: billedMonth
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerInvoicedBillsDetails'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get the monthly bill of the organization with daily usage details based
        on invoice sent date
      tags:
      - PartnerPrivateAPI
  /invoicedBillsDetails/{billedMonth}/export:
    get:
      consumes:
      - application/json
      description: Export Usage CSV based on the invoice sent date.
      operationId: TCPN_ExportInvoicedUsageCSV
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: The month of this bill happens for the specified organization,
          in the format of `YYYY-MM`. This refers to the month when invoices were
          sent.
        in: path
        name: billedMonth
        required: true
        type: string
      produces:
      - text/csv
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Export Usage CSV based on invoice sent date
      tags:
      - PartnerPrivateAPI
  /invoices:
    get:
      consumes:
      - application/json
      parameters:
      - description: brief
        in: query
        name: brief
        type: boolean
      - description: 'from, example: 2024-01-01T00:00:00Z'
        in: query
        name: from
        type: string
      - description: 'to, example: 2024-01-01T00:00:00Z'
        in: query
        name: to
        type: string
      - description: invoice status
        in: query
        name: status
        type: string
      - collectionFormat: csv
        description: invoice statuses
        in: query
        items:
          type: string
        name: statuses[]
        type: array
      - description: active payment type
        in: query
        name: active_payment
        type: string
      - description: comma-separated tenant IDs
        in: query
        name: tenant_ids
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.InvoiceForOpsList'
            type: array
  /marketplace/azure/subscriptions/{payment_code}:
    get:
      consumes:
      - application/json
      parameters:
      - description: payment_code
        in: path
        name: payment_code
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SubscriptionList'
      summary: Get Azure subscriptions
  /marketplace/azure/token:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
      summary: Get Azure Token
  /marketplace/tenants/{tenant_id}/azure/subscriptions/{subscription_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Azure Subscription
    post:
      consumes:
      - application/json
      parameters:
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Active Azure Subscription
  /migrate_tasks/{name}:
    post:
      consumes:
      - application/json
      parameters:
      - description: name
        in: path
        name: name
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Run Async Migrate Task
  /modify_commodity:
    put:
      consumes:
      - application/json
      parameters:
      - description: CommodityModify
        in: body
        name: ModifyCommodity
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityModify'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Commodity'
      summary: ModifyCommodity
  /modify_commodity_dimension:
    put:
      consumes:
      - application/json
      parameters:
      - description: CommodityDimensionModify
        in: body
        name: ModifyCommodityDimension
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityDimensionModify'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CommodityDimension'
      summary: ModifyCommodityDimension
  /modify_commodity_edition:
    post:
      consumes:
      - application/json
      parameters:
      - description: CommodityEditionModify
        in: body
        name: ModifyCommodityEdition
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityEditionModify'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CommodityEdition'
            type: array
      summary: ModifyCommodityEdition
  /modify_commodity_sku_template:
    post:
      consumes:
      - application/json
      parameters:
      - description: SkuTemplateModify
        in: body
        name: ModifySkuTemplate
        required: true
        schema:
          $ref: '#/definitions/forms.SkuTemplateModify'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SkuTemplate'
      summary: ModifySkuTemplate
  /modify_sku_list:
    put:
      consumes:
      - application/json
      parameters:
      - description: SkuModify
        in: body
        name: ModifySkuList
        required: true
        schema:
          $ref: '#/definitions/forms.SkuModify'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SkuInfo'
            type: array
      summary: ModifySkuList
  /mspCustomerBills/{billedMonth}/mspCustomers/{mspCustomerId}:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the bill for the given month of a specific
        end customer of MSP. You can query a bill up to 6 months prior to the current
        month. The bill is returned in JSON format.
      parameters:
      - description: The month of this bill happens for the specified organization.
          The format is YYYY-MM, for example, '2023-08'.
        in: path
        name: billedMonth
        required: true
        type: string
      - description: ID of the MSP customer.
        in: path
        name: mspCustomerId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillsExplorer'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Return monthly bills for a specific MSP customer
      tags:
      - MSP
  /notifications:
    get:
      consumes:
      - application/json
      parameters:
      - in: query
        name: org_id
        type: integer
      - in: query
        name: page
        type: integer
      - in: query
        name: transaction_id
        type: string
      - in: query
        name: user_id
        type: integer
      - in: query
        name: work_flow_name_like
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OpsNotifications'
      summary: Get Notifications By WorkflowID
  /notifications/workflow_id/{workflow_id}/summary:
    get:
      consumes:
      - application/json
      parameters:
      - description: workflow_id
        in: path
        name: workflow_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.NotificationsSummary'
            type: array
      summary: Get Workflow Notifications Summary By WorkflowID
  /opened_credits/tenant_ids:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.TenantID'
            type: array
      summary: Get All Payable TenantIDs
  /packages:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.PackageInfo'
            type: array
      summary: List Package
    post:
      consumes:
      - application/json
      parameters:
      - description: Package
        in: body
        name: Package
        required: true
        schema:
          $ref: '#/definitions/forms.PackageInfoInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PackageInfo'
      summary: Create Package
  /packages/{package_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: package_id
        in: path
        name: package_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Package
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PackageInfo'
      summary: List Package
    patch:
      consumes:
      - application/json
      parameters:
      - description: package_id
        in: path
        name: package_id
        required: true
        type: string
      - description: Package
        in: body
        name: Package
        required: true
        schema:
          $ref: '#/definitions/forms.PackageInfoInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PackageInfo'
      summary: Patch Package
    put:
      consumes:
      - application/json
      parameters:
      - description: package_id
        in: path
        name: package_id
        required: true
        type: string
      - description: Package
        in: body
        name: Package
        required: true
        schema:
          $ref: '#/definitions/forms.PackageInfoInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PackageInfo'
      summary: Update Package
  /partnerConfigs:
    get:
      consumes:
      - application/json
      description: This endpoint retrieves the partner configuration for a specific
        Partner.
      operationId: Billing_GetPartnerConfigs
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerConfigs'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get partner configurations
      tags:
      - Partner
    patch:
      consumes:
      - application/json
      description: This endpoint retrieves the partner configuration for a specific
        Partner.
      operationId: Billing_UpdatePartnerConfigs
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      - description: partner_configs
        in: body
        name: partnerConfigs
        required: true
        schema:
          $ref: '#/definitions/forms.PartnerConfigs'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PartnerConfigs'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Update the Partner configurations for a Partner
      tags:
      - Partner
      - PartnerBilling
  /paying:
    get:
      description: Returns recent paying tasks and the carryover dashboard summary.
      parameters:
      - default: 20
        description: Number of payings to return (maximum 100)
        in: query
        name: paying_limit
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.StripePayingListResponse'
      summary: List recent Stripe invoice paying tasks
      tags:
      - StripePaying
    post:
      consumes:
      - application/json
      description: Creates a persisted Stripe invoice paying task for the requested
        month.
      parameters:
      - description: Paying request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/api.CreatePayingRequest'
      produces:
      - application/json
      responses:
        "201":
          description: Created
          schema:
            $ref: '#/definitions/api.StripePayingResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/api.StripePayingErrorResponse'
        "409":
          description: Conflict
          schema:
            $ref: '#/definitions/api.StripePayingConflictResponse'
      summary: Create a Stripe invoice paying task
      tags:
      - StripePaying
  /paying/{id}:
    get:
      description: Returns the full result of one Stripe invoice paying task.
      parameters:
      - description: Paying ID
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/api.StripePayingDetailResult'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/api.StripePayingErrorResponse'
      summary: Get a Stripe invoice paying task
      tags:
      - StripePaying
  /payments:
    get:
      consumes:
      - application/json
      operationId: Billing_GetPartnerPayment
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PaymentForOpenAPI'
      summary: Get active payment method
      tags:
      - Partner
      - PartnerBilling
  /plans/ondemand/global-discounts:
    get:
      consumes:
      - application/json
      description: Get Global DiscountInfo
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Get Global Discount (deprecated)
      tags:
      - DiscountInfo
    put:
      consumes:
      - application/json
      description: Update global discount
      parameters:
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.DiscountInfo'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Update Global Discount (deprecated)
      tags:
      - DiscountInfo
  /providers/alicloud/costexplorer/monthly_bills/year/{year}/month/{month}/export:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      produces:
      - application/octet-stream
      responses: {}
      summary: Monthly Bills Explorer Monthly
  /publicSupportPlans:
    get:
      consumes:
      - application/json
      operationId: Billing_ListPublicSupportPlans
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SupportPlanForOpenAPI'
            type: array
      summary: List public support plans
      tags:
      - Partner
      - PartnerSupportPlan
  /query_commodities:
    post:
      consumes:
      - application/json
      parameters:
      - description: CommodityQuery
        in: body
        name: CreateCommodity
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Commodity'
            type: array
      summary: Query Commodities
  /query_commodity_dimensions:
    get:
      consumes:
      - application/json
      parameters:
      - description: CommodityDimensionQuery
        in: body
        name: QueryCommodityDimensions
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityDimensionQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CommodityDimension'
            type: array
      summary: QueryCommodityDimensions
  /query_commodity_editions:
    get:
      consumes:
      - application/json
      parameters:
      - description: CommodityEditionQuery
        in: body
        name: QueryCommodityDimensions
        required: true
        schema:
          $ref: '#/definitions/forms.CommodityEditionQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CommodityEdition'
            type: array
      summary: QueryCommodityEditions
  /query_commodity_sku_templates:
    get:
      consumes:
      - application/json
      parameters:
      - description: SkuTemplateQuery
        in: body
        name: QueryCommodityDimensions
        required: true
        schema:
          $ref: '#/definitions/forms.SkuTemplateQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SkuTemplate'
            type: array
      summary: QuerySkuTemplates
  /query_sku_list:
    get:
      consumes:
      - application/json
      parameters:
      - description: SkuInfoQuery
        in: body
        name: QuerySkuList
        required: true
        schema:
          $ref: '#/definitions/forms.SkuInfoQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SkuInfo'
            type: array
      summary: QuerySkuList
  /recharge_plans:
    get:
      consumes:
      - application/json
      description: List Recharge Plans
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.RechargeCreditsPlan'
            type: array
      summary: List Recharge Plans
  /recharge_plans/{recharge_plan_id}:
    delete:
      consumes:
      - application/json
      description: Disable Recharge Plan
      parameters:
      - description: recharge_plan_id
        in: path
        name: recharge_plan_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Disable Recharge Plan
    get:
      consumes:
      - application/json
      description: Get Recharge Plan Info
      parameters:
      - description: recharge_plan_id
        in: path
        name: recharge_plan_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RechargeCreditsPlan'
      summary: Get Recharge Plan Info
    patch:
      consumes:
      - application/json
      description: Update Recharge Plan Value
      parameters:
      - description: recharge_plan_id
        in: path
        name: recharge_plan_id
        required: true
        type: string
      - description: value
        in: body
        name: value
        required: true
        schema:
          type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RechargeCreditsPlan'
      summary: Update Recharge Plan Value
    post:
      consumes:
      - application/json
      description: Create Recharge Plan
      parameters:
      - description: recharge_plan
        in: body
        name: recharge_plan
        required: true
        schema:
          $ref: '#/definitions/forms.RechargeCreditsPlanInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RechargeCreditsPlan'
      summary: Create Recharge Plan
  /referral/campaigns:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CampaignListResponse'
      summary: List Referral Campaigns
    post:
      consumes:
      - application/json
      parameters:
      - description: campaign
        in: body
        name: campaign
        required: true
        schema:
          $ref: '#/definitions/forms.CreateCampaignReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CampaignResponse'
      summary: Create Referral Campaign
  /referral/campaigns/{id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: campaign_id
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CampaignResponse'
      summary: Get Referral Campaign
  /referral/campaigns/{id}/actions/end:
    post:
      consumes:
      - application/json
      parameters:
      - description: campaign_id
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: End Referral Campaign
  /referral/campaigns/{id}/actions/pause:
    post:
      consumes:
      - application/json
      parameters:
      - description: campaign_id
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Pause Referral Campaign
  /referral/campaigns/{id}/actions/resume:
    post:
      consumes:
      - application/json
      parameters:
      - description: campaign_id
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Resume Referral Campaign
  /referral/reward:
    post:
      consumes:
      - application/json
      parameters:
      - description: reward request
        in: body
        name: reward
        required: true
        schema:
          $ref: '#/definitions/forms.ReferralRewardReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ReferralRewardResp'
      summary: Trigger Referral Reward
  /sku_groups:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SKUGroup'
            type: array
      summary: Get SKU Groups
    post:
      consumes:
      - application/json
      parameters:
      - description: SKUGroup
        in: body
        name: SKUGroup
        required: true
        schema:
          $ref: '#/definitions/forms.SKUGroup'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SKUGroup'
      summary: Add SKU Groups
  /sku_groups/{group_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: group_id
        in: path
        name: group_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Update SKU Group
    get:
      consumes:
      - application/json
      parameters:
      - description: group_id
        in: path
        name: group_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SKUGroup'
            type: array
      summary: Get SKU Group
    put:
      consumes:
      - application/json
      parameters:
      - description: SKUGroup
        in: body
        name: SKUGroup
        required: true
        schema:
          $ref: '#/definitions/forms.SKUGroup'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SKUGroup'
            type: array
      summary: Update SKU Group
  /sku_groups/category:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CategoryNode'
            type: array
      summary: Get Category View
    post:
      consumes:
      - application/json
      parameters:
      - description: CategoryItemShow
        in: body
        name: CategoryItemShow
        required: true
        schema:
          $ref: '#/definitions/forms.CategoryItemShow'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CategoryItemShow'
      summary: Add SKU Group Category
  /sku_groups/category/{category}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: category
        in: path
        name: category
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete SKU Group Category
    get:
      consumes:
      - application/json
      parameters:
      - description: category
        in: path
        name: category
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CategoryItemShow'
      summary: Get SKU Group Category
    put:
      consumes:
      - application/json
      parameters:
      - description: category
        in: path
        name: category
        required: true
        type: string
      - description: CategoryItemShow
        in: body
        name: CategoryItemShow
        required: true
        schema:
          $ref: '#/definitions/forms.CategoryItemShow'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CategoryItemShow'
      summary: Update SKU Group Category
  /spend_limits:
    get:
      consumes:
      - application/json
      parameters:
      - in: query
        name: '-'
        type: boolean
      - in: query
        name: biz_type
        type: string
      - in: query
        name: has_serverless_free_credits
        type: boolean
      - in: query
        name: range_id
        type: integer
      - in: query
        name: range_type
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SpendLimitSetting'
            type: array
      summary: List All Spend Limits Settings
  /support_plan:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SupportPlan'
            type: array
      summary: Get Public Support Plan
  /support_plan/{support_plan_id}:
    put:
      consumes:
      - application/json
      parameters:
      - description: UpdateSupportPlanReq
        in: body
        name: UpdateSupportPlanReq
        required: true
        schema:
          $ref: '#/definitions/forms.SupportPlanInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SupportPlan'
      summary: Update Public Support Plan
  /swaggerDoc:
    get:
      consumes:
      - application/json
      description: Swagger Doc
      operationId: TCPN_SwaggerDoc
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
      summary: Swagger Doc
      tags:
      - PartnerPrivateAPI
  /tenant_id/{tenant_id}/aliyun_subscription_record:
    get:
      consumes:
      - application/json
      description: Get Aliyun subscription record by TenantId
      parameters:
      - description: Tenant ID
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.AliyunSubscriptionRecord'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/billing_errors.BaseError'
      summary: Get Aliyun Subscription Record by TenantId
      tags:
      - AliyunSubscription
  /tenants/{tenant_id}/billing_action_check:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: BillingActionInfo
        in: body
        name: input
        required: true
        schema:
          $ref: '#/definitions/forms.BillingActionInfo'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingActionCheckResult'
      summary: Billing Action Check
  /tenants/{tenant_id}/billing_action_check/_batch:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: BillingActionCheckBatchInput
        in: body
        name: input
        required: true
        schema:
          $ref: '#/definitions/forms.BillingActionCheckBatchInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingActionCheckBatchOutput'
      summary: Billing Action Check
  /tenants/{tenant_id}/billing_company:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantBillingCompany'
      summary: Get Tenant BillingCompany
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: TenantBillingCompany
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.TenantBillingCompanyInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantBillingCompany'
      summary: Update Tenant BillingCompany
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/binded_packages:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BindedPackageInfo'
            type: array
      summary: List Binded Package
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/binded_support_plan:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedSupportPlan'
      summary: Get Tenant Active Support Plan
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/binded_support_plan/list:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BindedSupportPlan'
            type: array
      summary: List Tenant Support Plans
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/commitment_invoices:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: CommitmentInvoiceInput
        in: body
        name: CommitmentInvoiceInput
        required: true
        schema:
          $ref: '#/definitions/forms.CommitmentInvoiceInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Create Commitment Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/contracts:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: page,default=1,min=1,max=100
        in: query
        name: page
        type: integer
      - description: page_size,default=20,min=1,max=100
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ContractsResponse'
      summary: List All Contract
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: Contract
        in: body
        name: contract
        required: true
        schema:
          $ref: '#/definitions/forms.ContractInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Create Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/contracts/{contract_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: id
        in: path
        name: contract_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Get Contract
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      - description: Contract
        in: body
        name: contract
        required: true
        schema:
          $ref: '#/definitions/forms.ContractInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Update Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/contracts/{contract_id}/actions/{action}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      - description: action
        enum:
        - create
        - submit
        - cancel
        - delete
        - terminate
        in: path
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Admin Operate Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/contracts/{contract_id}/download:
    get:
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      responses: {}
      summary: Download Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExplorerQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerResult'
      summary: Cost Explorer
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/bills_details/year/{year}/month/{month}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      - description: with_cppo_discount
        in: query
        name: with_cppo_discount
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerDetailsResult'
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/enabled:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillsEnabled'
      summary: Is Enabled Bills
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/monthly_bills/year/{year}/month/{month}/export:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      produces:
      - application/octet-stream
      responses: {}
      summary: Monthly Bills Explorer Monthly
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/monthly_cost/year/{year}/month/{month}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      - description: with_cppo_discount
        in: query
        name: with_cppo_discount
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.MonthlycostExplorerResult'
      summary: Cost Explorer Monthly
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/monthly_cost/year/{year}/month/{month}/export:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      produces:
      - application/octet-stream
      responses: {}
      summary: Cost Explorer Monthly
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/open_costs:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: start date, YYYY-MM-DD
        in: query
        name: start_date
        required: true
        type: string
      - description: end date, YYYY-MM-DD
        in: query
        name: end_date
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerOpenCostsResponse'
      summary: Cost Explorer Open Costs
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/recalculate/{source_run_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: source_run_id
        in: path
        name: source_run_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerOpenCostsResponse'
      summary: Cost Explorer Recalculate Run
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/trends:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: string
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExploreTrendsInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExploreTrendsOutput'
      summary: Cost Explorer Trends
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/costexplorer/trends/csv:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: string
      - description: display_discounts_and_credits
        in: query
        name: with_discounts_and_credits
        type: boolean
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExploreTrendsInput'
      produces:
      - text/csv
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CreditsPackage'
            type: array
      summary: List Tenants Credits
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: credits
        in: body
        name: credits
        required: true
        schema:
          $ref: '#/definitions/forms.CreateCreditsPackageReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsPackage'
      summary: Create Credits
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits/{credit_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: credit_id
        in: path
        name: credit_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsPackage'
      summary: Get Credits
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits/{credit_id}/actions/reclaim:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: credit_id
        in: path
        name: credit_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Reclaim Credits
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/credits_summary:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsSummary'
      summary: Get Tenants Credits Summary
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/discounts:
    get:
      description: List tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Discount'
            type: array
      summary: List Tenant Discount
      tags:
      - DiscountInfo
    post:
      consumes:
      - application/json
      description: Create tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.Discount'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Discount'
      summary: Create Tenant Discount
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/discounts/{discount_id}:
    delete:
      consumes:
      - application/json
      description: Reclaim tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: discount_id
        in: path
        name: discount_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Reclaim Tenant Discount
      tags:
      - DiscountInfo
    put:
      consumes:
      - application/json
      description: Update tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: discount_id
        in: path
        name: discount_id
        required: true
        type: string
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.Discount'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Discount'
      summary: Update Tenant Discount
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: brief
        in: query
        name: brief
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Invoice'
            type: array
      summary: List Invoices
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: CreateInvoiceReq
        in: body
        name: CreateInvoiceReq
        required: true
        schema:
          $ref: '#/definitions/forms.CreateInvoiceReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Create Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Unsent Invoice
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Get Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}/confirm:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Confirm Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}/modify:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}/recalculate:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RecalculateStartResponse'
      summary: Dry Run Recalculate Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}/send:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Send Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/invoices/{invoice_id}/suspend:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Suspend Invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.PaymentMethod'
            type: array
      summary: List Tenant Payment Methods
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/{payment_type}/code:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: string
      - description: payment_type, e.g. wire_transfer
        in: path
        name: payment_type
        required: true
        type: string
      - description: PaymentCodeUpdateQuery
        in: body
        name: payment_code_update_query
        schema:
          $ref: '#/definitions/forms.PaymentCodeUpdateQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PaymentMethod'
      summary: Update Payment Code and SubCode
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/{payment_type}/invoiceable:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: string
      - description: payment_type, e.g. wire_transfer
        in: path
        name: payment_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PaymentMethod'
      summary: Update Payment Invoiceable
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/active:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PaymentMethod'
      summary: Get Active PaymentMethod
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/setup/{payment_type}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: payment_type, e.g. wire_transfer
        in: path
        name: payment_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Setup PaymentMethod
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/customer:
    get:
      consumes:
      - application/json
      description: GetCustomerInfo
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.StripeCustomerInfo'
      summary: GetCustomerInfo
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/invoices:
    get:
      consumes:
      - application/json
      description: ListStripeInvoices
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.StripeInvoice'
            type: array
      summary: ListStripeInvoices
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/invoices/{invoice_id}:
    get:
      consumes:
      - application/json
      description: GetstripeInvoiceDetail
      operationId: Stripe_GetStripeInvoiceDetail
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.StripeInvoiceDetail'
      summary: GetstripeInvoiceDetail
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/invoices/{invoice_id}/payment_required_notification:
    post:
      consumes:
      - application/json
      description: manually send notification and email to notify customer need to
        pay the invoice
      operationId: Stripe_CreditCardPaymentRequiredNotification
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: manually send notification and email to notify customer need to pay
        the invoice
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods:
    get:
      consumes:
      - application/json
      description: ListPaymentMethods
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.StripePaymentMethod'
            type: array
      summary: ListPaymentMethods
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods/{payment_method_id}:
    delete:
      consumes:
      - application/json
      description: DeletePaymentMethod
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: DeletePaymentMethod
      tags:
      - StripePayment
    put:
      consumes:
      - application/json
      description: UpdatePaymentMethod
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      - description: method
        in: body
        name: method
        required: true
        schema:
          $ref: '#/definitions/forms.StripePaymentMethod'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.StripePaymentMethod'
      summary: UpdatePaymentMethod
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods/{payment_method_id}/default:
    put:
      consumes:
      - application/json
      description: SetPaymentMethodDefault
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: SetPaymentMethodDefault
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/payment_methods/{payment_method_id}/validate:
    put:
      consumes:
      - application/json
      description: credit card validation. if pass, attach the paymentMethod to customer
      operationId: Stripe_CreditCardValidate
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CardValidateResult'
      summary: credit card validation, query after s.SetUpIntent, before s.ConfirmIntent
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/setup_intent:
    post:
      consumes:
      - application/json
      description: SetupIntent
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SetupIntent'
      summary: SetupIntent
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/stripe/setup_intent/confirm:
    put:
      consumes:
      - application/json
      description: ConfirmIntent
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: ConfirmIntent
      tags:
      - StripePayment
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/payments/types:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.PaymentMethodType'
            type: array
      summary: List Tenant Payment Types
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/plans/ondemand/discounts:
    get:
      consumes:
      - application/json
      description: Get discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Get Tenant DiscountInfo
      tags:
      - DiscountInfo
    put:
      consumes:
      - application/json
      description: update discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.DiscountInfo'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Update Tenant DiscountInfo
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/plans/ondemand/effective-discounts:
    get:
      consumes:
      - application/json
      description: Get discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Get Tenant Effective DiscountInfo
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/recalculate:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: RecalculateBillsPreviewReq
        in: body
        name: req
        required: true
        schema:
          $ref: '#/definitions/forms.RecalculateBillsPreviewReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RecalculateStartResponse'
      summary: Dry Run Recalculate Bills
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/recalculate/runs:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: page,default=1,min=1,max=100
        in: query
        name: page
        type: integer
      - description: page_size,default=20,min=1,max=100
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RecalculateRunListResponse'
      summary: List Recalculate Runs
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/recalculate/runs/{source_run_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: source_run_id
        in: path
        name: source_run_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.RecalculatePreviewResponse'
      summary: Get Recalculate Run
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/recalculate/runs/{source_run_id}/bills_details:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: source_run_id
        in: path
        name: source_run_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerDetailsResult'
      summary: Get Recalculate Run Bills Details
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/recalculate/runs/{source_run_id}/bills_details/export:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        required: true
        type: integer
      - description: source_run_id
        in: path
        name: source_run_id
        required: true
        type: integer
      produces:
      - application/octet-stream
      responses:
        "200":
          description: CSV file
          schema:
            type: file
      summary: Export Recalculate Run Bills CSV
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/contracts:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: page,default=1,min=1,max=100
        in: query
        name: page
        type: integer
      - description: page_size,default=20,min=1,max=100
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ContractsResponse'
      summary: List User View Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/contracts/{contract_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: id
        in: path
        name: contract_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Get User View Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/contracts/{contract_id}/actions/{action}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      - description: action
        enum:
        - accept
        - reject
        in: path
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Operate Contract
  /tenants/{tenant_id}/billing_config_id/{billing_config_id}/users/discounts:
    get:
      description: List Discount (User portal)
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: billing_config_id
        in: path
        name: billing_config_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Discount'
            type: array
      summary: List Discount (User portal)
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/billing_configs:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BillingConfig'
            type: array
      summary: List Billing Configs
  /tenants/{tenant_id}/billing_info:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingInformation'
      summary: Get BillingInfo
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: BillingInformation
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.BillingInformationInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingInformation'
      summary: Update BillingInfo
  /tenants/{tenant_id}/billing_info/sync_on_card_binding:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: BillingInformation
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.BillingInformationInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillingInformation'
      summary: SyncBillingInformationOnCardBinding
  /tenants/{tenant_id}/binded_packages:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BindedPackageInfo'
            type: array
      summary: List Binded Package
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Package
        in: body
        name: Package
        required: true
        schema:
          $ref: '#/definitions/forms.BindedPackageInfoInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedPackageInfo'
      summary: Bind Package
  /tenants/{tenant_id}/binded_packages/{binded_package_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Unbind Package
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedPackageInfo'
      summary: Get Binded Package
  /tenants/{tenant_id}/binded_packages/{binded_package_id}/charge_credits:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: ChargeCredits
        in: body
        name: ChargeCredits
        required: true
        schema:
          $ref: '#/definitions/forms.CreditsChargeInfoInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsChargeHistory'
      summary: Charge Credits History
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: ChargeCredits
        in: body
        name: ChargeCredits
        required: true
        schema:
          $ref: '#/definitions/forms.CreditsChargeInfoInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedPackageInfo'
      summary: Charge Credits
  /tenants/{tenant_id}/binded_support_plan:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Cancel Activated Tenant Support Plan
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedSupportPlan'
      summary: Get Tenant Active Support Plan
  /tenants/{tenant_id}/binded_support_plan/{binded_support_plan_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Cancel Tenant Support Plan
  /tenants/{tenant_id}/binded_support_plan/details:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedSupportPlanDetails'
      summary: List activated support plans for tenant. Additionally, return whether
        the current tenant is still eligible for a free trial.
  /tenants/{tenant_id}/binded_support_plan/list:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.BindedSupportPlan'
            type: array
      summary: List Tenant Support Plans
  /tenants/{tenant_id}/binded_support_plan/private:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: PrivateSupportPlanReq
        in: body
        name: PrivateSupportPlanReq
        required: true
        schema:
          $ref: '#/definitions/forms.SupportPlanInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedSupportPlan'
      summary: Tenant Bind Private Support Plan
  /tenants/{tenant_id}/binded_support_plan/public:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Cancel Tenant Public Support Plan
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: BindSupportPlanReq
        in: body
        name: BindSupportPlanReq
        required: true
        schema:
          $ref: '#/definitions/forms.BindedSupportPlan'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BindedSupportPlan'
      summary: Tenant Bind Public Support Plan
  /tenants/{tenant_id}/budgets:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Budget'
            type: array
      summary: List All Tenant Budgets
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget
        in: body
        name: budget
        required: true
        schema:
          $ref: '#/definitions/forms.Budget'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Budget'
      summary: Create Budget
  /tenants/{tenant_id}/budgets/{budget_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget_id
        in: path
        name: budget_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Budget
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget_id
        in: path
        name: budget_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Budget'
      summary: Get Tenant Budget
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget_id
        in: path
        name: budget_id
        required: true
        type: string
      - description: name
        in: body
        name: budget
        schema:
          $ref: '#/definitions/forms.Budget'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Budget'
      summary: Update Budget
  /tenants/{tenant_id}/budgets/{budget_id}/thresholds:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget_id
        in: path
        name: budget_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SpendLimitThreshold'
            type: array
      summary: Add Budget Threshold
  /tenants/{tenant_id}/budgets/{budget_id}/thresholds/{threshold_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget_id
        in: path
        name: budget_id
        required: true
        type: string
      - description: threshold_id
        in: path
        name: threshold_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Budget Threshold
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: budget_id
        in: path
        name: budget_id
        required: true
        type: string
      - description: threshold_id
        in: path
        name: threshold_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SpendLimitThreshold'
            type: array
      summary: Update Budget Threshold
  /tenants/{tenant_id}/bulk_trigger:
    post:
      consumes:
      - application/json
      parameters:
      - description: trigger
        in: body
        name: trigger
        required: true
        schema:
          $ref: '#/definitions/forms.Trigger'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Bulk Trigger event API
  /tenants/{tenant_id}/closing:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantCloseInfo'
      summary: Get Tenant Credit Closure Process Info
  /tenants/{tenant_id}/closing/actions/cancel:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Cancel Tenant Closure Process
  /tenants/{tenant_id}/closing/reasons:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              type: string
            type: array
      summary: Get Tenant Closure Reason
  /tenants/{tenant_id}/closing/reasons/{reason}/actions/run:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: reason
        in: path
        name: reason
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Run Tenant Closure Process
  /tenants/{tenant_id}/closing/reasons/{reason}/policies:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: reason
        in: path
        name: reason
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantClosePolicy'
      summary: Get Tenant Closure Policy
  /tenants/{tenant_id}/commitment_invoices:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: CommitmentInvoiceInput
        in: body
        name: CommitmentInvoiceInput
        required: true
        schema:
          $ref: '#/definitions/forms.CommitmentInvoiceInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Create Commitment Invoice
  /tenants/{tenant_id}/contracts:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: page,default=1,min=1,max=100
        in: query
        name: page
        type: integer
      - description: page_size,default=20,min=1,max=100
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ContractsResponse'
      summary: List All Contract
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Contract
        in: body
        name: contract
        required: true
        schema:
          $ref: '#/definitions/forms.ContractInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Create Contract
  /tenants/{tenant_id}/contracts/{contract_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: id
        in: path
        name: contract_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Get Contract
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      - description: Contract
        in: body
        name: contract
        required: true
        schema:
          $ref: '#/definitions/forms.ContractInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Update Contract
  /tenants/{tenant_id}/contracts/{contract_id}/actions/{action}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      - description: action
        enum:
        - create
        - submit
        - cancel
        - delete
        - terminate
        in: path
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Admin Operate Contract
  /tenants/{tenant_id}/contracts/{contract_id}/download:
    get:
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      responses: {}
      summary: Download Contract
  /tenants/{tenant_id}/cost_quota:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostQuota'
      summary: Get Tenant Cost Quota
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: CostQuota
        in: body
        name: CostQuota
        required: true
        schema:
          $ref: '#/definitions/forms.CostQuota'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostQuota'
      summary: Set Tenant Cost Quota
  /tenants/{tenant_id}/costexplorer:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExplorerQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerResult'
      summary: Cost Explorer
  /tenants/{tenant_id}/costexplorer/args:
    get:
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerArgs'
      summary: Cost Explorer Args
  /tenants/{tenant_id}/costexplorer/bills_details/year/{year}/month/{month}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      - description: with_cppo_discount
        in: query
        name: with_cppo_discount
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerDetailsResult'
  /tenants/{tenant_id}/costexplorer/enabled:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.BillsEnabled'
      summary: Is Enabled Bills
  /tenants/{tenant_id}/costexplorer/monthly_bills/year/{year}/month/{month}/export:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      produces:
      - application/octet-stream
      responses: {}
      summary: Monthly Bills Explorer Monthly
  /tenants/{tenant_id}/costexplorer/monthly_cost/year/{year}/month/{month}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      - description: with_cppo_discount
        in: query
        name: with_cppo_discount
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.MonthlycostExplorerResult'
      summary: Cost Explorer Monthly
  /tenants/{tenant_id}/costexplorer/monthly_cost/year/{year}/month/{month}/export:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      produces:
      - application/octet-stream
      responses: {}
      summary: Cost Explorer Monthly
  /tenants/{tenant_id}/costexplorer/monthly_usage/app/{app_name}/apps/{app_id}/year/{year}/month/{month}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      - description: app_name
        in: path
        name: app_name
        required: true
        type: string
      - description: app_id
        in: path
        name: app_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.AppAPIUsageExplore'
      summary: app usage Explorer Monthly
  /tenants/{tenant_id}/costexplorer/monthly_usage/dataapi/apps/{app_id}/year/{year}/month/{month}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: year
        in: path
        name: year
        required: true
        type: string
      - description: month
        in: path
        name: month
        required: true
        type: string
      - description: app_id
        in: path
        name: app_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DataAPIUsageExplore'
      summary: DataAPI usage Explorer Monthly
  /tenants/{tenant_id}/costexplorer/trends:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExploreTrendsInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExploreTrendsOutput'
      summary: Cost Explorer Trends
  /tenants/{tenant_id}/costexplorer/trends/csv:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: display_discounts_and_credits
        in: query
        name: with_discounts_and_credits
        type: boolean
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExploreTrendsInput'
      produces:
      - text/csv
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
  /tenants/{tenant_id}/cppo_billing_config:
    post:
      consumes:
      - application/json
      parameters:
      - description: CPPOBillingConfig
        in: body
        name: CPPOBillingConfig
        required: true
        schema:
          $ref: '#/definitions/forms.CPPOBillingConfig'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Create CPPO Billing Config
  /tenants/{tenant_id}/credit_risk_level:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditRiskLevel'
      summary: Get Tenant CreditRisk Level
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: CreditRiskLevel
        in: body
        name: CreditRiskLevel
        required: true
        schema:
          $ref: '#/definitions/forms.CreditRiskLevelIDInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Update Tenant CreditRisk Level
  /tenants/{tenant_id}/credits:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.CreditsPackage'
            type: array
      summary: List Tenants Credits
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: credits
        in: body
        name: credits
        required: true
        schema:
          $ref: '#/definitions/forms.CreateCreditsPackageReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsPackage'
      summary: Create Credits
  /tenants/{tenant_id}/credits/{credit_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: credit_id
        in: path
        name: credit_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsPackage'
      summary: Get Credits
  /tenants/{tenant_id}/credits/{credit_id}/actions/reclaim:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: credit_id
        in: path
        name: credit_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Reclaim Credits
  /tenants/{tenant_id}/credits_summary:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CreditsSummary'
      summary: Get Tenants Credits Summary
  /tenants/{tenant_id}/discounts:
    get:
      description: List tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Discount'
            type: array
      summary: List Tenant Discount
      tags:
      - DiscountInfo
    post:
      consumes:
      - application/json
      description: Create tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.Discount'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Discount'
      summary: Create Tenant Discount
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/discounts/{discount_id}:
    delete:
      consumes:
      - application/json
      description: Reclaim tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: discount_id
        in: path
        name: discount_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Reclaim Tenant Discount
      tags:
      - DiscountInfo
    put:
      consumes:
      - application/json
      description: Update tenant discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: discount_id
        in: path
        name: discount_id
        required: true
        type: string
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.Discount'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Discount'
      summary: Update Tenant Discount
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/internal/costexplorer:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExplorerInternalQuery'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerResult'
      summary: Internal Cost Explorer
  /tenants/{tenant_id}/internal/costexplorer/v2:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Query
        in: body
        name: Query
        required: true
        schema:
          $ref: '#/definitions/forms.CostExplorerQueryV2'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.CostExplorerResult'
      summary: Complete Cost Explorer
  /tenants/{tenant_id}/invoices:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: brief
        in: query
        name: brief
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Invoice'
            type: array
      summary: List Invoices
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: CreateInvoiceReq
        in: body
        name: CreateInvoiceReq
        required: true
        schema:
          $ref: '#/definitions/forms.CreateInvoiceReq'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Create Invoice
  /tenants/{tenant_id}/invoices/{invoice_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Unsent Invoice
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Get Invoice
  /tenants/{tenant_id}/invoices/{invoice_id}/confirm:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Confirm Invoice
  /tenants/{tenant_id}/invoices/{invoice_id}/modify:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
  /tenants/{tenant_id}/invoices/{invoice_id}/send:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Send Invoice
  /tenants/{tenant_id}/invoices/{invoice_id}/suspend:
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: invoice_id
        in: path
        name: invoice_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Invoice'
      summary: Suspend Invoice
  /tenants/{tenant_id}/mcpo_billing_config:
    post:
      consumes:
      - application/json
      parameters:
      - description: MCPOBillingConfig
        in: body
        name: MCPOBillingConfig
        required: true
        schema:
          $ref: '#/definitions/forms.MCPOBillingConfig'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Create CPPO Billing Config
  /tenants/{tenant_id}/measures:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Cost
        in: body
        name: Cost
        required: true
        schema:
          $ref: '#/definitions/forms.UnitCostsInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitCosts'
      summary: Cost Units
  /tenants/{tenant_id}/measures/dryrun:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Cost
        in: body
        name: Cost
        required: true
        schema:
          $ref: '#/definitions/forms.UnitCostsInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitCosts'
      summary: Cost Units Dryrun
  /tenants/{tenant_id}/notifications/{query_type}/page/{page}/page_size/{page_size}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: query_type
        in: path
        name: query_type
        required: true
        type: string
      - description: page
        in: path
        name: page
        required: true
        type: integer
      - description: page_size
        in: path
        name: page_size
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Notifications'
      summary: Get  Notifications
  /tenants/{tenant_id}/notifications/{type}/notification_id/{notification_id}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: type
        in: path
        name: type
        required: true
        type: string
      - description: notification_id
        in: path
        name: notification_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Notifications'
      summary: Mark User Notifications As Seen
  /tenants/{tenant_id}/notifications/notification_id/{notification_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: notification_id
        in: path
        name: notification_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Notification'
      summary: Get Notifications by Notification_id
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: notification_id
        in: path
        name: notification_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Notifications'
      summary: Mark User Notifications As Read
  /tenants/{tenant_id}/payments:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.PaymentMethod'
            type: array
      summary: List Tenant Payment Methods
  /tenants/{tenant_id}/payments/active:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.PaymentMethod'
      summary: Get Active PaymentMethod
  /tenants/{tenant_id}/payments/setup/{payment_type}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: payment_type, e.g. wire_transfer
        in: path
        name: payment_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Setup PaymentMethod
  /tenants/{tenant_id}/payments/stripe/customer:
    get:
      consumes:
      - application/json
      description: GetCustomerInfo
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.StripeCustomerInfo'
      summary: GetCustomerInfo
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/stripe/invoices:
    get:
      consumes:
      - application/json
      description: ListStripeInvoices
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.StripeInvoice'
            type: array
      summary: ListStripeInvoices
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/stripe/payment_methods:
    get:
      consumes:
      - application/json
      description: ListPaymentMethods
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.StripePaymentMethod'
            type: array
      summary: ListPaymentMethods
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/stripe/payment_methods/{payment_method_id}:
    delete:
      consumes:
      - application/json
      description: DeletePaymentMethod
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: DeletePaymentMethod
      tags:
      - StripePayment
    put:
      consumes:
      - application/json
      description: UpdatePaymentMethod
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      - description: method
        in: body
        name: method
        required: true
        schema:
          $ref: '#/definitions/forms.StripePaymentMethod'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.StripePaymentMethod'
      summary: UpdatePaymentMethod
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/stripe/payment_methods/{payment_method_id}/default:
    put:
      consumes:
      - application/json
      description: SetPaymentMethodDefault
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: payment_method_id
        in: path
        name: payment_method_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: SetPaymentMethodDefault
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/stripe/setup_intent:
    post:
      consumes:
      - application/json
      description: SetupIntent
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SetupIntent'
      summary: SetupIntent
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/stripe/setup_intent/confirm:
    put:
      consumes:
      - application/json
      description: ConfirmIntent
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: ConfirmIntent
      tags:
      - StripePayment
  /tenants/{tenant_id}/payments/types:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.PaymentMethodType'
            type: array
      summary: List Tenant Payment Types
  /tenants/{tenant_id}/plans:
    get:
      consumes:
      - application/json
      description: Get tenant effective plan info by tenant id
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantPlanInfo'
      summary: Get Tenant Plan Info
      tags:
      - Plan
  /tenants/{tenant_id}/plans/dev_tier/notify_dev_tier_cluster_created:
    put:
      consumes:
      - application/json
      description: Notify Dev Tier Cluster Created
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Notify Dev Tier Cluster Created
      tags:
      - Plan
  /tenants/{tenant_id}/plans/ondemand/discounts:
    get:
      consumes:
      - application/json
      description: Get discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Get Tenant DiscountInfo
      tags:
      - DiscountInfo
    put:
      consumes:
      - application/json
      description: update discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: discount
        in: body
        name: discount
        required: true
        schema:
          $ref: '#/definitions/forms.DiscountInfo'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Update Tenant DiscountInfo
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/plans/ondemand/effective-discounts:
    get:
      consumes:
      - application/json
      description: Get discount
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.DiscountInfo'
      summary: Get Tenant Effective DiscountInfo
      tags:
      - DiscountInfo
  /tenants/{tenant_id}/recharge_plans/{tenant_recharge_plan_id}:
    delete:
      consumes:
      - application/json
      description: Disable Recharge Plan
      parameters:
      - description: tenant_recharge_plan_id
        in: path
        name: tenant_recharge_plan_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Disable Tenant Recharge Plan
    get:
      consumes:
      - application/json
      description: Get Recharge Plan Info
      parameters:
      - description: tenant_recharge_plan_id
        in: path
        name: tenant_recharge_plan_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantRechargeCreditsPlan'
      summary: Get Tenant Recharge Plan Info
  /tenants/{tenant_id}/referral/code:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ReferralCodeResponse'
      summary: Get or Create Referral Code
  /tenants/{tenant_id}/risk_close_policy:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantClosePolicy'
      summary: Get Tenant Credit Risk Close Policy
  /tenants/{tenant_id}/spend_limits:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - in: query
        name: '-'
        type: boolean
      - in: query
        name: biz_type
        type: string
      - in: query
        name: has_serverless_free_credits
        type: boolean
      - in: query
        name: range_id
        type: integer
      - in: query
        name: range_type
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SpendLimitSetting'
            type: array
      summary: List All Tenant Spend Limit Settings
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: setting
        in: body
        name: setting
        required: true
        schema:
          $ref: '#/definitions/forms.SpendLimitSettingInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SpendLimitSetting'
      summary: Create Spend Limit Settings
  /tenants/{tenant_id}/spend_limits/{spend_limit_setting_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: spend_limit_setting_id
        in: path
        name: spend_limit_setting_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Spend Limit Setting
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: spend_limit_setting_id
        in: path
        name: spend_limit_setting_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SpendLimitSetting'
      summary: Get Spend Limit Setting
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: spend_limit_setting_id
        in: path
        name: spend_limit_setting_id
        required: true
        type: string
      - description: setting
        in: body
        name: setting
        required: true
        schema:
          $ref: '#/definitions/forms.SpendLimitSettingInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SpendLimitSetting'
      summary: Update Spend Limit Settings
  /tenants/{tenant_id}/spend_limits/{spend_limit_setting_id}/info:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: spend_limit_setting_id
        in: path
        name: spend_limit_setting_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SpendLimitInfo'
      summary: Get Spend Limit Info
  /tenants/{tenant_id}/spend_limits/info:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - in: query
        name: '-'
        type: boolean
      - in: query
        name: biz_type
        type: string
      - in: query
        name: has_serverless_free_credits
        type: boolean
      - in: query
        name: range_id
        type: integer
      - in: query
        name: range_type
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.SpendLimitInfo'
            type: array
      summary: List All Tenant Spend Limits Info
  /tenants/{tenant_id}/subcriptions:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Subscription'
            type: array
      summary: List All Subscription
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: Subscription
        in: body
        name: Subscription
        required: true
        schema:
          $ref: '#/definitions/forms.SubscriptionInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Subscription'
      summary: Create Subscription
  /tenants/{tenant_id}/subcriptions/{subscription_id}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Subscription
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Subscription'
      summary: Get Subscription
    put:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      - description: Subscription
        in: body
        name: Subscription
        required: true
        schema:
          $ref: '#/definitions/forms.SubscriptionInput'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Subscription'
      summary: Update Subscription
  /tenants/{tenant_id}/subcriptions/{subscription_id}/actions/accept:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Accept Subscription
  /tenants/{tenant_id}/subcriptions/{subscription_id}/actions/download:
    get:
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      responses: {}
      summary: Download Subscription
  /tenants/{tenant_id}/subcriptions/{subscription_id}/actions/reject:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      - description: SubscriptionChange
        in: body
        name: SubscriptionChange
        required: true
        schema:
          $ref: '#/definitions/forms.SubscriptionChange'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Reject Subscription
  /tenants/{tenant_id}/subcriptions/{subscription_id}/actions/submit:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: SubscriptionChange
        in: body
        name: SubscriptionChange
        required: true
        schema:
          $ref: '#/definitions/forms.SubscriptionChange'
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Submit Subscription
  /tenants/{tenant_id}/subcriptions/{subscription_id}/actions/suspend:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: SubscriptionChange
        in: body
        name: SubscriptionChange
        required: true
        schema:
          $ref: '#/definitions/forms.SubscriptionChange'
      - description: subscription_id
        in: path
        name: subscription_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Suspend Subscription
  /tenants/{tenant_id}/submited_subcriptions:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Subscription'
            type: array
      summary: List Submited Subscription
  /tenants/{tenant_id}/switch/card/validate/is_allowed:
    get:
      consumes:
      - application/json
      description: 'access control of function: credit card validation'
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SwitchResponse'
      summary: Is Credit Card Validation Required
      tags:
      - Switch
  /tenants/{tenant_id}/switch/card/validation/required:
    get:
      consumes:
      - application/json
      description: 'access control of function: credit card validation'
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.SwitchResponse'
      summary: Is Credit Card Validation Required
      tags:
      - Switch
  /tenants/{tenant_id}/tax_rates:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TaxRate'
      summary: Update Tenant TaxRate
  /tenants/{tenant_id}/tenant_risk_close:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.TenantCloseInfo'
      summary: Get Tenant Credit Risk Close Info
  /tenants/{tenant_id}/tenant_risk_close/actions/cancel:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Run Tenant Credit Risk Close
  /tenants/{tenant_id}/tenant_risk_close/actions/run:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Run Tenant Credit Risk Close
  /tenants/{tenant_id}/users/contracts:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: page,default=1,min=1,max=100
        in: query
        name: page
        type: integer
      - description: page_size,default=20,min=1,max=100
        in: query
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.ContractsResponse'
      summary: List User View Contract
  /tenants/{tenant_id}/users/contracts/{contract_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: id
        in: path
        name: contract_id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Contract'
      summary: Get User View Contract
  /tenants/{tenant_id}/users/contracts/{contract_id}/actions/{action}:
    post:
      consumes:
      - application/json
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      - description: contract_id
        in: path
        name: contract_id
        required: true
        type: integer
      - description: action
        enum:
        - accept
        - reject
        in: path
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Operate Contract
  /tenants/{tenant_id}/users/discounts:
    get:
      description: List Discount (User portal)
      parameters:
      - description: tenant_id
        in: path
        name: tenant_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.Discount'
            type: array
      summary: List Discount (User portal)
      tags:
      - DiscountInfo
  /unit_filters:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitFilterNode'
      summary: Get Unit Filter (Credit Type) Tree
  /unit_filters/quick_selections/{target}:
    get:
      consumes:
      - application/json
      parameters:
      - description: target
        in: body
        name: target
        required: true
        schema:
          type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.UnitFilterSlim'
            type: array
      summary: Get Unit Filter Quick Selection
  /units:
    get:
      description: Return units matching group_id or the group's non-empty category. Without group_id, return all units.
      consumes:
      - application/json
      parameters:
      - description: group_id
        in: query
        name: group_id
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.UnitInfo'
            type: array
      summary: List Units
    post:
      consumes:
      - application/json
      parameters:
      - description: unit
        in: body
        name: unit
        required: true
        schema:
          $ref: '#/definitions/forms.UnitInfo'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitInfo'
      summary: Create Unit
  /units/:
    get:
      consumes:
      - application/json
      parameters:
      - description: group_id
        in: path
        name: group_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              $ref: '#/definitions/forms.UnitInfo'
            type: array
      summary: List Units By GroupID
  /units/_bulk:
    post:
      consumes:
      - application/json
      parameters:
      - description: units
        in: body
        name: unit
        required: true
        schema:
          items:
            $ref: '#/definitions/forms.UnitInfo'
          type: array
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Bulk CreateOrUpdate Unit
  /units/_create_by_group:
    post:
      consumes:
      - application/json
      parameters:
      - description: UnitByGroup
        in: body
        name: UnitByGroup
        required: true
        schema:
          $ref: '#/definitions/forms.UnitByGroup'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitInfo'
      summary: Create Unit By Group
  /units/_create_by_group/dryrun:
    post:
      consumes:
      - application/json
      parameters:
      - description: UnitByGroup
        in: body
        name: UnitByGroup
        required: true
        schema:
          $ref: '#/definitions/forms.UnitByGroup'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitInfo'
      summary: Create Unit By Group
  /units/_export:
    get:
      description: Export units selected by group_id or the group's non-empty category. Without group_id, the CSV contains only its header. SQL NULL values are represented
        as \N.
      parameters:
      - description: group_id
        in: query
        name: group_id
        type: integer
      produces:
      - text/csv
      responses:
        "200":
          description: units CSV file
          schema:
            type: file
      summary: Export Units CSV
  /units/_import:
    post:
      consumes:
      - multipart/form-data
      - text/csv
      description: Atomically upsert units by unit_key. The endpoint accepts a multipart
        file field named file or a raw text/csv body.
      parameters:
      - description: units CSV file (required for multipart requests)
        in: formData
        name: file
        type: file
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitCSVImportResult'
      summary: Import Units CSV
  /units/{unit_key}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: UnitKey
        in: path
        name: unit_key
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Delete Unit
    get:
      consumes:
      - application/json
      parameters:
      - description: UnitKey
        in: path
        name: unit_key
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitInfo'
      summary: Get Unit
    patch:
      consumes:
      - application/json
      parameters:
      - description: UnitKey
        in: path
        name: unit_key
        required: true
        type: string
      - description: unit patch
        in: body
        name: unit
        required: true
        schema:
          $ref: '#/definitions/forms.UnitPatch'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitInfo'
      summary: Patch Unit
    put:
      consumes:
      - application/json
      parameters:
      - description: UnitKey
        in: path
        name: unit_key
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.UnitInfo'
      summary: Update Unit
  /units/network/{provider}/{region}:
    post:
      consumes:
      - application/json
      parameters:
      - description: Provider
        in: path
        name: provider
        required: true
        type: string
      - description: Region
        in: path
        name: region
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Add Region NetWork Unit
  /userManualDoc:
    get:
      consumes:
      - application/json
      description: User Manual
      operationId: TCPN_UserManual
      parameters:
      - description: org_id
        in: query
        name: accessOrgId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            items:
              format: int32
              type: integer
            type: array
      summary: User Manual
      tags:
      - PartnerPrivateAPI
  /worker/run:
    post:
      consumes:
      - application/json
      parameters:
      - description: WorkerTaskAction
        in: body
        name: WorkerAction
        required: true
        schema:
          $ref: '#/definitions/forms.WorkerTaskAction'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Worker Run Action
  /worker/subtask/run:
    post:
      consumes:
      - application/json
      parameters:
      - description: WorkerSubTaskAction
        in: body
        name: WorkerAction
        required: true
        schema:
          $ref: '#/definitions/forms.WorkerSubTaskAction'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.OKType'
      summary: Worker Run Action
  /workflow:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Workflow
        in: body
        name: workflow
        required: true
        schema:
          $ref: '#/definitions/forms.Workflow'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Workflow'
      summary: DELETE Workflow
    post:
      consumes:
      - application/json
      parameters:
      - description: Workflow
        in: body
        name: workflow
        required: true
        schema:
          $ref: '#/definitions/forms.Workflow'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Workflow'
      summary: Create Workflow
    put:
      consumes:
      - application/json
      parameters:
      - description: Workflow
        in: body
        name: workflow
        required: true
        schema:
          $ref: '#/definitions/forms.Workflow'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Workflow'
      summary: Update Workflow
  /workflow/page/{page}/page_size/{page_size}:
    get:
      consumes:
      - application/json
      parameters:
      - description: page
        in: path
        name: page
        required: true
        type: string
      - description: page_size
        in: path
        name: page_size
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.WorkFlows'
      summary: Get WorkFlows
  /workflow/workflow_id/{workflow_id}:
    get:
      consumes:
      - application/json
      parameters:
      - description: workflow_id
        in: path
        name: workflow_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Workflow'
      summary: Get Workflow
    post:
      consumes:
      - application/json
      parameters:
      - description: workflow_id
        in: path
        name: workflow_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/forms.Workflow'
      summary: Duplicate Workflow
swagger: "2.0"
