> ## Documentation Index
> Fetch the complete documentation index at: https://help.onetsolutions.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Backup trial state and eligibility for an instance

> Reports whether the daily backup option can be offered on this instance and returns the latest trial for it, so the caller can either show the offer or reflect an activation already under way. `reason` is empty when eligible, otherwise one of `instance_not_active`, `backup_already_enabled`, `missing_whmcs_service`, `missing_whmcs_client`, `trial_already_open`, `backup_option_unavailable`, `unsupported_billing_cycle`.



## OpenAPI

````yaml https://api.onetsolutions.net/schema get /v1/organizations/{organization_id}/projects/{project_id}/compute/instances/{instance_id}/backup-trial
openapi: 3.0.3
info:
  title: OnetSolutions API
  version: v1 (v1)
  description: >

    ## Overview


    The OnetSolutions API provides programmatic access to manage your cloud
    infrastructure, domains, and web hosting services.


    ## Authentication


    All API requests require authentication using one of the following methods:


    - **JWT Token**: Obtain a token via login endpoints and include it in the
    `Authorization: Bearer <token>` header

    - **API Key**: Generate an API key from your account settings and use it as
    `Authorization: Bearer sk-onetsolutions-...`


    ## Rate Limiting


    API requests are rate-limited to ensure fair usage:

    - **Standard**: 1000 requests per minute

    - **Burst**: 100 requests per second


    ## Pagination


    List endpoints return paginated results. Use `page` and `page_size` query
    parameters.


    ## Error Handling


    The API uses standard HTTP status codes:

    - `200` Success

    - `201` Created

    - `400` Bad Request

    - `401` Unauthorized

    - `403` Forbidden

    - `404` Not Found

    - `429` Too Many Requests
servers:
  - url: https://api.onetsolutions.net
    description: Production
security: []
tags:
  - name: Authentication
    description: >-
      Login, passwordless authentication, MFA, OAuth providers, and token
      management.
  - name: Organizations
    description: >-
      Organization management, members, roles, modules, audit logs, and
      notification settings.
  - name: Projects
    description: Project management, team members, and project-scoped resources.
  - name: Compute
    description: >-
      Cloud instances, volumes, snapshots, backups, VPCs, firewalls, SSH keys,
      uptime monitors, and instance tasks.
  - name: Billing
    description: >-
      Shopping cart, orders, invoices, payments, payment methods, gateways,
      promo codes, and balance management.
  - name: Domains
    description: >-
      Domain availability, registration, transfers, DNS zones, DNS records, and
      TLD information.
  - name: Web Hosting
    description: >-
      cPanel-based web hosting, emails, databases, subdomains, FTP accounts,
      addon domains, and SSL certificates.
paths:
  /v1/organizations/{organization_id}/projects/{project_id}/compute/instances/{instance_id}/backup-trial:
    get:
      tags:
        - v1
      summary: Backup trial state and eligibility for an instance
      description: >-
        Reports whether the daily backup option can be offered on this instance
        and returns the latest trial for it, so the caller can either show the
        offer or reflect an activation already under way. `reason` is empty when
        eligible, otherwise one of `instance_not_active`,
        `backup_already_enabled`, `missing_whmcs_service`,
        `missing_whmcs_client`, `trial_already_open`,
        `backup_option_unavailable`, `unsupported_billing_cycle`.
      operationId: backup_trial_offer
      parameters:
        - in: path
          name: instance_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: project_id
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackupTrialOffer'
          description: ''
      security:
        - BearerAuth: []
components:
  schemas:
    BackupTrialOffer:
      type: object
      properties:
        trial:
          allOf:
            - $ref: '#/components/schemas/BackupTrial'
          nullable: true
        eligible:
          type: boolean
        reason:
          type: string
        monthly_price:
          type: string
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
        currency:
          type: string
        trial_days:
          type: integer
      required:
        - currency
        - eligible
        - monthly_price
        - reason
        - trial
        - trial_days
    BackupTrial:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        instance:
          type: string
          format: uuid
          readOnly: true
        instance_name:
          type: string
          readOnly: true
        whmcs_service_id:
          type: integer
          readOnly: true
        whmcs_order_id:
          type: integer
          readOnly: true
          nullable: true
        whmcs_invoice_id:
          type: integer
          readOnly: true
          nullable: true
        status:
          enum:
            - pending
            - active
            - converted
            - cancelled
            - failed
          type: string
          description: |-
            * `pending` - Pending
            * `active` - Active
            * `converted` - Converted
            * `cancelled` - Cancelled
            * `failed` - Failed
          x-spec-enum-id: 3bde78d1f0321c63
          readOnly: true
        source:
          enum:
            - staff
            - self_service
          type: string
          description: |-
            * `staff` - Staff
            * `self_service` - Self service
          x-spec-enum-id: bfc57e607aa8980c
          readOnly: true
        trial:
          type: boolean
          readOnly: true
        cycle:
          type: string
          readOnly: true
        monthly_price:
          type: string
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          readOnly: true
        cycle_price:
          type: string
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          readOnly: true
        credited:
          type: string
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          readOnly: true
        started_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        ends_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        reminded_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        resolved_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        failure_reason:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
        - created
        - credited
        - cycle
        - cycle_price
        - ends_at
        - failure_reason
        - id
        - instance
        - instance_name
        - monthly_price
        - reminded_at
        - resolved_at
        - source
        - started_at
        - status
        - trial
        - whmcs_invoice_id
        - whmcs_order_id
        - whmcs_service_id
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use `Authorization: Bearer <token>` header. Token can be a JWT token or
        an API key (format: `sk-onetsolutions-...`).

````