Hevn Inc Public API

The Public API from Hevn Inc — 8 operation(s) for public.

OpenAPI Specification

hevn-inc-public-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HEVN 2FA Public API
  description: Backend API for HEVN mobile neobank
  version: 0.1.2
servers:
- url: https://api.hevn.finance
  description: Production
tags:
- name: Public
paths:
  /api/v1/public/time:
    get:
      tags:
      - Public
      summary: Server Time
      operationId: server_time_api_v1_public_time_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Server Time Api V1 Public Time Get
  /api/v1/public/waitlist:
    post:
      tags:
      - Public
      summary: Join Waitlist
      operationId: join_waitlist_api_v1_public_waitlist_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WaitlistRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Join Waitlist Api V1 Public Waitlist Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public/rates/{currency}:
    get:
      tags:
      - Public
      summary: Get public FX rates
      operationId: get_public_rate_api_v1_public_rates__currency__get
      parameters:
      - name: currency
        in: path
        required: true
        schema:
          type: string
          title: Currency
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public/invoices/user_details:
    get:
      tags:
      - Public
      summary: Get contractor details by invoice share key
      description: Return the user details of the share-link owner so a third party can invoice them.
      operationId: invoice_user_details_api_v1_public_invoices_user_details_get
      parameters:
      - name: key
        in: query
        required: true
        schema:
          type: string
          title: Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceUserDetailsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public/invoices/{invoice_id}:
    get:
      tags:
      - Public
      summary: Get Public Invoice
      description: Public invoice details — no auth required.
      operationId: get_public_invoice_api_v1_public_invoices__invoice_id__get
      parameters:
      - name: invoice_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Invoice Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicInvoiceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public/products/{product_id}:
    get:
      tags:
      - Public
      summary: Get Public Product
      description: Public product details — no auth required.
      operationId: get_public_product_api_v1_public_products__product_id__get
      parameters:
      - name: product_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Product Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicProductResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public/products/{product_id}/pay:
    post:
      tags:
      - Public
      summary: Pay Product
      description: Create one_click quote for product payment. No auth required.
      operationId: pay_product_api_v1_public_products__product_id__pay_post
      parameters:
      - name: product_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Product Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayProductRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UniversalQuoteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public/{payment_id}/submit:
    post:
      tags:
      - Public
      summary: Submit Product Deposit
      description: Submit deposit tx_hash to speed up settlement. No auth required.
      operationId: submit_product_deposit_api_v1_public__payment_id__submit_post
      security:
      - HTTPBearer: []
      parameters:
      - name: payment_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Payment Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitDepositRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTransactionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ContactWalletResponse:
      properties:
        address:
          type: string
          title: Address
        chainId:
          anyOf:
          - type: string
          - type: 'null'
          title: Chainid
        currency:
          type: string
          title: Currency
          default: EUR
        internal:
          type: boolean
          title: Internal
          default: false
      type: object
      required:
      - address
      title: ContactWalletResponse
      description: Wallet payment method block used by invoice/payment method schemas.
    InvoiceDocumentInfo:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        key:
          type: string
          title: Key
      type: object
      required:
      - id
      - name
      - key
      title: InvoiceDocumentInfo
      description: 'Document attached to an invoice.


        `key` is a short-lived signed token. To download call

        GET /documents/download/{id}?key={key}.'
    app__schemas__base__ContactRelationship:
      type: string
      enum:
      - charity
      - commercial_investment
      - corporate_card
      - credit_card
      - dividend
      - family
      - financial_services
      - good_sold
      - goods_bought
      - government
      - insurance
      - intergroup_transfer
      - intra_group_dividends
      - information_technology
      - leasing
      - loan_charges
      - merchant_settlement
      - mobile_wallet
      - none
      - non_resident_transfer_between_accounts
      - pension
      - personal_expenses
      - prepaid_cards
      - professional
      - rental
      - resident_transfer_between_accounts
      - salaries
      - telecommunications
      - travel
      - utility_bill
      title: ContactRelationship
      description: 'Unified contact relationship / transfer purpose.


        Values match Align AlignTransferPurpose (the more granular set).

        Mapped to Swipelux AccountHolderRelationship via ``swipelux_relationship``.'
    InvoiceUserDetailsResponse:
      properties:
        client:
          $ref: '#/components/schemas/InvoiceParticipant'
        clientId:
          type: string
          format: uuid
          title: Clientid
      type: object
      required:
      - client
      - clientId
      title: InvoiceUserDetailsResponse
      description: Contractor details returned by a share link.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    WaitlistRequest:
      properties:
        email:
          type: string
          format: email
          title: Email
        website:
          type: string
          title: Website
      type: object
      required:
      - email
      - website
      title: WaitlistRequest
    PayProductRequest:
      properties:
        originChain:
          type: string
          title: Originchain
        originToken:
          type: string
          title: Origintoken
        amount:
          anyOf:
          - type: number
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          title: Amount
        buyerEmail:
          anyOf:
          - type: string
          - type: 'null'
          title: Buyeremail
        memo:
          anyOf:
          - type: string
          - type: 'null'
          title: Memo
        clientReferenceId:
          anyOf:
          - type: string
          - type: 'null'
          title: Clientreferenceid
        invoiceId:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Invoiceid
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          default: {}
      type: object
      required:
      - originChain
      - originToken
      title: PayProductRequest
    InvoiceStatus:
      type: string
      enum:
      - draft
      - sent
      - paid
      - cancelled
      - client_paid
      - client_declined
      title: InvoiceStatus
      description: Invoice status.
    RateResponse:
      properties:
        bankTransfer:
          anyOf:
          - type: string
          - type: 'null'
          title: Banktransfer
        card:
          anyOf:
          - type: string
          - type: 'null'
          title: Card
        usdRate:
          anyOf:
          - type: string
          - type: 'null'
          title: Usdrate
      type: object
      title: RateResponse
      description: Combined FX rate response.
    USExternalAccountDetails-Output:
      properties:
        bankName:
          type: string
          title: Bankname
        bankAddress:
          anyOf:
          - type: string
          - type: 'null'
          title: Bankaddress
        currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency
        accountHolderType:
          $ref: '#/components/schemas/AlignAccountHolderType'
        accountHolderFirstName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderfirstname
        accountHolderLastName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderlastname
        accountHolderBusinessName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderbusinessname
        accountHolderAddress:
          anyOf:
          - $ref: '#/components/schemas/UserAddress'
          - type: 'null'
        relationship:
          anyOf:
          - $ref: '#/components/schemas/app__schemas__base__ContactRelationship'
          - type: 'null'
        paymentReference:
          anyOf:
          - type: string
          - type: 'null'
          title: Paymentreference
        accountType:
          type: string
          enum:
          - ach
          - fedwire
          title: Accounttype
          default: ach
        us:
          $ref: '#/components/schemas/USAccountDetails'
        beneficiaryName:
          anyOf:
          - type: string
          - type: 'null'
          title: Beneficiaryname
          description: Frontend-only alias derived from account holder fields.
          readOnly: true
      type: object
      required:
      - bankName
      - accountHolderType
      - us
      - beneficiaryName
      title: USExternalAccountDetails
      description: US domestic (ACH) external account.
    PublicInvoiceResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        amount:
          type: number
          title: Amount
        currency:
          type: string
          title: Currency
        comment:
          anyOf:
          - type: string
          - type: 'null'
          title: Comment
        invoiceNumber:
          anyOf:
          - type: string
          - type: 'null'
          title: Invoicenumber
        issuedDate:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Issueddate
        dueDate:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Duedate
        status:
          $ref: '#/components/schemas/InvoiceStatus'
        client:
          anyOf:
          - $ref: '#/components/schemas/InvoiceParticipant'
          - type: 'null'
        contractor:
          anyOf:
          - $ref: '#/components/schemas/InvoiceParticipant'
          - type: 'null'
        items:
          items:
            $ref: '#/components/schemas/PublicInvoiceItem'
          type: array
          title: Items
        paymentMethods:
          items:
            anyOf:
            - $ref: '#/components/schemas/IBANAccountDetails-Output'
            - $ref: '#/components/schemas/USExternalAccountDetails-Output'
            - $ref: '#/components/schemas/SwiftAccountDetails-Output'
            - $ref: '#/components/schemas/ContactWalletResponse'
            - $ref: '#/components/schemas/EmailAccountInput'
          type: array
          title: Paymentmethods
          default: []
        contract:
          anyOf:
          - $ref: '#/components/schemas/PublicInvoiceContractInfo'
          - type: 'null'
        invoiceLink:
          anyOf:
          - type: string
          - type: 'null'
          title: Invoicelink
        documents:
          items:
            $ref: '#/components/schemas/InvoiceDocumentInfo'
          type: array
          title: Documents
          default: []
        createdAt:
          type: string
          format: date-time
          title: Createdat
      type: object
      required:
      - id
      - amount
      - currency
      - status
      - items
      - createdAt
      title: PublicInvoiceResponse
    USAccountDetails:
      properties:
        accountNumber:
          type: string
          title: Accountnumber
        routingNumber:
          type: string
          title: Routingnumber
      type: object
      required:
      - accountNumber
      - routingNumber
      title: USAccountDetails
      description: US domestic account details (ACH).
    AlignAccountHolderType:
      type: string
      enum:
      - individual
      - business
      title: AlignAccountHolderType
      description: Account holder type.
    SwiftDetails:
      properties:
        accountNumber:
          type: string
          title: Accountnumber
        routingNumber:
          anyOf:
          - type: string
          - type: 'null'
          title: Routingnumber
        bic:
          type: string
          title: Bic
      type: object
      required:
      - accountNumber
      - bic
      title: SwiftDetails
      description: SWIFT (international wire) account details.
    UniversalQuoteResponse:
      properties:
        quoteId:
          type: string
          title: Quoteid
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        paymentChannel:
          type: string
          title: Paymentchannel
        fromAmount:
          type: number
          title: Fromamount
        fromCurrency:
          type: string
          title: Fromcurrency
        toAmount:
          type: number
          title: Toamount
        depositMemo:
          anyOf:
          - type: string
          - type: 'null'
          title: Depositmemo
        toCurrency:
          type: string
          title: Tocurrency
        feeAmount:
          anyOf:
          - type: number
          - type: 'null'
          title: Feeamount
        feeCurrency:
          anyOf:
          - type: string
          - type: 'null'
          title: Feecurrency
        rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Rate
        expiresAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expiresat
        maskedIban:
          anyOf:
          - type: string
          - type: 'null'
          title: Maskediban
        depositAddress:
          anyOf:
          - type: string
          - type: 'null'
          title: Depositaddress
        recipientAddress:
          anyOf:
          - type: string
          - type: 'null'
          title: Recipientaddress
        originChainId:
          anyOf:
          - type: string
          - type: 'null'
          title: Originchainid
        destinationChainId:
          anyOf:
          - type: string
          - type: 'null'
          title: Destinationchainid
        transactionRequest:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Transactionrequest
      type: object
      required:
      - quoteId
      - paymentChannel
      - fromAmount
      - fromCurrency
      - toAmount
      - toCurrency
      title: UniversalQuoteResponse
      description: Universal quote response.
    UserAddress:
      properties:
        streetAddress:
          anyOf:
          - type: string
          - type: 'null'
          title: Streetaddress
        addressLine2:
          anyOf:
          - type: string
          - type: 'null'
          title: Addressline2
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
        state:
          anyOf:
          - type: string
          - type: 'null'
          title: State
        country:
          anyOf:
          - $ref: '#/components/schemas/CountryCode'
          - type: 'null'
        zip:
          anyOf:
          - type: string
          - type: 'null'
          title: Zip
      type: object
      title: UserAddress
      description: 'Address schema for user.


        Canonical field names: street_address, address_line_2, city, state, country, zip.

        Accepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code)

        for backward compatibility with existing JSONB data.'
    PublicProductResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        images:
          items:
            type: string
          type: array
          title: Images
          default: []
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
        price:
          anyOf:
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          title: Price
        currency:
          type: string
          title: Currency
        minAmount:
          anyOf:
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          title: Minamount
        maxAmount:
          anyOf:
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          title: Maxamount
        presetAmount:
          anyOf:
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          title: Presetamount
        merchantName:
          type: string
          title: Merchantname
        available:
          type: boolean
          title: Available
        successUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Successurl
        cancelUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Cancelurl
      type: object
      required:
      - id
      - name
      - currency
      - merchantName
      - available
      title: PublicProductResponse
      description: Product info for anonymous buyers.
    EmailAccountInput:
      properties:
        accountType:
          type: string
          const: email
          title: Accounttype
          default: email
        email:
          type: string
          title: Email
      type: object
      required:
      - email
      title: EmailAccountInput
      description: Email contact input.
    IBANAccountDetails-Output:
      properties:
        bankName:
          type: string
          title: Bankname
        bankAddress:
          anyOf:
          - type: string
          - type: 'null'
          title: Bankaddress
        currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency
        accountHolderType:
          $ref: '#/components/schemas/AlignAccountHolderType'
        accountHolderFirstName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderfirstname
        accountHolderLastName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderlastname
        accountHolderBusinessName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderbusinessname
        accountHolderAddress:
          anyOf:
          - $ref: '#/components/schemas/UserAddress'
          - type: 'null'
        relationship:
          anyOf:
          - $ref: '#/components/schemas/app__schemas__base__ContactRelationship'
          - type: 'null'
        paymentReference:
          anyOf:
          - type: string
          - type: 'null'
          title: Paymentreference
        accountType:
          type: string
          enum:
          - sepa
          - uaefts
          title: Accounttype
          default: sepa
        ibanNumber:
          type: string
          title: Ibannumber
        bic:
          anyOf:
          - type: string
          - type: 'null'
          title: Bic
        beneficiaryName:
          anyOf:
          - type: string
          - type: 'null'
          title: Beneficiaryname
          description: Frontend-only alias derived from account holder fields.
          readOnly: true
      type: object
      required:
      - bankName
      - accountHolderType
      - ibanNumber
      - beneficiaryName
      title: IBANAccountDetails
      description: IBAN (SEPA) external account.
    PublicInvoiceContractInfo:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        documentName:
          anyOf:
          - type: string
          - type: 'null'
          title: Documentname
        documentLink:
          anyOf:
          - type: string
          - type: 'null'
          title: Documentlink
      type: object
      required:
      - id
      title: PublicInvoiceContractInfo
    PublicInvoiceItem:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        quantity:
          anyOf:
          - type: number
          - type: 'null'
          title: Quantity
        price:
          anyOf:
          - type: number
          - type: 'null'
          title: Price
      type: object
      title: PublicInvoiceItem
    SubmitDepositRequest:
      properties:
        txHash:
          type: string
          title: Txhash
        chainId:
          type: string
          title: Chainid
      type: object
      required:
      - txHash
      - chainId
      title: SubmitDepositRequest
    SwiftAccountDetails-Output:
      properties:
        bankName:
          type: string
          title: Bankname
        bankAddress:
          anyOf:
          - type: string
          - type: 'null'
          title: Bankaddress
        currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency
        accountHolderType:
          $ref: '#/components/schemas/AlignAccountHolderType'
        accountHolderFirstName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderfirstname
        accountHolderLastName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderlastname
        accountHolderBusinessName:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountholderbusinessname
        accountHolderAddress:
          anyOf:
          - $ref: '#/components/schemas/UserAddress'
          - type: 'null'
        relationship:
          anyOf:
          - $ref: '#/components/schemas/app__schemas__base__ContactRelationship'
          - type: 'null'
        paymentReference:
          anyOf:
          - type: string
          - type: 'null'
          title: Paymentreference
        accountType:
          type: string
          const: swift
          title: Accounttype
          default: swift
        swift:
          $ref: '#/components/schemas/SwiftDetails'
        beneficiaryName:
          anyOf:
          - type: string
          - type: 'null'
          title: Beneficiaryname
          description: Frontend-only alias derived from account holder fields.
          readOnly: true
      type: object
      required:
      - bankName
      - accountHolderType
      - swift
      - beneficiaryName
      title: SwiftAccountDetails
      description: SWIFT (international wire) external account.
    CountryCode:
      type: string
      enum:
      - AF
      - AX
      - AL
      - DZ
      - AS
      - AD
      - AO
      - AI
      - AQ
      - AG
      - AR
      - AM
      - AW
      - AU
      - AT
      - AZ
      - BS
      - BH
      - BD
      - BB
      - BY
      - BE
      - BZ
      - BJ
      - BM
      - BT
      - BO
      - BQ
      - BA
      - BW
      - BV
      - BR
      - IO
      - BN
      - BG
      - BF
      - BI
      - CV
      - KH
      - CM
      - CA
      - KY
      - CF
      - TD
      - CL
      - CN
      - CX
      - CC
      - CO
      - KM
      - CG
      - CD
      - CK
      - CR
      - CI
      - HR
      - CU
      - CW
      - CY
      - CZ
      - DK
      - DJ
      - DM
      - DO
      - EC
      - EG
      - SV
      - GQ
      - ER
      - EE
      - SZ
      - ET
      - FK
      - FO
      - FJ
      - FI
      - FR
      - GF
      - PF
      - TF
      - GA
      - GM
      - GE
      - DE
      - GH
      - GI
      - GR
      - GL
      - GD
      - GP
      - GU
      - GT
      - GG
      - GN
      - GW
      - GY
      - HT
      - HM
      - VA
      - HN
      - HK
      - HU
      - IS
      - IN
      - ID
      - IR
      - IQ
      - IE
      - IM
      - IL
      - IT
      - JM
      - JP
      - JE
      - JO
      - KZ
      - KE
      - KI
      - KP
      - KR
      - KW
      - KG
      - LA
      - LV
      - LB
      - LS
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MG
      - MW
      - MY
      - MV
      - ML
      - MT
      - MH
      - MQ
      - MR
      - MU
      - YT
      - MX
      - FM
      - MD
      - MC
      - MN
      - ME
      - MS
      - MA
      - MZ
      - MM
      - NA
      - NR
      - NP
      - NL
      - NC
      - NZ
      - NI
      - NE
      - NG
      - NU
      - NF
      - MK
      - MP
      - 'NO'
      - OM
      - PK
      - PW
      - PS
      - PA
      - PG
      - PY
      - PE
      - PH
      - PN
      - PL
      - PT
      - PR
      - QA
      - RE
      - RO
      - RU
      - RW
      - BL
      - SH
      - KN
      - LC
      - MF
      - PM
      - VC
      - WS
      - SM
      - ST
      - SA
      - SN
      - RS
      - SC
      - SL
      - SG
      - SX
      - SK
      - SI
      - SB
      - SO
      - ZA
      - GS
      - SS
      - ES
      - LK
      - SD
      - SR
      - SJ
      - SE
      - CH
      - SY
      - TW
      - TJ
      - TZ
      - TH
      - TL
      - TG
      - TK
      - TO
      - TT
      - TN
      - TR
      - TM
      - TC
      - TV
      - UG
      - UA
      - AE
      - GB
      - US
      - UM
      - UY
      - UZ
      - VU
      - VE
      - VN
      - VG
      - VI
      - WF
      - EH
      - YE
      - ZM
      - ZW
      title: CountryCode
      description: ISO 3166-1 alpha-2 country codes.
    InvoiceParticipant:
      properties:
        email:
          type: string
          title: Email
        displayName:
          anyOf:
          - type: string
          - type: 'null'
          title: Displayname
        address:
          anyOf:
          - $ref: '#/components/schemas/UserAddress'
          - type: 'null'
      type: object
      required:
      - email
      title: InvoiceParticipant
      description: Minimal participant info for invoice response.
    PaymentTransactionResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        productId:
          type: string
          format: uuid
          title: Productid
        ocQuoteId:
          type: string
          title: Ocquoteid
        clientReferenceId:
          anyOf:
          - type: string
          - type: 'null'
          title: Clientreferenceid
        memo:
          anyOf:
          - type: string
          - type: 'null'
          title: Memo
        usdAmount:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Usdamount
        transactionId:
          anyOf:
          - type: string
          - type: 'null'
          title: Transactionid
        buyerEmail:
          anyOf:
          - type: string
          - type: 'null'
          title: Buyeremail
        invoiceId:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Invoiceid
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          default: {}
        expiresAt:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expiresat
        status:
          type: string
          title: Status
        createdAt:
          type: string
          format: date-time
          title: Createdat
      type: object
      required:
      - id
      - productId
      - ocQuoteId
      - usdAmount
      - status
      - createdAt
      title: PaymentTransactionResponse
  securitySchemes

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hevn-inc/refs/heads/main/openapi/hevn-inc-public-api-openapi.yml