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

# Generate Paylink Variant URL

> Generate a variant URL for a payment link



## OpenAPI

````yaml /openapi.yaml get /paylinks/generate-variant/{paylinkId}
openapi: 3.1.0
info:
  contact:
    email: support@boomfi.xyz
    name: API Support
  description: >-
    The BoomFi Merchants API provides a set of endpoints for merchants to manage
    their accounts, transactions, and more. Hosts differ per brand/environment;
    use the brand-specific base URL from the docs.
  title: ZBX Merchants API
  version: '1.0'
servers:
  - url: https://mapi.zbx.boomfi.xyz/v1
    description: Production
security: []
tags:
  - description: Payment links
    name: Paylinks
  - description: Billing plans
    name: Plans
  - description: Subscriptions
    name: Subscriptions
  - description: Customer records
    name: Customers
  - description: Invoices
    name: Invoices
  - description: Payments
    name: Payments
  - description: Organisation events
    name: Events
  - description: Organisation profile and display settings
    name: Organisation
  - description: Webhook and request-signing secrets
    name: Secrets
  - description: Settlement accounts
    name: Accounts
  - name: Bank Address Book
  - description: Managed virtual accounts, balances, pay-in, and payout
    name: Virtual Accounts
  - description: Partner-managed accounts, virtual accounts, pay-in, and payout
    name: Partners
  - description: Partner virtual account automations and run history
    name: Partner Automations
  - description: Partner maintain-balance automations
    name: Partner Balance Monitoring
  - description: Tradeable currencies, instruments, and swap targets
    name: Instruments
  - description: RFQ quotes
    name: Quotes
  - description: RFQ orders and one-click trades
    name: Orders
  - description: Executed trades
    name: Trades
paths:
  /paylinks/generate-variant/{paylinkId}:
    get:
      tags:
        - Paylinks
      summary: Generate Paylink Variant URL
      description: Generate a variant URL for a payment link
      parameters:
        - description: Unique payment link identifier (plink_...)
          in: path
          name: paylinkId
          required: true
          schema:
            type: string
        - description: Override amount for this checkout variant.
          example: '25.00'
          in: query
          name: amount
          schema:
            type: string
        - description: Override currency for this checkout variant.
          example: USD
          in: query
          name: currency
          schema:
            type: string
        - description: Customer identifier recorded as customer.reference on the payment.
          example: user-123
          in: query
          name: customer_ident
          schema:
            type: string
        - description: Override description shown on the checkout.
          in: query
          name: description
          schema:
            type: string
        - description: Expiration time as RFC3339 or unix seconds.
          example: '2024-12-31T23:59:59.000Z'
          in: query
          name: expires_at
          schema:
            type: string
        - description: Redirect URL after successful payment.
          example: https://example.com/thanks
          in: query
          name: redirect_to
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/internal.Response-paylinks_GenerateVariantURLResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    internal.Response-paylinks_GenerateVariantURLResponse:
      properties:
        data:
          allOf:
            - $ref: '#/components/schemas/paylinks.GenerateVariantURLResponse'
          description: Response payload when the request succeeded.
        error:
          description: True when the request failed.
          type: boolean
        message:
          description: Human-readable status or error message.
          type: string
      type: object
    internal.ErrorResponse:
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/internal.ErrorStruct'
          description: Error details including HTTP-style code and message.
      type: object
    paylinks.GenerateVariantURLResponse:
      properties:
        created_by:
          description: User or system that created the resource.
          type: string
        payment_link:
          allOf:
            - $ref: '#/components/schemas/paylinks.PaymentLinkResponse'
          description: Payment link associated with this resource.
        plan:
          allOf:
            - $ref: '#/components/schemas/plan.PlanResponse'
          description: Plan associated with this resource.
        url:
          description: Generated checkout or payment-link URL for this variant.
          type: string
      type: object
    internal.ErrorStruct:
      properties:
        code:
          description: |-
            Error code
            Example: 400
          example: 400
          type: integer
        errors:
          description: List of errors
          items:
            $ref: '#/components/schemas/internal.SingleError'
          type: array
        message:
          description: |-
            Error message
            Example: Insufficient quantity
          example: Insufficient quantity
          type: string
      type: object
    paylinks.PaymentLinkResponse:
      properties:
        created_at:
          description: When the resource was created (RFC3339).
          type: string
        created_by:
          description: User or system that created the resource.
          type: string
        customer_ident_collection:
          description: Whether customer identity details are collected at checkout.
          type: boolean
        deleted_at:
          description: When the resource was soft-deleted (RFC3339), if applicable.
          type: string
        enabled:
          description: Whether this resource is enabled.
          type: boolean
        id:
          description: Unique resource identifier.
          type: string
        invoice_id:
          description: Unique identifier of the invoice linked to this resource.
          type: string
        metadata:
          additionalProperties: {}
          description: Arbitrary merchant-defined metadata.
          type: object
        plan:
          allOf:
            - $ref: '#/components/schemas/plan.PlanResponse'
          description: Plan associated with this resource.
        plan_id:
          description: Unique identifier of the plan linked to this resource.
          type: string
        properties:
          additionalProperties: {}
          description: Additional properties as a key-value map.
          type: object
        shipping_address_collection:
          description: Whether a shipping address is collected at checkout.
          type: boolean
        source:
          allOf:
            - $ref: '#/components/schemas/docenums.BillingSource'
          description: Origin system or integration that created this resource.
        tax_ident_collection:
          description: Whether a tax identifier is collected at checkout.
          type: boolean
        updated_at:
          description: When the resource was last updated (RFC3339).
          type: string
        updated_by:
          description: User or system that last updated the resource.
          type: string
      type: object
    plan.PlanResponse:
      properties:
        available_quantity:
          description: >-
            Remaining purchasable quantity when the plan has a capped supply;
            omitted when unlimited.
          type: integer
        billing_scheme:
          allOf:
            - $ref: '#/components/schemas/docenums.BillingScheme'
          description: Pricing scheme (FlatFee, PerUnit, Graduated, Volume).
        created_at:
          description: When the resource was created (RFC3339).
          type: string
        created_by:
          description: User or system that created the resource.
          type: string
        currency:
          description: Currency symbol (for example USDC or USD).
          type: string
        deleted_at:
          description: When the resource was soft-deleted (RFC3339), if applicable.
          type: string
        enabled:
          description: Whether this resource is enabled.
          type: boolean
        expires_at:
          description: Expiration time (RFC3339).
          type: string
        id:
          description: Unique resource identifier.
          type: string
        metadata:
          additionalProperties: {}
          description: Arbitrary key-value metadata attached to the plan.
          type: object
        name:
          description: Display name.
          type: string
        org_id:
          description: Organisation ID that owns this resource.
          type: string
        payment_link:
          allOf:
            - $ref: '#/components/schemas/plan.PaymentLinkResponse'
          description: Checkout payment link associated with this plan, when one exists.
        price:
          description: Price as a decimal string.
          type: string
        properties:
          additionalProperties: {}
          description: Internal plan properties (feature flags and display settings).
          type: object
        recurring_interval:
          allOf:
            - $ref: '#/components/schemas/docenums.RecurringInterval'
          description: >-
            Billing interval unit for recurring plans (Minute, Hour, Day, Week,
            Month, Year).
        recurring_interval_count:
          description: Number of interval units between billings.
          type: integer
        recurring_usage_type:
          allOf:
            - $ref: '#/components/schemas/docenums.RecurringUsageType'
          description: Usage metering type for recurring plans (Licensed or Metered).
        reference:
          description: Merchant-defined reference string.
          type: string
        source:
          allOf:
            - $ref: '#/components/schemas/docenums.BillingSource'
          description: Origin system or integration that created this resource.
        trial_period:
          description: Trial period before the first charge (for example duration string).
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/docenums.PlanType'
          description: Resource or value type.
        updated_at:
          description: When the resource was last updated (RFC3339).
          type: string
      type: object
    internal.SingleError:
      properties:
        domain:
          description: |-
            Domain
            Example: orders
          example: orders
          type: string
        reason:
          description: |-
            Error Reason
            Example: InsufficientQuantity
          example: InsufficientQuantity
          type: string
      type: object
    docenums.BillingSource:
      enum:
        - Lago
        - BoomFi
        - Stripe
        - Chargebee
        - QuickBooks
      type: string
      x-enum-varnames:
        - BillingSourceLago
        - BillingSourceBoomFi
        - BillingSourceStripe
        - BillingSourceChargebee
        - BillingSourceQuickBooks
    docenums.BillingScheme:
      enum:
        - FlatFee
        - PerUnit
        - Graduated
        - Volume
      type: string
      x-enum-varnames:
        - BillingSchemeFlatFee
        - BillingSchemePerUnit
        - BillingSchemeGraduated
        - BillingSchemeVolume
    plan.PaymentLinkResponse:
      properties:
        created_at:
          description: When the resource was created (RFC3339).
          type: string
        created_by:
          description: User or system that created the resource.
          type: string
        customer_ident_collection:
          description: Whether customer identity details are collected at checkout.
          type: boolean
        deleted_at:
          description: When the resource was soft-deleted (RFC3339), if applicable.
          type: string
        enabled:
          description: Whether this resource is enabled.
          type: boolean
        id:
          description: Unique resource identifier.
          type: string
        invoice_id:
          description: Unique identifier of the invoice linked to this resource.
          type: string
        metadata:
          additionalProperties: {}
          description: Arbitrary key-value metadata attached to the payment link.
          type: object
        plan_id:
          description: Unique identifier of the plan linked to this resource.
          type: string
        properties:
          additionalProperties: {}
          description: Internal payment link properties.
          type: object
        shipping_address_collection:
          description: Whether a shipping address is collected at checkout.
          type: boolean
        source:
          allOf:
            - $ref: '#/components/schemas/docenums.BillingSource'
          description: Origin system or integration that created this resource.
        tax_ident_collection:
          description: Whether a tax identifier is collected at checkout.
          type: boolean
        updated_at:
          description: When the resource was last updated (RFC3339).
          type: string
        updated_by:
          description: User or system that last updated the resource.
          type: string
      type: object
    docenums.RecurringInterval:
      enum:
        - Unknown
        - Minute
        - Hour
        - Day
        - Week
        - Month
        - Year
      type: string
      x-enum-varnames:
        - RecurringIntervalUnknown
        - RecurringIntervalMinute
        - RecurringIntervalHour
        - RecurringIntervalDay
        - RecurringIntervalWeek
        - RecurringIntervalMonth
        - RecurringIntervalYear
    docenums.RecurringUsageType:
      enum:
        - Unknown
        - Licensed
        - Metered
      type: string
      x-enum-varnames:
        - RecurringUsageTypeUnknown
        - RecurringUsageTypeLicensed
        - RecurringUsageTypeMetered
    docenums.PlanType:
      enum:
        - Unknown
        - OneTime
        - Recurring
      type: string
      x-enum-varnames:
        - PlanTypeUnknown
        - PlanTypeOneTime
        - PlanTypeRecurring
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-KEY
      type: apiKey

````