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

# /l2beat/projects/liveness

> Get L2BEAT liveness intervals (tx data, proof, state updates) and anomalies per scaling project

**Price:** 1 credit

**💡 AI Hint:** Get the liveness of Ethereum layer-two scaling projects tracked by L2BEAT — how regularly each project posts transaction data, validity proofs, and state updates to Ethereum L1. Returns the average, minimum, and maximum interval in seconds for the chosen window, plus recent anomalies (unusual gaps in submission). Omit 'project' for all projects, or pass a slug for a single project.

**⚠️ Common errors:** 412: Project not found



## OpenAPI

````yaml /openapi-filtered.json post /api/l2beat/projects/liveness
openapi: 3.1.0
info:
  title: Any Site API
  description: >+
    Any Site API provides programmatic access to data from LinkedIn, Instagram,
    Twitter, and other platforms.


    ## Authentication


    All API endpoints require an `access-token` header with a valid API token.
    Tokens can be created in the [dashboard](https://app.anysite.io/).


    ## Pricing


    Each endpoint has a credit cost listed in its description. Credits are
    deducted from your token balance per request.

  version: 0.0.1
servers: []
security:
  - AccessToken: []
paths:
  /api/l2beat/projects/liveness:
    post:
      tags:
        - /l2beat
      summary: /l2beat/projects/liveness
      description: >-
        Get L2BEAT liveness intervals (tx data, proof, state updates) and
        anomalies per scaling project


        **Price:** 1 credit


        **💡 AI Hint:** Get the liveness of Ethereum layer-two scaling projects
        tracked by L2BEAT — how regularly each project posts transaction data,
        validity proofs, and state updates to Ethereum L1. Returns the average,
        minimum, and maximum interval in seconds for the chosen window, plus
        recent anomalies (unusual gaps in submission). Omit 'project' for all
        projects, or pass a slug for a single project.


        **⚠️ Common errors:** 412: Project not found
      operationId: __api_l2beat_projects_liveness_post
      parameters:
        - name: access-token
          in: header
          required: true
          schema:
            anyOf:
              - type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/L2beatProjectsLivenessPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/L2beatProjectLiveness'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    L2beatProjectsLivenessPayload:
      properties:
        timeout:
          type: integer
          maximum: 1500
          minimum: 20
          description: Max scrapping execution timeout (in seconds)
          default: 300
        project:
          anyOf:
            - type: string
            - type: 'null'
          description: Project slug to return liveness for one project; omit for all
          examples:
            - arbitrum
        count:
          type: integer
          minimum: 1
          description: Max number of projects to return
        range:
          $ref: '#/components/schemas/L2beatLivenessRange'
          description: Aggregation window for the interval averages
          default: 30d
      type: object
      required:
        - count
    L2beatProjectLiveness:
      properties:
        '@type':
          type: string
          default: L2beatProjectLiveness
        id:
          type: string
        name:
          type: string
        alias:
          anyOf:
            - type: string
            - type: 'null'
        proof_system:
          anyOf:
            - type: string
            - type: 'null'
        category:
          anyOf:
            - type: string
            - type: 'null'
        is_synced:
          type: boolean
          default: false
        tx_data:
          anyOf:
            - $ref: '#/components/schemas/L2beatLivenessInterval'
            - type: 'null'
        proof_submissions:
          anyOf:
            - $ref: '#/components/schemas/L2beatLivenessInterval'
            - type: 'null'
        state_updates:
          anyOf:
            - $ref: '#/components/schemas/L2beatLivenessInterval'
            - type: 'null'
        anomalies:
          items:
            $ref: '#/components/schemas/L2beatLivenessAnomaly'
          type: array
          default: []
      type: object
      required:
        - id
        - name
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    L2beatLivenessRange:
      type: string
      enum:
        - 30d
        - 90d
        - max
    L2beatLivenessInterval:
      properties:
        '@type':
          type: string
          default: L2beatLivenessInterval
        average_seconds:
          anyOf:
            - type: integer
            - type: 'null'
        minimum_seconds:
          anyOf:
            - type: integer
            - type: 'null'
        maximum_seconds:
          anyOf:
            - type: integer
            - type: 'null'
        warning:
          anyOf:
            - type: string
            - type: 'null'
      type: object
    L2beatLivenessAnomaly:
      properties:
        '@type':
          type: string
          default: L2beatLivenessAnomaly
        start:
          type: integer
        end:
          anyOf:
            - type: integer
            - type: 'null'
        duration_seconds:
          anyOf:
            - type: integer
            - type: 'null'
        status:
          anyOf:
            - type: string
            - type: 'null'
        subtype:
          anyOf:
            - type: string
            - type: 'null'
        avg_interval:
          anyOf:
            - type: integer
            - type: 'null'
        is_approved:
          type: boolean
          default: false
      type: object
      required:
        - start
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
        input: {}
        ctx:
          type: object
      type: object
      required:
        - loc
        - msg
        - type
  securitySchemes:
    AccessToken:
      type: apiKey
      in: header
      name: access-token
      description: API token from the dashboard

````