Hevn Inc Public API
The Public API from Hevn Inc — 8 operation(s) for public.
The Public API from Hevn Inc — 8 operation(s) for public.
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