RentCheck Chargebee API

The Chargebee API from RentCheck — 3 operation(s) for chargebee.

OpenAPI Specification

rentcheck-chargebee-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: RentCheck REST Account Settings Chargebee API
  version: 1.0.0
  description: "\n## Mission\nAt RentCheck, our mission is plain and simple: To make renting fair and transparent for everyone involved. \nRentCheck is a property inspection solution that helps property managers save time and resources with easy self-guided inspections that residents can perform from their smartphone. \n\nWith RentCheck, property managers can avoid tenant coordination, eliminate drive time, and standardize their inspection process. \nWe provides real-time visibility to property managers and owners while bringing transparency to the security deposit deduction process.\n\n## API\nThe RentCheck API lets developers tap into the RentCheck ecosystem, building their own RentCheck-powered applications to enable inspection scheduling and creation and to leverage inspection data for a variety of use cases in the property management, maintenance, and insurance spaces.\n\nThe RentCheck REST API supports JSON requests and responses and features a resource-oriented design that generally adheres to the RFC 7321 HTTP/1.1 standard. \nOur API resources provide access to many RentCheck features, including units, buildings, communities, inspections, and residents.\n\n## Credentials\nIn addition to the Bearer Auth, RentCheck will need to send you an application ID and secret. These are required to generate the required application headers (x-app-id & x-app-secret).\nThese values can be obtained from the [RentCheck API integration page](https://app.getrentcheck.com/account/integrations/rentcheck-api).\n\n## Rate Limiting\nThe RentCheck API enforces rate limits to ensure fair usage and prevent abuse. The rate limits are as follows:\n- **Requests per second**: 8\n- **Requests per minute**: 256\n- **Requests per 10 minutes**: 1024\n\nIf you exceed the rate limits, you will receive a 429 Too Many Requests response.\n\n## Pagination\nWhen interacting with endpoints that return a list of items, the results are paginated to help manage large data sets efficiently. The following parameters control pagination:\n- **page_size** (integer): Defines the number of items returned per page. The maximum allowed value is 250. If a value larger than 250 is provided, it will be automatically clamped to 250. This ensures that the system performs optimally and prevents the server from being overwhelmed by too many items in a single response.\n  - **Maximum**: `250`\n- **page_number** (integer): Indicates the page number to retrieve. Pagination starts at `page 0`. If not specified, the first page (`page 0`) is returned by default.\n### Example Request\n```http\nGET /api/v1/inspections?page_size=300&page_number=2\n```\nIn this example, although the `page_size` parameter is set to `300` **for a query with 1500 total results**, the system will return only `250` items per page, as `300` exceeds the maximum allowed value.\n#### Example Response\n```json\n{\n    \"status\": 200,\n    \"data\": [...],\n    \"count\": 250,\n    \"total_results\": 1500\n}\n```\nThis response shows that the `page_size` has been clamped to `250`, despite the initial request for `300`.\n"
  contact:
    name: RentCheck Support
    email: support@getrentcheck.com
servers:
- url: https://prod-public-api.getrentcheck.com
  description: Production server
security:
- bearerAuth: []
  x-app-id: []
  x-app-secret: []
tags:
- name: Chargebee
paths:
  /v1/chargebee/addons:
    get:
      x-internal: true
      summary: List Chargebee addons
      tags:
      - Chargebee
      description: 'Returns the list of Chargebee addons currently configured for the

        RentCheck account. The response is the raw Chargebee addon payload.

        '
      responses:
        '200':
          description: List of Chargebee addons.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/chargebee_get_all_addons_response_model'
                  count:
                    type: integer
                    description: Amount of elements in `data`.
        '401':
          $ref: '#/components/responses/401'
  /v1/chargebee/plans:
    get:
      x-internal: true
      summary: List Chargebee plans
      tags:
      - Chargebee
      description: 'Returns the list of Chargebee plans currently configured for the

        RentCheck account. The response is the raw Chargebee plan payload.

        '
      responses:
        '200':
          description: List of Chargebee plans.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/chargebee_get_all_plans_response_model'
                  count:
                    type: integer
                    description: Amount of elements in `data`.
        '401':
          $ref: '#/components/responses/401'
  /v1/chargebee/subscriptions/{subscriptionId}:
    get:
      x-internal: true
      summary: Get a Chargebee subscription by ID
      tags:
      - Chargebee
      description: 'Returns the Chargebee subscription for the given subscription

        id. Returns `Subscription not found` when no matching subscription

        exists.

        '
      parameters:
      - name: subscriptionId
        in: path
        description: Chargebee subscription ID.
        required: true
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: The requested Chargebee subscription.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 200
                  data:
                    $ref: '#/components/schemas/api_chargebee_subscription'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Not Found — `Subscription not found`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code
                    example: 404
                  error:
                    type: string
                    example: Subscription not found
components:
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: integer
                description: HTTP status code
                example: 401
              error:
                type: string
                description: Error message
                enum:
                - token is not valid
                - authorization header is empty
                - authorization header is not valid
                - 'format for Authorization must be: Bearer [token]'
                - refresh token is not valid for resources
                - not well-formed token
                example: token is not valid
  schemas:
    chargebee_get_all_plans_response_model:
      x-internal: true
      type: array
      description: List of Chargebee plans available to the caller.
      items:
        $ref: '#/components/schemas/api_chargebee_plan'
    chargebee_get_all_addons_response_model:
      x-internal: true
      type: array
      description: List of Chargebee addons available to the caller.
      items:
        $ref: '#/components/schemas/api_chargebee_addon'
    api_chargebee_plan:
      x-internal: true
      type: object
      required:
      - id
      - name
      - invoice_name
      - description
      - charge_model
      - price
      properties:
        id:
          type: string
          description: Chargebee plan id.
        name:
          type: string
          description: Plan name.
        invoice_name:
          type: string
          description: Name shown on the invoice line item.
        description:
          type: string
          description: Plan description.
        charge_model:
          type: string
          enum:
          - flat_fee
          - per_unit
          - tiered
          - volume
          - stairstep
          description: Chargebee charge model for the plan.
        trial_period:
          type: integer
          description: Length of the trial period, if any.
        trial_period_unit:
          type: string
          enum:
          - day
          - month
          description: Unit for `trial_period`.
        price:
          type: integer
          description: Price in cents (Chargebee stores money as integer cents).
    api_chargebee_subscription:
      x-internal: true
      type: object
      required:
      - id
      - plan_id
      - plan_quantity
      - plan_unit_price
      - customer_id
      - plan_amount
      - plan_free_quantity
      - status
      - current_term_start
      - current_term_end
      - created_at
      - started_at
      - updated_at
      - currency_code
      - due_invoices_count
      - cf_Minimum_Units
      properties:
        id:
          type: string
          description: Chargebee subscription id.
        plan_id:
          type: string
          description: Chargebee plan id the subscription is on.
        plan_quantity:
          type: integer
          description: Plan quantity.
        plan_unit_price:
          type: integer
          description: Plan unit price in cents.
        customer_id:
          type: string
          description: Chargebee customer id that owns the subscription.
        plan_amount:
          type: integer
          description: Plan amount in cents.
        plan_free_quantity:
          type: integer
          description: Quantity included free with the plan.
        status:
          type: string
          enum:
          - active
          - future
          - in_trial
          - non_renewing
          - paused
          - cancelled
          description: Subscription status.
        current_term_start:
          type: integer
          format: int64
          description: Start of the current term, in seconds since epoch.
        current_term_end:
          type: integer
          format: int64
          description: End of the current term, in seconds since epoch.
        next_billing_at:
          type: integer
          format: int64
          description: Next billing timestamp, in seconds since epoch.
        created_at:
          type: integer
          format: int64
          description: Creation timestamp, in seconds since epoch.
        pause_date:
          type: integer
          format: int64
          description: Pause timestamp, in seconds since epoch.
        started_at:
          type: integer
          format: int64
          description: Start timestamp, in seconds since epoch.
        updated_at:
          type: integer
          format: int64
          description: Last update timestamp, in seconds since epoch.
        currency_code:
          type: string
          enum:
          - USD
          description: Subscription currency.
        addons:
          type: array
          description: Addons attached to the subscription.
          items:
            type: object
            required:
            - id
            - quantity
            - unit_price
            - amount
            properties:
              id:
                type: string
                description: Addon id.
              quantity:
                type: integer
                description: Addon quantity.
              unit_price:
                type: integer
                description: Unit price in cents.
              amount:
                type: integer
                description: Total amount in cents.
        coupons:
          type: array
          description: Coupons applied to the subscription.
          items:
            type: object
            required:
            - coupon_id
            - applied_count
            properties:
              coupon_id:
                type: string
                description: Coupon id.
              applied_count:
                type: integer
                description: Number of times the coupon has been applied.
        due_invoices_count:
          type: integer
          description: Number of due invoices.
        cf_Minimum_Units:
          type: integer
          description: Minimum number of units enforced by the subscription.
        trial_start:
          type: integer
          format: int64
          description: Trial start timestamp, in seconds since epoch.
        trial_end:
          type: integer
          format: int64
          description: Trial end timestamp, in seconds since epoch.
    api_chargebee_addon:
      x-internal: true
      type: object
      required:
      - id
      - name
      - invoice_name
      - description
      - pricing_model
      - price
      properties:
        id:
          type: string
          description: Chargebee addon id.
        name:
          type: string
          description: Addon name.
        invoice_name:
          type: string
          description: Name shown on the invoice line item.
        description:
          type: string
          description: Addon description.
        pricing_model:
          type: string
          enum:
          - flat_fee
          - per_unit
          - tiered
          - volume
          - stairstep
          description: Chargebee pricing model for the addon.
        price:
          type: integer
          description: Price in cents (Chargebee stores money as integer cents).
  securitySchemes:
    bearerAuth:
      description: Authorization key needed to use the API
      type: http
      scheme: bearer
      bearerFormat: JWT
    x-app-id:
      description: Represents the identification of you application
      type: apiKey
      name: x-app-id
      in: header
      required: true
    x-app-secret:
      description: Represents the secret for your application
      type: apiKey
      name: x-app-secret
      in: header
      required: true