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

# Get data version history status

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns whether the app has version history for its entity data, and how far back it goes.

Base44 records every change to an entity's records, and marks points you can go back to as [checkpoints](/api-reference/list-data-checkpoints). Read `state` before calling the other version history endpoints, since they're refused unless it's `enabled`.

Version history comes with the Elite plan and above. Elite keeps 7 days of history, and higher plans keep 30.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and workspace API keys are not accepted.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/entities/versions/info
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/entities/versions/info:
    get:
      summary: Get data version history status
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns whether the app has version history for its entity data, and how
        far back it goes.


        Base44 records every change to an entity's records, and marks points you
        can go back to as [checkpoints](/api-reference/list-data-checkpoints).
        Read `state` before calling the other version history endpoints, since
        they're refused unless it's `enabled`.


        Version history comes with the Elite plan and above. Elite keeps 7 days
        of history, and higher plans keep 30.


        <Note>This endpoint accepts a personal API key belonging to a user with
        editor access to the app. A read-only key is refused, and workspace API
        keys are not accepted.</Note>
      operationId: >-
        get_app_version_history_info_api_apps__app_id__entities_versions_info_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app.
            title: App Id
          description: ID of the app.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The app's version history status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionHistoryInfo'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, or your API key is
            read-only.
        '404':
          description: App not found.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 150 requests per minute. See
            [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
components:
  schemas:
    VersionHistoryInfo:
      properties:
        state:
          type: string
          enum:
            - enabled
            - needs_upgrade
            - unavailable
          title: State
          description: >-
            Whether the app has version history. `enabled` means Base44 is
            keeping history and you can list checkpoints and restore from them.
            `needs_upgrade` means the app's workspace plan doesn't include
            version history. `unavailable` means version history doesn't cover
            this app, for example because its data is stored in the workspace's
            own database.
          example: enabled
        retention_days:
          anyOf:
            - type: integer
            - type: 'null'
          title: Retention Days
          description: >-
            How many days of history Base44 keeps, or `null` unless `state` is
            `enabled`.
          example: 30
        history_available_since:
          anyOf:
            - type: string
            - type: 'null'
          title: History Available Since
          description: >-
            The earliest moment you can restore to, as a UTC timestamp in ISO
            8601 format with a `Z` suffix, when history was paused while the
            workspace was on a plan without it. It is `null` unless `state` is
            `enabled`, and also when `retention_days` alone limits how far back
            you can go.
          example: '2026-06-02T08:00:00Z'
      type: object
      required:
        - state
      title: VersionHistoryInfo
      description: Whether version history is on for an app, and how far back it goes.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````