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

# Change Page General access

> Set General access atomically. author moves to Personal and unpublishes; workspace moves to Shared and unpublishes; anyone publishes without moving. Retains eligible explicit Editors. Send operation_id and expected_revision from inspection. On stale_revision inspect again and review the original draft. Exact retries by a currently authorized manager return the committed receipt with the current audience; changing a payload under the same operation_id is refused. A manager who removes their own admission receives current: null on that success; subsequent unauthorized retries are refused. Optional viewers_can_interact retains the existing permission for viewers to save Page data on supported Pages. This operation sends no email. Uses a validated person-attributed account key through Forward or the MCP metered path. Returns trace_id on every operation result. Guest email proof grants no management authority.



## OpenAPI

````yaml /openapi.json put /pages/{id}/sharing
openapi: 3.0.0
info:
  title: Lava API
  description: >-
    Lava API enables businesses to implement usage-based billing for AI
    services. This API allows tracking, managing, and billing for third-party AI
    API usage through a forwarding system.
  version: 1.0.0
  contact:
    name: Lava support
    url: https://www.lava.so/contact
servers:
  - url: https://api.lava.so/v1/
    description: Lava API v1
security: []
tags:
  - name: Authentication
  - name: Core Endpoints
  - name: Models
  - name: Services
  - name: Requests
  - name: Wallet
  - name: Payment Methods
  - name: Spend Keys
  - name: Usage
  - name: Checkout Sessions
  - name: Customers
  - name: Plans
  - name: Subscriptions
  - name: Meters
  - name: Webhooks
  - name: Secret Keys
  - name: Credit Bundles
  - name: Gateway Settings
  - name: News Data
  - name: Search
  - name: Enrich
  - name: Pages
paths:
  /pages/{id}/sharing:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      tags:
        - Pages
      summary: Change Page General access
      description: >-
        Set General access atomically. author moves to Personal and unpublishes;
        workspace moves to Shared and unpublishes; anyone publishes without
        moving. Retains eligible explicit Editors. Send operation_id and
        expected_revision from inspection. On stale_revision inspect again and
        review the original draft. Exact retries by a currently authorized
        manager return the committed receipt with the current audience; changing
        a payload under the same operation_id is refused. A manager who removes
        their own admission receives current: null on that success; subsequent
        unauthorized retries are refused. Optional viewers_can_interact retains
        the existing permission for viewers to save Page data on supported
        Pages. This operation sends no email. Uses a validated person-attributed
        account key through Forward or the MCP metered path. Returns trace_id on
        every operation result. Guest email proof grants no management
        authority.
      operationId: pageSharingaccess
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                operation_id:
                  type: string
                  minLength: 1
                  maxLength: 128
                  pattern: ^[A-Za-z0-9_-]+$
                expected_revision:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                general_access:
                  type: string
                  enum:
                    - author
                    - workspace
                    - anyone
                viewers_can_interact:
                  type: boolean
              required:
                - operation_id
                - expected_revision
                - general_access
              additionalProperties: false
      responses:
        '200':
          description: Current authorized projection or committed sharing receipt.
          content:
            application/json:
              schema:
                type: object
                properties:
                  operation_id:
                    type: string
                  committed_revision:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  canonical_link:
                    type: string
                    format: uri
                  audience:
                    type: object
                    properties:
                      general_access:
                        type: string
                        enum:
                          - author
                          - workspace
                          - anyone
                      cabinet:
                        type: string
                        enum:
                          - personal
                          - workspace
                      active_editors:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                    required:
                      - general_access
                      - cabinet
                      - active_editors
                    additionalProperties: false
                  current:
                    nullable: true
                    type: object
                    properties:
                      revision:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      canonical_link:
                        type: string
                        format: uri
                      audience:
                        type: object
                        properties:
                          general_access:
                            type: string
                            enum:
                              - author
                              - workspace
                              - anyone
                          cabinet:
                            type: string
                            enum:
                              - personal
                              - workspace
                          active_editors:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                        required:
                          - general_access
                          - cabinet
                          - active_editors
                        additionalProperties: false
                      can_assign_editors:
                        type: boolean
                      supports_saved_data:
                        type: boolean
                      viewers_can_interact:
                        type: boolean
                      author:
                        nullable: true
                        type: object
                        properties:
                          display_name:
                            type: string
                            nullable: true
                        required:
                          - display_name
                        additionalProperties: false
                      editors:
                        type: array
                        items:
                          type: object
                          properties:
                            member_id:
                              type: string
                            display_name:
                              type: string
                              nullable: true
                            email:
                              type: string
                              nullable: true
                          required:
                            - member_id
                            - display_name
                            - email
                          additionalProperties: false
                    required:
                      - revision
                      - canonical_link
                      - audience
                      - can_assign_editors
                      - supports_saved_data
                      - viewers_can_interact
                      - author
                      - editors
                    additionalProperties: false
                  trace_id:
                    type: string
                required:
                  - operation_id
                  - committed_revision
                  - canonical_link
                  - audience
                  - current
                  - trace_id
                additionalProperties: false
        '400':
          description: 'invalid: Check the sharing fields and eligible member IDs.'
        '403':
          description: 'forbidden: You cannot manage sharing for this Page.'
        '404':
          description: 'not_found: Page unavailable.'
        '409':
          description: >-
            stale_revision: Sharing changed. Review your draft against the
            current audience before saving again.


            operation_mismatch: This operation ID was already used for a
            different change.


            ownership_changed: Page ownership changed. Inspect sharing again.
        '410':
          description: 'gone: Page unavailable.'
        '503':
          description: >-
            membership_sync_pending: Workspace membership is being reconciled.
            Try again.


            authority_unavailable: Current Workspace authority could not be
            verified. Try again.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.