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

# Metadata

> Fetches any metadata needed for transaction construction.



## OpenAPI

````yaml nodeapi/openapi/icp-openapiv3-vc2.json POST /construction/metadata
openapi: 3.0.3
info:
  title: ICP Rosetta API
  description: OpenAPI v3 spec for ICP Rosetta endpoints on the Internet Computer.
  version: 1.0.0
servers:
  - url: https://icp-mainnet.icp.validationcloud.io/v1/<YOUR_API_KEY_HERE>
security: []
paths:
  /construction/metadata:
    post:
      tags:
        - Construction
      summary: Get transaction metadata
      description: Fetches any metadata needed for transaction construction.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConstructionMetadataRequest'
      responses:
        '200':
          description: Construction metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstructionMetadataResponse'
        '500':
          description: Internal server error
components:
  schemas:
    ConstructionMetadataRequest:
      type: object
      properties:
        network_identifier:
          $ref: '#/components/schemas/NetworkIdentifier'
        options:
          type: object
          additionalProperties: true
        public_keys:
          type: array
          items:
            $ref: '#/components/schemas/PublicKey'
    ConstructionMetadataResponse:
      type: object
      properties:
        metadata:
          type: object
          additionalProperties: true
        suggested_fee:
          type: array
          items:
            $ref: '#/components/schemas/Amount'
    NetworkIdentifier:
      type: object
      required:
        - blockchain
        - network
      properties:
        blockchain:
          type: string
          example: Internet Computer
        network:
          type: string
          example: '00000000000000020101'
        sub_network_identifier:
          $ref: '#/components/schemas/SubNetworkIdentifier'
    PublicKey:
      type: object
      properties:
        hex_bytes:
          type: string
        curve_type:
          type: string
    Amount:
      type: object
      properties:
        value:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        metadata:
          type: object
          additionalProperties: true
    SubNetworkIdentifier:
      type: object
      required:
        - network
      properties:
        network:
          type: string
        metadata:
          type: object
          additionalProperties: true
    Currency:
      type: object
      properties:
        symbol:
          type: string
        decimals:
          type: integer
          format: int32
        metadata:
          type: object
          additionalProperties: true

````

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