{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/auraspay-com/json-schema/auraspay-com-create-payment-link-request-schema.json",
  "title": "CreatePaymentLinkRequest",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/auraspay-com-openapi.json#/components/schemas/CreatePaymentLinkRequest",
  "type": "object",
  "required": [
    "label"
  ],
  "properties": {
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "amount": {
      "type": [
        "string",
        "number"
      ],
      "description": "Positive crypto amount. Provide this or fiatAmount. If both are sent, amount takes precedence; prefer one."
    },
    "fiatAmount": {
      "type": [
        "string",
        "number"
      ],
      "description": "Positive fiat-denominated amount used for a crypto quote when amount is absent; not fiat settlement."
    },
    "fiatCurrency": {
      "type": "string",
      "enum": [
        "USD",
        "EUR",
        "GBP",
        "AED",
        "JPY",
        "CAD",
        "AUD",
        "SGD",
        "INR"
      ],
      "default": "USD"
    },
    "currency": {
      "type": "string",
      "enum": [
        "SOL",
        "USDC",
        "USDT",
        "EURC",
        "BTC",
        "ETH",
        "TRX",
        "BNB"
      ]
    },
    "network": {
      "type": "string",
      "enum": [
        "solana",
        "bitcoin",
        "ethereum",
        "tron",
        "bnb"
      ]
    },
    "walletAddress": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "maxLength": 200
    },
    "reference": {
      "type": "string",
      "maxLength": 100
    },
    "webhookUrl": {
      "type": "string",
      "format": "uri",
      "description": "Public HTTP/HTTPS receiver; HTTPS strongly recommended. Configure the matching signing secret first."
    },
    "integrationPlatform": {
      "type": "string"
    },
    "storeUrl": {
      "type": "string",
      "format": "uri"
    },
    "pluginVersion": {
      "type": "string"
    },
    "testMode": {
      "type": "boolean",
      "default": false,
      "description": "Metadata only. Does not select a sandbox or testnet and does not make a payment risk-free."
    }
  },
  "anyOf": [
    {
      "required": [
        "amount"
      ]
    },
    {
      "required": [
        "fiatAmount"
      ]
    }
  ],
  "dependentRequired": {
    "integrationPlatform": [
      "storeUrl"
    ],
    "storeUrl": [
      "integrationPlatform"
    ]
  }
}