{
  "components": {
    "schemas": {
      "Checkout": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Order"
          },
          {
            "properties": {
              "checkout_url": {
                "format": "uri",
                "type": "string"
              },
              "fulfillment": {
                "type": "string"
              }
            },
            "required": [
              "fulfillment"
            ],
            "type": "object"
          }
        ]
      },
      "Credential": {
        "properties": {
          "license_key": {
            "description": "শুধু অফিসিয়াল SDK-এর জন্য; এই মান দেখে কখনো প্রবেশ অনুমোদন করবেন না।",
            "type": "string",
            "x-sensitive": true
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "valid_until": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "product_id",
          "license_key",
          "valid_until",
          "version"
        ],
        "type": "object"
      },
      "EntitlementStatus": {
        "properties": {
          "account_url": {
            "format": "uri",
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "max_retry_attempts": {
            "minimum": 0,
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "next_action": {
            "type": "string"
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "retry_after_seconds": {
            "minimum": 0,
            "type": "integer"
          },
          "status": {
            "enum": [
              "ready",
              "pending",
              "expired",
              "suspended",
              "not_purchased"
            ],
            "type": "string"
          },
          "synchronized": {
            "type": "boolean"
          },
          "valid_from": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "valid_until": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "product_id",
          "environment",
          "status",
          "code",
          "message",
          "next_action",
          "account_url",
          "synchronized",
          "retry_after_seconds",
          "max_retry_attempts"
        ],
        "type": "object"
      },
      "Error": {
        "properties": {
          "error": {
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "type": "object"
          },
          "request_id": {
            "$ref": "#/components/schemas/RequestID"
          }
        },
        "required": [
          "error",
          "request_id"
        ],
        "type": "object"
      },
      "ExternalCapabilities": {
        "additionalProperties": false,
        "properties": {
          "connection_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "delivery_types": {
            "items": {
              "enum": [
                "license_key",
                "activation_url",
                "instructions"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "devices": {
            "const": false,
            "type": "boolean"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "identity_exchange": {
            "const": false,
            "type": "boolean"
          },
          "protocol": {
            "const": "launch-external-licensing-v1",
            "type": "string"
          },
          "purchase_types": {
            "items": {
              "enum": [
                "perpetual",
                "fixed_term"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "protocol",
          "connection_ref",
          "environment",
          "purchase_types",
          "delivery_types"
        ],
        "type": "object"
      },
      "ExternalCapabilitiesResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ExternalCapabilities"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "ExternalConnection": {
        "additionalProperties": false,
        "properties": {
          "activation_origins": {
            "items": {
              "format": "uri",
              "type": "string"
            },
            "type": "array"
          },
          "allow_local_http": {
            "type": "boolean"
          },
          "allow_private_network": {
            "type": "boolean"
          },
          "base_url": {
            "format": "uri",
            "type": "string"
          },
          "capabilities": {
            "$ref": "#/components/schemas/ExternalCapabilities"
          },
          "connection_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "credential_stored": {
            "type": "boolean"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "key_id": {
            "type": "string"
          },
          "last_check_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_checked_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "const": "custom_http",
            "type": "string"
          }
        },
        "required": [
          "id",
          "provider",
          "name",
          "base_url",
          "environment",
          "connection_ref",
          "key_id",
          "credential_stored",
          "allow_private_network",
          "allow_local_http",
          "activation_origins",
          "capabilities",
          "last_checked_at",
          "last_check_error"
        ],
        "type": "object"
      },
      "ExternalConnectionInput": {
        "additionalProperties": false,
        "properties": {
          "activation_origins": {
            "items": {
              "format": "uri",
              "type": "string"
            },
            "type": "array"
          },
          "allow_local_http": {
            "default": false,
            "description": "শুধু sandbox loopback HTTP অনুমত।",
            "type": "boolean"
          },
          "allow_private_network": {
            "default": false,
            "type": "boolean"
          },
          "base_url": {
            "format": "uri",
            "maxLength": 512,
            "type": "string"
          },
          "connection_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "key_id": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "maxLength": 160,
            "minLength": 2,
            "type": "string"
          },
          "provider": {
            "const": "custom_http",
            "type": "string"
          },
          "signing_key": {
            "description": "32-128 র্যান্ডম বাইটের স্ট্যান্ডার্ড Base64; তৈরিতে প্রয়োজন, সম্পাদনায় ফাঁকা হলে বিদ্যমান কী থাকে।",
            "maxLength": 180,
            "type": "string",
            "writeOnly": true
          }
        },
        "required": [
          "provider",
          "name",
          "base_url",
          "environment",
          "connection_ref",
          "key_id"
        ],
        "type": "object"
      },
      "ExternalConnectionResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ExternalConnection"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "ExternalDelivery": {
        "additionalProperties": false,
        "properties": {
          "connection_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "delivery": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExternalDeliveryValue"
              },
              {
                "type": "null"
              }
            ]
          },
          "entitlement_ref": {
            "pattern": "^[A-Za-z0-9_-]{1,128}$",
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "status": {
            "enum": [
              "pending",
              "ready",
              "unavailable"
            ],
            "type": "string"
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "connection_ref",
          "environment",
          "entitlement_ref",
          "version",
          "status",
          "delivery"
        ],
        "type": "object"
      },
      "ExternalDeliveryResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ExternalDelivery"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "ExternalDeliveryValue": {
        "additionalProperties": false,
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "enum": [
              "license_key",
              "activation_url",
              "instructions"
            ],
            "type": "string"
          },
          "value": {
            "description": "সংবেদনশীল বিষয়বস্তু; সর্বোচ্চ 4096 UTF-8 বাইট। কখনো লগে লিখবেন না। সক্রিয়করণ URL-এ কনফিগার করা HTTPS উৎস ঠিকানা ব্যবহার করতে হবে।",
            "maxLength": 4096,
            "type": "string"
          }
        },
        "required": [
          "type",
          "value",
          "expires_at"
        ],
        "type": "object"
      },
      "ExternalError": {
        "additionalProperties": false,
        "properties": {
          "error": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "type": "object"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "request_id"
        ],
        "type": "object"
      },
      "ExternalMapping": {
        "additionalProperties": false,
        "properties": {
          "connection_id": {
            "format": "uuid",
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "plan_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "product_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "version_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "version_id",
          "environment",
          "connection_id",
          "product_ref",
          "plan_ref"
        ],
        "type": "object"
      },
      "ExternalMappingInput": {
        "additionalProperties": false,
        "properties": {
          "plan_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "product_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "version_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "version_id",
          "product_ref",
          "plan_ref"
        ],
        "type": "object"
      },
      "ExternalReceipt": {
        "additionalProperties": false,
        "properties": {
          "connection_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "entitlement_ref": {
            "pattern": "^[A-Za-z0-9_-]{1,128}$",
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "error_code": {
            "anyOf": [
              {
                "maxLength": 96,
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "event_id": {
            "format": "uuid",
            "type": "string"
          },
          "payload_sha256": {
            "pattern": "^[0-9a-f]{64}$",
            "type": "string"
          },
          "status": {
            "enum": [
              "pending",
              "applied",
              "rejected",
              "manual_review"
            ],
            "type": "string"
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "event_id",
          "connection_ref",
          "environment",
          "entitlement_ref",
          "version",
          "payload_sha256",
          "status",
          "error_code"
        ],
        "type": "object"
      },
      "ExternalReceiptResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ExternalReceipt"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "ExternalSnapshot": {
        "additionalProperties": false,
        "properties": {
          "account_ref": {
            "pattern": "^[A-Za-z0-9_-]{1,128}$",
            "type": "string"
          },
          "change_reason": {
            "enum": [
              "purchase",
              "renewal",
              "upgrade",
              "refund",
              "reversal",
              "suspension",
              "resumption",
              "expiry",
              "reconciliation"
            ],
            "type": "string"
          },
          "connection_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "desired_state": {
            "enum": [
              "active",
              "suspended",
              "expired",
              "revoked"
            ],
            "type": "string"
          },
          "entitlement_ref": {
            "pattern": "^[A-Za-z0-9_-]{1,128}$",
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "event_id": {
            "format": "uuid",
            "type": "string"
          },
          "launch_plan_version_id": {
            "format": "uuid",
            "type": "string"
          },
          "launch_product_id": {
            "format": "uuid",
            "type": "string"
          },
          "plan_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "product_ref": {
            "pattern": "^[A-Za-z0-9_.-]{1,128}$",
            "type": "string"
          },
          "schema": {
            "const": "launch-external-licensing-v1",
            "type": "string"
          },
          "type": {
            "const": "entitlement.snapshot",
            "type": "string"
          },
          "valid_from": {
            "format": "date-time",
            "type": "string"
          },
          "valid_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "schema",
          "event_id",
          "connection_ref",
          "environment",
          "type",
          "change_reason",
          "account_ref",
          "entitlement_ref",
          "launch_product_id",
          "launch_plan_version_id",
          "product_ref",
          "plan_ref",
          "version",
          "desired_state",
          "valid_from",
          "valid_until"
        ],
        "type": "object"
      },
      "HealthResponse": {
        "properties": {
          "data": {
            "properties": {
              "status": {
                "const": "ok"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          "request_id": {
            "$ref": "#/components/schemas/RequestID"
          }
        },
        "required": [
          "data",
          "request_id"
        ],
        "type": "object"
      },
      "IntegrationBundle": {
        "properties": {
          "checked_at": {
            "format": "date-time",
            "type": "string"
          },
          "checks": {
            "items": {
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "status",
                "message"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "config": {
            "additionalProperties": false,
            "properties": {
              "environment": {
                "enum": [
                  "sandbox",
                  "live"
                ],
                "type": "string"
              },
              "launch_product_id": {
                "format": "uuid",
                "type": "string"
              },
              "licentivo_product_id": {
                "anyOf": [
                  {
                    "format": "uuid",
                    "type": "string"
                  },
                  {
                    "const": ""
                  }
                ],
                "description": "শুধু ব্যর্থ পরীক্ষা ম্যাপিং সমাধান করতে না পারলে ফাঁকা।"
              },
              "merchant_origin": {
                "format": "uri",
                "type": "string"
              },
              "schema_version": {
                "const": 1,
                "type": "integer"
              }
            },
            "required": [
              "schema_version",
              "merchant_origin",
              "launch_product_id",
              "licentivo_product_id",
              "environment"
            ],
            "type": "object"
          },
          "example_path": {
            "type": "string"
          },
          "language": {
            "enum": [
              "go",
              "python",
              "csharp",
              "java",
              "javascript",
              "rust",
              "ruby",
              "c",
              "cpp",
              "web"
            ],
            "type": "string"
          },
          "product_config": {
            "$ref": "#/components/schemas/PublicProductConfig"
          },
          "ready": {
            "type": "boolean"
          }
        },
        "required": [
          "ready",
          "config",
          "checks",
          "language",
          "example_path",
          "checked_at"
        ],
        "type": "object"
      },
      "LaunchIdentity": {
        "additionalProperties": false,
        "properties": {
          "audience": {
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "identity_token": {
            "description": "স্বল্পমেয়াদি পরিচয় assertion, সর্বাধিক 120 সেকেন্ড; কখনো রানটাইম গ্রান্ট নয়।",
            "type": "string"
          },
          "launch_connection_id": {
            "format": "uuid",
            "type": "string"
          },
          "licentivo_product_id": {
            "format": "uuid",
            "type": "string"
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "token_type": {
            "type": "string"
          }
        },
        "required": [
          "identity_token",
          "token_type",
          "product_id",
          "licentivo_product_id",
          "launch_connection_id",
          "environment",
          "audience",
          "expires_at"
        ],
        "type": "object"
      },
      "LicensingConnections": {
        "additionalProperties": false,
        "properties": {
          "bindings": {
            "items": {
              "$ref": "#/components/schemas/ProductLicensingBinding"
            },
            "type": "array"
          },
          "connections": {
            "items": {
              "$ref": "#/components/schemas/ExternalConnection"
            },
            "type": "array"
          },
          "default_provider": {
            "description": "সব পণ্য ও উভয় পরিবেশের একক সক্রিয় লাইসেন্স প্রদানকারী।",
            "enum": [
              "licentivo",
              "custom_http"
            ],
            "type": "string"
          },
          "mappings": {
            "items": {
              "$ref": "#/components/schemas/ExternalMapping"
            },
            "type": "array"
          }
        },
        "required": [
          "connections",
          "bindings",
          "mappings",
          "default_provider"
        ],
        "type": "object"
      },
      "LicensingConnectionsResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/LicensingConnections"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "LicensingProviderInput": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "enum": [
              "licentivo",
              "custom_http"
            ],
            "type": "string"
          }
        },
        "required": [
          "provider"
        ],
        "type": "object"
      },
      "LicensingSaved": {
        "additionalProperties": false,
        "properties": {
          "saved": {
            "const": true,
            "type": "boolean"
          }
        },
        "required": [
          "saved"
        ],
        "type": "object"
      },
      "LicensingSavedResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/LicensingSaved"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "LicentivoConnectionInput": {
        "additionalProperties": false,
        "properties": {
          "api_key": {
            "description": "প্রথম সংযোগে প্রয়োজন। সংরক্ষিত সার্ভার-পার্শ্বের কী রাখতে বাদ দিন বা ফাঁকা রাখুন।",
            "type": "string",
            "writeOnly": true
          },
          "webhook_secret": {
            "description": "ঐচ্ছিক 32–256 বাইট গোপন মান। সংরক্ষিত মান রাখতে বাদ দিন বা ফাঁকা রাখুন।",
            "type": "string",
            "writeOnly": true
          }
        },
        "type": "object"
      },
      "Order": {
        "properties": {
          "action": {
            "type": "string"
          },
          "amount_minor": {
            "type": "integer"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "paid_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "plan_name": {
            "type": "string"
          },
          "plan_version": {
            "type": "integer"
          },
          "plan_version_id": {
            "format": "uuid",
            "type": "string"
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_slug": {
            "type": "string"
          },
          "purchase_periods": {
            "type": "integer"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "product_id",
          "product_name",
          "product_slug",
          "plan_version_id",
          "plan_name",
          "plan_version",
          "action",
          "status",
          "currency",
          "amount_minor",
          "purchase_periods",
          "created_at",
          "paid_at",
          "environment"
        ],
        "type": "object"
      },
      "ProductLicensingBinding": {
        "additionalProperties": false,
        "properties": {
          "connection_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "provider": {
            "enum": [
              "licentivo",
              "custom_http"
            ],
            "type": "string"
          }
        },
        "required": [
          "product_id",
          "environment",
          "provider",
          "connection_id"
        ],
        "type": "object"
      },
      "ProductLicensingInput": {
        "additionalProperties": false,
        "properties": {
          "connection_id": {
            "description": "বাহ্যিক সংযোগ UUID; custom_http-তে প্রয়োজন।",
            "type": "string"
          },
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "mappings": {
            "items": {
              "$ref": "#/components/schemas/ExternalMappingInput"
            },
            "type": "array"
          },
          "provider": {
            "description": "ইনস্ট্যান্স-ব্যাপী সক্রিয় লাইসেন্স প্রদানকারীর সঙ্গে মিলতে হবে। প্রথমে PUT /api/v1/admin/licensing/provider দিয়ে কনফিগার করুন।",
            "enum": [
              "licentivo",
              "custom_http"
            ],
            "type": "string"
          }
        },
        "required": [
          "provider",
          "environment"
        ],
        "type": "object"
      },
      "PublicLaunchConfig": {
        "additionalProperties": false,
        "properties": {
          "environment": {
            "enum": [
              "sandbox",
              "live"
            ],
            "type": "string"
          },
          "launch_product_id": {
            "format": "uuid",
            "type": "string"
          },
          "licentivo_product_id": {
            "format": "uuid",
            "type": "string"
          },
          "merchant_origin": {
            "format": "uri",
            "type": "string"
          },
          "schema_version": {
            "const": 1,
            "type": "integer"
          }
        },
        "required": [
          "schema_version",
          "merchant_origin",
          "launch_product_id",
          "licentivo_product_id",
          "environment"
        ],
        "type": "object"
      },
      "PublicProductConfig": {
        "additionalProperties": false,
        "description": "পরিশোধিত প্রকাশ্য কনফিগারেশন। স্বাক্ষর কী-এর উৎস বিক্রেতাকে যাচাই করতে হবে।",
        "properties": {
          "app_version": {
            "type": "string"
          },
          "base_url": {
            "format": "uri",
            "type": "string"
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "trusted_keys": {
            "additionalProperties": {
              "pattern": "^[A-Za-z0-9_-]{43}$",
              "type": "string"
            },
            "maxProperties": 32,
            "minProperties": 1,
            "propertyNames": {
              "description": "কী শনাক্তকারী 1–128 UTF-8 বাইট।",
              "minLength": 1,
              "type": "string",
              "x-maxBytes": 128
            },
            "type": "object"
          }
        },
        "required": [
          "product_id",
          "trusted_keys",
          "base_url"
        ],
        "type": "object"
      },
      "PublicProductImport": {
        "additionalProperties": false,
        "description": "অফিসিয়াল পণ্য ID ও স্বাক্ষর পাবলিক কী থেকে পূরণ করা Launch প্রকাশ্য পণ্য কনফিগারেশন। ফাঁকা license_key/cache_path ও false allow_http-সহ পুরোনো JSON গৃহীত হয়ে সেগুলো সরানো হয়। পূরণ করা গোপন মান ও অজানা ফিল্ড প্রত্যাখ্যাত।",
        "properties": {
          "allow_http": {
            "const": false
          },
          "app_version": {
            "description": "সর্বাধিক 80 UTF-8 বাইট।",
            "type": "string",
            "x-maxBytes": 80
          },
          "base_url": {
            "format": "uri",
            "type": "string"
          },
          "cache_path": {
            "const": ""
          },
          "device_name": {
            "maxLength": 128,
            "type": "string"
          },
          "license_key": {
            "const": ""
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "trusted_keys": {
            "additionalProperties": {
              "pattern": "^[A-Za-z0-9_-]{43}$",
              "type": "string"
            },
            "maxProperties": 32,
            "minProperties": 1,
            "propertyNames": {
              "description": "কী শনাক্তকারী 1–128 UTF-8 বাইট।",
              "minLength": 1,
              "type": "string",
              "x-maxBytes": 128
            },
            "type": "object"
          }
        },
        "required": [
          "product_id",
          "trusted_keys"
        ],
        "type": "object"
      },
      "ReadinessResponse": {
        "properties": {
          "data": {
            "properties": {
              "code": {
                "enum": [
                  "DATABASE_NOT_CONFIGURED",
                  "DATABASE_UNAVAILABLE",
                  "DATABASE_SCHEMA_NOT_READY"
                ]
              },
              "status": {
                "enum": [
                  "ready",
                  "not_ready"
                ]
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          "request_id": {
            "$ref": "#/components/schemas/RequestID"
          }
        },
        "required": [
          "data",
          "request_id"
        ],
        "type": "object"
      },
      "RequestID": {
        "description": "X-Request-ID প্রতিক্রিয়া হেডারেও ফেরত আসে",
        "pattern": "^[a-f0-9]{32}$",
        "type": "string"
      },
      "SessionGrant": {
        "properties": {
          "access_token": {
            "description": "শুধু ডেস্কটপ লগইনে ফেরত আসে। গোপন হিসেবে ধরুন; URL বা লগে রাখবেন না।",
            "type": "string",
            "x-sensitive": true
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "kind": {
            "enum": [
              "website",
              "desktop"
            ],
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "user",
          "kind",
          "expires_at"
        ],
        "type": "object"
      },
      "SessionView": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "current": {
            "type": "boolean"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "kind": {
            "enum": [
              "website",
              "desktop"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "created_at",
          "expires_at",
          "current"
        ],
        "type": "object"
      },
      "User": {
        "properties": {
          "email": {
            "format": "email",
            "type": "string"
          },
          "full_access": {
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "password_change_required": {
            "type": "boolean"
          },
          "role": {
            "enum": [
              "customer",
              "admin",
              "operations",
              "support"
            ],
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "email",
          "verified",
          "role",
          "full_access",
          "password_change_required"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "desktopBearer": {
        "description": "kind=desktop সহ auth/login থেকে অস্বচ্ছ ডেস্কটপ সেশন।",
        "scheme": "bearer",
        "type": "http"
      },
      "websiteCookie": {
        "description": "ব্রাউজার সেশন। পরিবর্তনে launch_csrf থেকে মিল থাকা Origin ও X-CSRF-Token-ও প্রয়োজন।",
        "in": "cookie",
        "name": "launch_session",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "সিস্টেম, অ্যাকাউন্ট, ডেস্কটপ লাইসেন্সিং, ইন্টিগ্রেশন উইজার্ড ও মৌলিক ক্রয় API। এটি সম্পূর্ণ কর্মী প্রশাসন/পেমেন্ট-ওয়েবহুক API নয়। রানটাইম প্রবেশ এখনও অফিসিয়াল Licentivo SDK দিয়ে যেতে হবে। ইমেইল যাচাই শুধু বিক্রেতা সক্ষম করলে প্রয়োজন। কাস্টম লাইসেন্স সংযোগ ও গ্রাহক ডেলিভারিও নথিভুক্ত। বাহ্যিক গ্রহীতার এন্ডপয়েন্ট পৃথক external-licensing-openapi.json-এ নির্দিষ্ট।",
    "license": {
      "identifier": "MIT",
      "name": "MIT"
    },
    "title": "Licentivo Launch ইন্টিগ্রেশন API",
    "version": "0.3.4-beta",
    "x-document-language": "bn"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/v1/admin/connections/licentivo": {
      "post": {
        "operationId": "configureLicentivoConnection",
        "parameters": [
          {
            "in": "header",
            "name": "X-CSRF-Token",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LicentivoConnectionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "additionalProperties": true,
                      "description": "সংযোগ পরিচয়, যাচাইকৃত সক্ষমতা ও ক্যাটালগ। সংরক্ষিত গোপন মান কখনো ফেরত আসে না।",
                      "type": "object"
                    },
                    "request_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "websiteCookie": []
          }
        ],
        "summary": "সার্ভার-পার্শ্বের Licentivo ব্যবস্থাপনা সংযোগ যাচাই ও সংরক্ষণ করুন",
        "tags": [
          "Licentivo connection"
        ]
      }
    },
    "/api/v1/admin/identity-notifications/{id}/retry": {
      "post": {
        "operationId": "retryIdentityNotification",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "reason": {
                    "maxLength": 500,
                    "minLength": 2,
                    "type": "string"
                  }
                },
                "required": [
                  "reason"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "মূল বিজ্ঞপ্তির পুনঃপ্রচেষ্টা নির্ধারিত"
          },
          "403": {
            "description": "প্রশাসক অনুমতি প্রয়োজন"
          },
          "409": {
            "description": "বিজ্ঞপ্তি সম্পন্ন বা প্রক্রিয়াধীন"
          }
        },
        "security": [
          {
            "websiteCookie": []
          }
        ],
        "summary": "অ্যাকাউন্ট নিরাপত্তা প্রত্যাহার বিজ্ঞপ্তি পুনঃপ্রচেষ্টা করুন (প্রশাসক)"
      }
    },
    "/api/v1/admin/integration/check": {
      "post": {
        "description": "admin ভূমিকা প্রয়োজন। ওয়েবসাইট কলারকে Origin ও X-CSRF-Token দিতে হবে। ready=false অসম্পূর্ণ কনফিগারেশন জানায়; গোপন ফিল্ড ফেরত আসে না। অসম্পূর্ণ রিপোর্টে licentivo_product_id ফাঁকা হতে পারে।",
        "operationId": "checkApplicationIntegration",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "environment": {
                    "enum": [
                      "sandbox",
                      "live"
                    ],
                    "type": "string"
                  },
                  "language": {
                    "enum": [
                      "go",
                      "python",
                      "csharp",
                      "java",
                      "javascript",
                      "rust",
                      "ruby",
                      "c",
                      "cpp",
                      "web"
                    ],
                    "type": "string"
                  },
                  "product_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "required": [
                  "product_id",
                  "environment",
                  "language"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/IntegrationBundle"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "সরাসরি SDK ইনিশিয়ালাইজেশনের জন্য নির্বাচিত সফটওয়্যার ম্যাপিং ও স্বাক্ষর পাবলিক কী স্বয়ংক্রিয়ভাবে পড়ুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/admin/integration/context": {
      "get": {
        "description": "admin ভূমিকা প্রয়োজন। ওয়েবসাইট কলারকে Origin ও X-CSRF-Token দিতে হবে। ready=false অসম্পূর্ণ কনফিগারেশন জানায়; গোপন ফিল্ড ফেরত আসে না। অসম্পূর্ণ রিপোর্টে licentivo_product_id ফাঁকা হতে পারে।",
        "operationId": "getIntegrationContext",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "additionalProperties": false,
                      "properties": {
                        "licensing_origin": {
                          "type": "string"
                        },
                        "merchant_origin": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "merchant_origin",
                        "licensing_origin"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "প্রকাশ্য ডিপ্লয়মেন্ট প্রসঙ্গ; ব্যক্তিগত স্টার্টআপ সেটিং নেই"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "কনফিগার করা বিক্রেতা উৎস ও নির্দিষ্ট লাইসেন্সিং উৎস পড়ুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/admin/licensing/connections": {
      "get": {
        "operationId": "listLicensingChoices",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicensingConnectionsResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "বাহ্যিক সংযোগ, পণ্য বাইন্ডিং ও ম্যাপিং তালিকাভুক্ত করুন; Licentivo সেটিং বিদ্যমান API রাখে",
        "tags": [
          "Custom licensing"
        ]
      },
      "post": {
        "operationId": "createExternalLicensingConnection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalConnectionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalConnectionResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "কাস্টম HTTP লাইসেন্স সংযোগ যাচাই ও সংরক্ষণ করুন",
        "tags": [
          "Custom licensing"
        ]
      }
    },
    "/api/v1/admin/licensing/connections/{id}": {
      "put": {
        "operationId": "updateExternalLicensingConnection",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalConnectionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalConnectionResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "মেটাডেটা/স্বাক্ষর কী সম্পাদনা; গন্তব্য, পরিবেশ ও নেটওয়ার্ক নীতি অপরিবর্তনীয়",
        "tags": [
          "Custom licensing"
        ]
      }
    },
    "/api/v1/admin/licensing/connections/{id}/check": {
      "post": {
        "operationId": "checkExternalLicensingConnection",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalConnectionResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "সক্ষমতা রিফ্রেশ করুন; 200 প্রতিক্রিয়ায় last_check_error ব্যর্থ পরীক্ষা আলাদা করে",
        "tags": [
          "Custom licensing"
        ]
      }
    },
    "/api/v1/admin/licensing/provider": {
      "put": {
        "operationId": "selectLicensingProvider",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LicensingProviderInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicensingSavedResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "পুরো ইনস্ট্যান্সে একটি লাইসেন্স প্রদানকারী সক্ষম করুন; অন্য প্রদানকারীর অর্ডার থাকলে পরিবর্তনে মাইগ্রেশন প্রয়োজন",
        "tags": [
          "Custom licensing"
        ]
      }
    },
    "/api/v1/admin/products/{id}/licensing": {
      "put": {
        "operationId": "configureProductLicensing",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductLicensingInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicensingSavedResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "সক্রিয় লাইসেন্স প্রদানকারী দিয়ে পরিবেশের পণ্য সংযোগ ও প্ল্যান ম্যাপিং কনফিগার করুন",
        "tags": [
          "Custom licensing"
        ]
      }
    },
    "/api/v1/admin/refunds/{id}/reconcile": {
      "post": {
        "description": "প্রশাসক মূল রিফান্ড পরীক্ষা করে চ্যানেল রসিদের মূল লেনদেন, অর্থ ও মুদ্রা যাচাইয়ের পরে একই কাজ পুনরুদ্ধার করেন। রসিদ না থাকলে শুধু Stripe/PayPal মূল অনুমোদনের 23 ঘণ্টার মধ্যে মূল idempotent অনুরোধ পুনঃপ্রচেষ্টা; সময় পেরোলে মূল চ্যানেল রিফান্ড নম্বর প্রয়োজন। কাজ অডিটে রেকর্ড হয়, নতুন রিফান্ড কাজ নম্বর তৈরি হয় না।",
        "operationId": "reconcileRefund",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "external_refund_id": {
                    "maxLength": 128,
                    "type": "string"
                  },
                  "reason": {
                    "maxLength": 500,
                    "minLength": 2,
                    "type": "string"
                  }
                },
                "required": [
                  "reason"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "মূল কাজ আবার সারিতে রাখা হয়েছে"
          },
          "403": {
            "description": "প্রশাসক অনুমতি ও বৈধ CSRF ক্রেডেনশিয়াল প্রয়োজন"
          },
          "409": {
            "description": "অবস্থা সংঘর্ষ, রসিদ অমিল বা মূল চ্যানেল রিফান্ড নম্বর প্রয়োজন"
          },
          "503": {
            "description": "মূল চ্যানেল অনুসন্ধান সাময়িক অনুপলব্ধ"
          }
        },
        "security": [
          {
            "websiteCookie": []
          }
        ],
        "summary": "মূল রিফান্ড কাজ যাচাই ও পুনরুদ্ধার করুন"
      }
    },
    "/api/v1/auth/complete-email": {
      "post": {
        "operationId": "completeAccountEmail",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "password": {
                    "type": "string",
                    "writeOnly": true
                  },
                  "token": {
                    "type": "string",
                    "writeOnly": true
                  }
                },
                "required": [
                  "token"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "completed": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "completed"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [],
        "summary": "একবারের ইমেইল ক্রেডেনশিয়াল সম্পন্ন করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/auth/email": {
      "post": {
        "operationId": "requestAccountEmail",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "verify",
                      "reset"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "kind"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "accepted": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "accepted"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [],
        "summary": "যাচাই বা পাসওয়ার্ড পুনরুদ্ধার ইমেইল অনুরোধ করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/auth/identity-keys": {
      "get": {
        "operationId": "launchIdentityPublicKeys",
        "responses": {
          "200": {
            "description": "Ed25519 পাবলিক কী; ব্যক্তিগত স্বাক্ষর উপাদান কখনো নয়"
          }
        },
        "summary": "Launch অ্যাকাউন্ট পরিচয়ের প্রকাশ্য পিন করা স্বাক্ষর কী"
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "description": "অ্যাপের জন্য kind=desktop সেট করে ব্রাউজার Origin হেডার বাদ দিন। ওয়েবসাইট লগইন cookies সেট করে ও access_token বাদ দেয়।",
        "operationId": "login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "kind": {
                    "default": "website",
                    "enum": [
                      "desktop",
                      "website"
                    ],
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "writeOnly": true
                  }
                },
                "required": [
                  "email",
                  "password"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SessionGrant"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [],
        "summary": "ওয়েবসাইট বা ডেস্কটপে সাইন ইন করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "operationId": "logout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "required": [],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "completed": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "completed"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "বর্তমান সেশন প্রত্যাহার করুন; SDK বন্ধ, স্থানীয় পরিষ্কার ও ডিভাইস রিলিজ পৃথক কাজ",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/auth/register": {
      "post": {
        "operationId": "registerCustomer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "format": "email",
                    "type": "string"
                  },
                  "password": {
                    "description": "12–128 UTF-8 বাইট (সার্ভার বাইট গোনে, Unicode অক্ষর নয়)।",
                    "type": "string",
                    "writeOnly": true,
                    "x-maxBytes": 128,
                    "x-minBytes": 12
                  }
                },
                "required": [
                  "email",
                  "password"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "accepted": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "accepted"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [],
        "summary": "গ্রাহক নিবন্ধন করুন; যাচাই বিক্রেতার ইমেইল সেটিং অনুসরণ করে",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/licensing/documentation": {
      "get": {
        "operationId": "readExternalLicensingGuide",
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "প্রকাশ্য নথি"
          }
        },
        "security": [],
        "summary": "প্রকাশ্য বাহ্যিক লাইসেন্সিং নথি"
      }
    },
    "/api/v1/licensing/protocol": {
      "get": {
        "operationId": "readExternalLicensingProtocol",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "প্রকাশ্য নথি"
          }
        },
        "security": [],
        "summary": "প্রকাশ্য বাহ্যিক লাইসেন্সিং নথি"
      }
    },
    "/api/v1/me": {
      "get": {
        "operationId": "currentUser",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "session_id": {
                          "format": "uuid",
                          "type": "string"
                        },
                        "user": {
                          "$ref": "#/components/schemas/User"
                        }
                      },
                      "required": [
                        "user",
                        "session_id"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "প্রমাণীকৃত অ্যাকাউন্ট পড়ুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/me/orders": {
      "get": {
        "operationId": "listOrders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      },
                      "type": "array"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "বর্তমান গ্রাহকের অর্ডার তালিকাভুক্ত করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/me/products/{id}/delivery": {
      "get": {
        "operationId": "readOwnedExternalDelivery",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "environment",
            "required": true,
            "schema": {
              "enum": [
                "sandbox",
                "live"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalDeliveryResponse"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ কনফিগারেশন/ইনপুট"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রমাণীকরণ প্রয়োজন"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "প্রশাসক প্রয়োজন, অবৈধ CSRF বা নিষিদ্ধ পরিসর"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "মালিকানাধীন রিসোর্স নেই"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অপরিবর্তনীয় ম্যাপিং, মাইগ্রেশন প্রয়োজন বা ক্রয় প্রস্তুত নয়"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "রেট সীমিত"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "স্টোরেজ/বাহ্যিক পরিষেবা অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "বর্তমান মালিকানাধীন বাহ্যিক ডেলিভারি পড়ুন; কখনো রানটাইম অনুমোদন সিদ্ধান্ত নয়",
        "tags": [
          "Custom licensing"
        ]
      }
    },
    "/api/v1/me/sessions": {
      "get": {
        "operationId": "listSessions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/SessionView"
                      },
                      "type": "array"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "সক্রিয় অ্যাকাউন্ট সেশন তালিকাভুক্ত করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/me/sessions/{id}": {
      "delete": {
        "operationId": "revokeSession",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "completed": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "completed"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "নিজের সেশন প্রত্যাহার করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/orders": {
      "post": {
        "description": "সার্ভারে মূল্য গণনা হয়। নবায়ন ও আপগ্রেডে সার্ভার-ইস্যুকৃত কোট প্রয়োজন। হোস্টেড চেকআউট অনুসরণ করুন; রিডাইরেক্ট ফেরত পেমেন্টের প্রমাণ নয়।",
        "operationId": "createCheckout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "action": {
                    "enum": [
                      "purchase",
                      "renew",
                      "upgrade"
                    ],
                    "type": "string"
                  },
                  "environment": {
                    "enum": [
                      "sandbox",
                      "live"
                    ],
                    "type": "string"
                  },
                  "idempotency_key": {
                    "description": "স্থির কাজ শনাক্তকারী, 16–80 UTF-8 বাইট। একই কাজের পুনঃপ্রচেষ্টায় একই কী ব্যবহার করুন।",
                    "type": "string",
                    "x-maxBytes": 80,
                    "x-minBytes": 16
                  },
                  "plan_version_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "product_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "provider": {
                    "enum": [
                      "stripe",
                      "paypal",
                      "waffo",
                      "paddle"
                    ],
                    "type": "string"
                  },
                  "purchase_periods": {
                    "minimum": 1,
                    "type": "integer"
                  },
                  "quote_token": {
                    "type": "string",
                    "writeOnly": true
                  }
                },
                "required": [
                  "product_id",
                  "plan_version_id",
                  "environment",
                  "provider",
                  "idempotency_key"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Checkout"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "স্থির idempotency কী দিয়ে নিজের চেকআউট তৈরি বা পুনরুদ্ধার করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/orders/{id}": {
      "get": {
        "operationId": "getOrder",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Checkout"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "নিজের অর্ডার ও পূরণের অগ্রগতি পড়ুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/orders/{id}/reconcile": {
      "post": {
        "operationId": "reconcileOrder",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "required": [],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Checkout"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          },
          {
            "websiteCookie": []
          }
        ],
        "summary": "নিজের অর্ডারের জন্য পেমেন্ট প্রদানকারীকে জিজ্ঞাসা করুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/software/products/{id}/credential": {
      "post": {
        "deprecated": true,
        "description": "ব্রাউজার সেশন লাইসেন্স কী পেতে পারে না। ক্লায়েন্ট-নির্বাচিত ব্যবহারকারী ID গ্রহণ হয় না। 403 ENTITLEMENT_PENDING-এ Retry-After: 3 থাকে; পুনঃপ্রচেষ্টা সীমিত হতে হবে। EXPIRED/SUSPENDED-এ ব্যবহারকারীর কাজ প্রয়োজন। 404 ENTITLEMENT_NOT_PURCHASED মানে মালিকানাধীন অধিকার নেই।",
        "operationId": "softwareCredential",
        "parameters": [
          {
            "description": "Launch পণ্য ID, Licentivo পণ্য ID নয়।",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "environment": {
                    "enum": [
                      "sandbox",
                      "live"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "environment"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "410": {
            "description": "LICENSE_CREDENTIAL_REMOVED; কোনো লাইসেন্স কী ফেরত আসে না"
          }
        },
        "security": [
          {
            "desktopBearer": []
          }
        ],
        "summary": "সরানো হয়েছে: অ্যাকাউন্ট SDK-কে পরিচয় বিনিময় ব্যবহার করতে হবে",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/software/products/{id}/identity": {
      "post": {
        "operationId": "exchangeAccountIdentity",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "environment": {
                    "enum": [
                      "sandbox",
                      "live"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "environment"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LaunchIdentity"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "শুধু পরিচয় প্রসঙ্গ। অনুমোদনের সিদ্ধান্ত Licentivo নেয়।"
          },
          "401": {
            "description": "অ্যাকাউন্ট সেশন প্রত্যাখ্যাত"
          },
          "503": {
            "description": "পরিচয় সংযোগ অনুপলব্ধ"
          }
        },
        "security": [
          {
            "desktopBearer": []
          }
        ],
        "summary": "অফিসিয়াল SDK-এর জন্য স্বল্পমেয়াদি অ্যাকাউন্ট পরিচয় assertion পান"
      }
    },
    "/api/v1/software/products/{id}/status": {
      "get": {
        "description": "এটি ক্রয়/সিঙ্ক তথ্য, রানটাইম অনুমোদন গ্রান্ট নয়।",
        "operationId": "softwareStatus",
        "parameters": [
          {
            "description": "Launch পণ্য ID, Licentivo পণ্য ID নয়।",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "environment",
            "required": false,
            "schema": {
              "default": "live",
              "enum": [
                "sandbox",
                "live"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/EntitlementStatus"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "সফল উত্তর"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "অবৈধ ফিল্ড, পণ্য ID বা পরিবেশ।"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "LOGIN_FAILED (login) বা AUTH_REQUIRED (মেয়াদোত্তীর্ণ/প্রত্যাহৃত সেশন)। প্রত্যাখ্যাত সেশন পরিষ্কার করুন; স্পষ্ট প্রত্যাখ্যানের পরে কখনো ফলব্যাক নয়।"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "নিষিদ্ধ, ইমেইল যাচাই প্রয়োজন, প্রাথমিক পাসওয়ার্ড পরিবর্তন প্রয়োজন বা স্পষ্ট অধিকার প্রত্যাখ্যান।"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "RATE_LIMITED; ঘন লুপে পুনঃপ্রচেষ্টা করবেন না।",
            "headers": {
              "Retry-After": {
                "description": "পরবর্তী প্রচেষ্টার আগে অপেক্ষার সেকেন্ড। এই মান মানুন এবং মোট পুনঃপ্রচেষ্টা সীমিত করুন।",
                "schema": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "সাময়িক পরিষেবা বা ডেটাবেস ব্যর্থতা। অফলাইন প্রবেশ শুধু বৈধ অফিসিয়াল SDK স্বাক্ষরিত গ্রান্টে অনুমত।"
          }
        },
        "security": [
          {
            "desktopBearer": []
          }
        ],
        "summary": "প্রমাণীকৃত গ্রাহক ও অনুরোধকৃত পণ্যের কার্যকর অবস্থা পড়ুন",
        "tags": [
          "Application integration"
        ]
      }
    },
    "/api/v1/system/status": {
      "get": {
        "operationId": "getSystemStatus",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "implemented": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "phase": {
                          "const": "local-development"
                        },
                        "product": {
                          "const": "Licentivo Launch"
                        },
                        "sales_enabled": {
                          "const": false
                        },
                        "version": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "product",
                        "version",
                        "phase",
                        "sales_enabled",
                        "implemented"
                      ],
                      "type": "object"
                    },
                    "request_id": {
                      "$ref": "#/components/schemas/RequestID"
                    }
                  },
                  "required": [
                    "data",
                    "request_id"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "বর্তমান ডেভেলপমেন্ট পর্যায় ও বাস্তবায়ন পরিসর"
          }
        },
        "summary": "কনফিগারেশন বা ক্রেডেনশিয়াল ছাড়া সংস্করণ ও বাস্তবায়ন পরিসর দেখান"
      }
    },
    "/healthz": {
      "get": {
        "operationId": "getLiveness",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            },
            "description": "HTTP প্রক্রিয়া চলছে"
          }
        },
        "summary": "ডেটাবেস প্রস্তুতি থেকে স্বাধীন প্রক্রিয়ার সচলতা"
      }
    },
    "/readyz": {
      "get": {
        "operationId": "getReadiness",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadinessResponse"
                }
              }
            },
            "description": "ডেটাবেস প্রস্তুত; এটি পেমেন্ট বা লাইসেন্স গ্রহণযোগ্যতা নিশ্চিত করে না"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadinessResponse"
                }
              }
            },
            "description": "ডেটাবেস অকনফিগার, অনুপলব্ধ বা প্রয়োজনীয় টেবিল নেই"
          }
        },
        "summary": "MySQL সংযোগ ও প্রয়োজনীয় GORM টেবিল পরীক্ষা করুন"
      }
    }
  },
  "servers": [
    {
      "description": "আপনার বিক্রেতা উৎস দিয়ে বদলান; HTTP শুধু loopback sandbox ডেভেলপমেন্টে অনুমত।",
      "url": "https://shop.example.com"
    }
  ]
}
