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

# Get Shard Block Proof

> Get merkle proof of shard block



## OpenAPI

````yaml GET /api/v2/getShardBlockProof
openapi: 3.1.1
info:
  title: TON HTTP API C++
  description: >
    This API enables HTTP access to TON blockchain - getting accounts and
    wallets information, looking up blocks and transactions, sending messages to
    the blockchain, calling get methods of smart contracts, and more.


    In addition to REST API, all methods are available through [JSON-RPC
    endpoint](#json%20rpc)  with `method` equal to method name and `params`
    passed as a dictionary.


    The response contains a JSON object, which always has a boolean field `ok`
    and either `error` or `result`. If `ok` equals true, the request was
    successful and the result of the query can be found in the `result` field.
    In case of an unsuccessful request, `ok` equals false and the error is
    explained in the `error`.


    API Key should be sent either as `api_key` query parameter or `X-API-Key`
    header
  version: 2.1.1
servers:
  - url: https://toncenter.com
    description: Mainnet
  - url: https://testnet.toncenter.com
    description: Testnet
security: []
tags:
  - name: utils
    description: Some useful methods
  - name: accounts
    description: Information about accounts
  - name: blocks
    description: Information about blocks
  - name: transactions
    description: Fetching and locating transactions
  - name: configuration
    description: Information about blockchain config
  - name: run method
    description: Run get-method of smart contracts
  - name: send
    description: Send data to blockchain
  - name: rpc
    description: JSON-RPC and POST endpoints
paths:
  /api/v2/getShardBlockProof:
    get:
      tags:
        - blocks
      summary: Get Shard Block Proof
      description: Get merkle proof of shard block
      operationId: getShardBlockProof_get
      parameters:
        - $ref: '#/components/parameters/workchain'
        - $ref: '#/components/parameters/shard'
        - $ref: '#/components/parameters/seqno'
        - name: from_seqno
          in: query
          description: >-
            Seqno of masterchain block starting from which proof is required. If
            not specified latest masterchain block is used
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    example: true
                  result:
                    title: ShardBlockProof
                    allOf:
                      - $ref: '#/components/schemas/ShardBlockProof'
                required:
                  - ok
                  - result
        default:
          $ref: '#/components/responses/default'
components:
  parameters:
    workchain:
      name: workchain
      in: query
      description: Workchain ID
      required: true
      schema:
        type: integer
        format: int32
    shard:
      name: shard
      in: query
      description: Shard ID
      required: true
      schema:
        type: string
        x-usrv-cpp-type: std::int64_t
    seqno:
      name: seqno
      in: query
      description: Seqno of a block
      required: true
      schema:
        type: integer
        format: int32
  schemas:
    ShardBlockProof:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - blocks.shardBlockProof
          default: blocks.shardBlockProof
        from:
          $ref: '#/components/schemas/TonBlockIdExt'
        mc_id:
          $ref: '#/components/schemas/TonBlockIdExt'
        links:
          type: array
          items:
            $ref: '#/components/schemas/ShardBlockLink'
        mc_proof:
          type: array
          items:
            $ref: '#/components/schemas/BlockLinkBack'
      required:
        - '@type'
        - from
        - mc_id
        - links
        - mc_proof
    TonBlockIdExt:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - ton.blockIdExt
          default: ton.blockIdExt
        workchain:
          type: integer
        shard:
          type: string
          x-usrv-cpp-type: std::int64_t
        seqno:
          type: integer
        root_hash:
          $ref: '#/components/schemas/TonHash'
        file_hash:
          $ref: '#/components/schemas/TonHash'
      required:
        - '@type'
        - workchain
        - shard
        - seqno
        - root_hash
        - file_hash
      description: Extended block identifier.
    ShardBlockLink:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - blocks.shardBlockLink
          default: blocks.shardBlockLink
        id:
          $ref: '#/components/schemas/TonBlockIdExt'
        proof:
          $ref: '#/components/schemas/Bytes'
      required:
        - '@type'
        - id
        - proof
    BlockLinkBack:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - blocks.blockLinkBack
          default: blocks.blockLinkBack
        to_key_block:
          type: boolean
        from:
          $ref: '#/components/schemas/TonBlockIdExt'
        to:
          $ref: '#/components/schemas/TonBlockIdExt'
        dest_proof:
          $ref: '#/components/schemas/Bytes'
        proof:
          $ref: '#/components/schemas/Bytes'
        state_proof:
          $ref: '#/components/schemas/Bytes'
      required:
        - '@type'
        - to_key_block
        - from
        - to
        - dest_proof
        - proof
        - state_proof
    TonlibErrorResponse:
      type: object
      additionalProperties: false
      title: TonlibErrorResponse
      required:
        - ok
        - error
        - code
      properties:
        ok:
          type: boolean
          title: Ok
          default: false
        error:
          type: string
          title: Error description
        code:
          type: integer
          title: Error code
          minimum: 100
          maximum: 600
        '@extra':
          type: string
          title: Extra information
        jsonrpc:
          type: string
        id:
          type: string
    TonHash:
      type: string
      x-usrv-cpp-type: ton_http::types::ton_hash
    Bytes:
      type: string
      x-usrv-cpp-type: ton_http::types::bytes
  responses:
    default:
      description: Tonlib error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TonlibErrorResponse'
          examples:
            '409':
              summary: Not a token
              value:
                ok: false
                code: 409
                error: Smart contract is not a Jetton or NFT
                '@extra': ...
            '422':
              summary: Request validation error
              value:
                ok: false
                code: 422
                error: ...
                '@extra': ...
            '429':
              summary: Ratelimit exceeded
              value:
                ok: false
                code: 429
                error: ...
                '@extra': ...
            '504':
              summary: Tonlib timeout
              value:
                ok: false
                code: 504
                error: ...
                '@extra': ...

````