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

# Generate mint params

> Generate mint parameters and return a signed payload.



## OpenAPI

````yaml /openapi/mint-openapi.json POST /api/v1/mint
openapi: 3.0.0
info:
  title: Namespace Mint Manager API
  description: >-
    API for managing onchain subname minting on L1 and L2. Supports estimation,
    validation, and signed parameter generation.
  version: '1.0'
  contact:
    name: Namespace Dev Team
    url: https://namespace.ninja
    email: cap@namespace.ninja
  termsOfService: https://namespace.ninja/tos
servers:
  - url: https://mint-manager.namespace.ninja
    description: Production
  - url: https://staging.mint-manager.namespace.ninja
    description: Staging
security: []
tags: []
paths:
  /api/v1/mint:
    post:
      tags:
        - Mint Manager
      summary: Generate mint params
      description: Generate mint parameters and return a signed payload.
      operationId: MintController_generateMintParameters
      parameters: []
      requestBody:
        required: true
        description: Mint request including label, parent name, minter address, etc.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MintParametersRequest'
      responses:
        '200':
          description: Signed mint parameters ready to be used on-chain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedMintParameterersResponse'
        '400':
          description: Bad Request. Validation failed or cannot mint.
          content:
            application/json:
              schema:
                example:
                  statusCode: 400
                  message: Validation failed or cannot mint.
                  error: Bad Request
        '404':
          description: Listing not found.
          content:
            application/json:
              schema:
                example:
                  statusCode: 404
                  message: Listing not found.
                  error: Not Found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                example:
                  statusCode: 500
                  message: Internal server error.
                  error: Internal Server Error
components:
  schemas:
    MintParametersRequest:
      type: object
      properties:
        label:
          type: string
          description: >-
            Label or subname to mint (e.g., "satoshi"). Must be 1-255
            characters.
          example: satoshi
          minLength: 1
          maxLength: 255
        parentName:
          type: string
          description: >-
            Parent ENS name under which the label is being minted (e.g.,
            "universe.eth").
          example: universe.eth
          minLength: 1
          maxLength: 255
        expiryInYears:
          type: number
          description: >-
            Optional number of years the subname will be valid for. Used for
            expirable names. Defaults to 1 if not provided
          example: 1
        minterAddress:
          type: string
          description: Ethereum address of the minter.
          example: '0x1234567890abcdef1234567890abcdef12345678'
        isTestnet:
          type: boolean
          description: Whether the operation is being performed on a testnet.
          example: true
        owner:
          type: object
          description: >-
            Optional custom owner address of the subname (if different from
            minter).
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
      required:
        - label
        - parentName
        - minterAddress
    SignedMintParameterersResponse:
      type: object
      properties:
        content:
          description: The structured mint parameters used for generating the signature.
          allOf:
            - $ref: '#/components/schemas/MintParametersResponse'
        signature:
          type: string
          description: Cryptographic signature of the mint parameters.
          example: '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef1b'
      required:
        - content
        - signature
    MintParametersResponse:
      type: object
      properties:
        label:
          type: string
          description: Subname to mint, provided in the request.
          example: satoshi
        owner:
          type: object
          description: Owner of the subname to be minted.
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
        fee:
          type: string
          description: >-
            Fee charged by the platform to mint the requested subname (in ETH,
            as a string).
          example: '0.002'
        price:
          type: string
          description: Price to mint the requested subname (in ETH, as a string).
          example: '0.01'
        parentNode:
          type: string
          description: >-
            Namehash of the parent ENS name under which the subname is being
            minted.
          example: '0xabc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc1'
        paymentReceiver:
          type: object
          description: Recipient of the payment. Defaults to the owner of the listing.
          example: '0x1234567890abcdef1234567890abcdef12345678'
        verifiedMinter:
          type: object
          description: >-
            Address that is authorized as a verified minter. Set if the listing
            requires one.
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
        signatureExpiry:
          type: number
          description: Unix timestamp of when the minting signature will expire.
          example: 1726425612
        expiry:
          type: number
          description: >-
            Unix timestamp of when the subname will expire. Defaults to max
            integer or follows parent name expiry.
          example: 4294967295
        fuses:
          type: number
          description: Optional ENS fuses value (bitmask representing restrictions).
          example: 65536
      required:
        - label
        - owner
        - fee
        - price
        - parentNode
        - paymentReceiver
        - verifiedMinter
        - signatureExpiry
        - expiry

````