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

# Create Comment or Reply

> Create a top-level comment or a reply for an In•Process moment. The route uses CAIP-style path params where `network` is `eip155:{chainId}` and `contract` is `erc1155:{collectionAddress}`. If `replyTo` is omitted, the request creates a top-level comment. If `replyTo` is present, its `contractAddress` and `tokenId` must match the target moment.



## OpenAPI

````yaml POST /comments/{network}/{contract}
openapi: 3.1.0
info:
  title: In•Process API
  description: >-
    The In•Process API enables browsing and managing moments from timelines.
    Retrieve moments from a specific artist's timeline, browse the in•process
    collective timeline, or filter by collection. The API supports creating
    moments, managing collections, handling payments, and interacting with the
    In•Process protocol ecosystem.
  version: 1.0.0
servers:
  - url: https://api.inprocess.world/api
    description: Production server
security: []
paths:
  /comments/{network}/{contract}:
    post:
      summary: Create Comment or Reply
      description: >-
        Create a top-level comment or a reply for an In•Process moment. The
        route uses CAIP-style path params where `network` is `eip155:{chainId}`
        and `contract` is `erc1155:{collectionAddress}`. If `replyTo` is
        omitted, the request creates a top-level comment. If `replyTo` is
        present, its `contractAddress` and `tokenId` must match the target
        moment.
      operationId: createComment
      parameters:
        - name: network
          in: path
          description: CAIP network identifier. Must be `eip155:{chainId}`.
          required: true
          schema:
            type: string
            example: eip155:8453
        - name: contract
          in: path
          description: CAIP contract identifier. Must be `erc1155:{collectionAddress}`.
          required: true
          schema:
            type: string
            example: erc1155:0x1111111111111111111111111111111111111111
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCommentRequest'
            example:
              tokenId: '1'
              text: Love this track
              replyTo:
                commenter: '0xabc0000000000000000000000000000000000001'
                contractAddress: '0x1111111111111111111111111111111111111111'
                tokenId: '1'
                nonce: >-
                  0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
              referrer: '0xdef0000000000000000000000000000000000002'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
              example:
                hash: >-
                  0xaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccddaabbccdd
                chainId: 8453
        '400':
          description: >-
            Bad request — invalid CAIP params, invalid body, or mismatched
            `replyTo` target moment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized — invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  schemas:
    CreateCommentRequest:
      type: object
      required:
        - tokenId
        - text
      properties:
        tokenId:
          type: string
          description: >-
            Moment token ID. Numeric values are accepted by the API and
            normalized to strings.
        text:
          type: string
          minLength: 1
          description: Comment body
        replyTo:
          $ref: '#/components/schemas/CommentIdentifier'
        referrer:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
          description: Optional referral address passed to the comments contract
    TransactionResponse:
      type: object
      required:
        - hash
        - chainId
      properties:
        hash:
          type: string
          description: Transaction hash of the operation
        chainId:
          type: integer
          description: Chain ID where the transaction was executed
          example: 8453
    Error:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - error
          description: Error status
        message:
          type: string
          description: Error message
        errors:
          type: array
          description: >-
            Optional array of field-level validation errors. Typically included
            in 400 Bad Request responses for validation errors.
          items:
            type: object
            required:
              - field
              - message
            properties:
              field:
                type: string
                description: The field name that failed validation
              message:
                type: string
                description: The validation error message for this field
    CommentIdentifier:
      type: object
      required:
        - commenter
        - contractAddress
        - tokenId
        - nonce
      properties:
        commenter:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
          description: Address recorded as the original commenter for the parent comment
        contractAddress:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
          description: >-
            Collection contract address for the parent comment. Must match the
            target route contract.
        tokenId:
          type: string
          description: >-
            Token ID of the parent comment target. Must match the request
            tokenId.
        nonce:
          type: string
          pattern: ^0x[a-fA-F0-9]{64}$
          description: Comments protocol nonce used to identify the parent comment
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Artist API key for authentication. Get your API key from
        https://inprocess.world/manage/api-keys

````