Hevn Inc Transactions API
The Transactions API from Hevn Inc — 9 operation(s) for transactions.
The Transactions API from Hevn Inc — 9 operation(s) for transactions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hevn-inc-transactions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: HEVN 2FA Transactions API
description: Backend API for HEVN mobile neobank
version: 0.1.2
servers:
- url: https://api.hevn.finance
description: Production
tags:
- name: Transactions
paths:
/api/v1/transactions/export:
get:
tags:
- Transactions
summary: Export transactions
description: Export transactions as CSV or XLSX file.
operationId: export_transactions_api_v1_transactions_export_get
security:
- HTTPBearer: []
parameters:
- name: format
in: query
required: false
schema:
$ref: '#/components/schemas/TransactionExportFormat'
default: csv
- name: type
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated transaction types
title: Type
description: Comma-separated transaction types
- name: incomeOnly
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Incomeonly
- name: tag
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated tags
title: Tag
description: Comma-separated tags
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated unified statuses
title: Status
description: Comma-separated unified statuses
- name: contactId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated contact UUIDs
title: Contactid
description: Comma-separated contact UUIDs
- name: bank_account_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bank Account Id
description: Comma-separated bank account UUIDs
- name: bankAccountId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bankaccountid
description: Comma-separated bank account UUIDs
- name: cardId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated Card UUIDs
title: Cardid
description: Comma-separated Card UUIDs
- name: fromDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Fromdate
- name: toDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Todate
- name: q
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
title: Q
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions:
get:
tags:
- Transactions
summary: Get user transactions
description: Get latest user transactions sorted by time.
operationId: get_transactions_api_v1_transactions_get
security:
- HTTPBearer: []
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
default: 50
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
- name: sortBy
in: query
required: false
schema:
$ref: '#/components/schemas/TransactionSortBy'
default: date
- name: sortOrder
in: query
required: false
schema:
$ref: '#/components/schemas/SortOrder'
default: desc
- name: type
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated transaction types
title: Type
description: Comma-separated transaction types
- name: incomeOnly
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Incomeonly
- name: tag
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated tags
title: Tag
description: Comma-separated tags
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated unified statuses
title: Status
description: Comma-separated unified statuses
- name: contactId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated contact UUIDs
title: Contactid
description: Comma-separated contact UUIDs
- name: bank_account_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bank Account Id
description: Comma-separated bank account UUIDs
- name: bankAccountId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bankaccountid
description: Comma-separated bank account UUIDs
- name: cardId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated Card UUIDs
title: Cardid
description: Comma-separated Card UUIDs
- name: fromDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Fromdate
- name: toDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Todate
- name: q
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
title: Q
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UnifiedTransactionListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/breakdown:
get:
tags:
- Transactions
summary: Transaction volume breakdown
description: Volume + count grouped by tag or type, with the same filters as the list.
operationId: get_transactions_breakdown_api_v1_transactions_breakdown_get
security:
- HTTPBearer: []
parameters:
- name: groupBy
in: query
required: true
schema:
$ref: '#/components/schemas/TransactionGroupBy'
description: Group by tag or type
description: Group by tag or type
- name: type
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated transaction types
title: Type
description: Comma-separated transaction types
- name: incomeOnly
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Incomeonly
- name: tag
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated tags
title: Tag
description: Comma-separated tags
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated unified statuses
title: Status
description: Comma-separated unified statuses
- name: contactId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated contact UUIDs
title: Contactid
description: Comma-separated contact UUIDs
- name: bank_account_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bank Account Id
description: Comma-separated bank account UUIDs
- name: bankAccountId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bankaccountid
description: Comma-separated bank account UUIDs
- name: cardId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated Card UUIDs
title: Cardid
description: Comma-separated Card UUIDs
- name: fromDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Fromdate
- name: toDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Todate
- name: q
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
title: Q
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionBreakdownResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/breakdown/series:
get:
tags:
- Transactions
summary: Transaction volume breakdown over time
description: 'Volume + count grouped by tag or type, split into time buckets across the fromDate..toDate range. Granularity is auto-picked: >6 months → month, >30 days → week, otherwise day. Empty periods are returned as zero-filled buckets so the frontend gets a complete x-axis. Same filter set as /transactions and /transactions/breakdown. `fromDate` and `toDate` are required.'
operationId: get_transactions_breakdown_series_api_v1_transactions_breakdown_series_get
security:
- HTTPBearer: []
parameters:
- name: groupBy
in: query
required: true
schema:
$ref: '#/components/schemas/TransactionGroupBy'
description: Group by tag or type
description: Group by tag or type
- name: type
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated transaction types
title: Type
description: Comma-separated transaction types
- name: incomeOnly
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Incomeonly
- name: tag
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated tags
title: Tag
description: Comma-separated tags
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated unified statuses
title: Status
description: Comma-separated unified statuses
- name: contactId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated contact UUIDs
title: Contactid
description: Comma-separated contact UUIDs
- name: bank_account_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bank Account Id
description: Comma-separated bank account UUIDs
- name: bankAccountId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated bank account UUIDs
title: Bankaccountid
description: Comma-separated bank account UUIDs
- name: cardId
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated Card UUIDs
title: Cardid
description: Comma-separated Card UUIDs
- name: fromDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Fromdate
- name: toDate
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Todate
- name: q
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
title: Q
description: Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionBreakdownSeriesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/{transaction_id}/details:
get:
tags:
- Transactions
summary: Get transaction details
description: Authenticated owners get the full UX (status auto-sync, document download links, crypto→internal repair). Unauthenticated callers must pass `?key=` with a share key issued by `POST /transactions/{id}/share`. Without auth and without a valid key the endpoint returns 401.
operationId: get_transaction_details_endpoint_api_v1_transactions__transaction_id__details_get
security:
- HTTPBearer: []
parameters:
- name: transaction_id
in: path
required: true
schema:
type: string
title: Transaction Id
- name: key
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Key
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionDetailResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/{transaction_id}/share:
post:
tags:
- Transactions
summary: Create a share link for a transaction
description: Owner-only. Creates a temp access key scoped to this transaction_id. Pass the raw key back to `GET /transactions/{id}/details?key=<key>` to fetch the receipt without auth.
operationId: create_transaction_share_link_api_v1_transactions__transaction_id__share_post
security:
- HTTPBearer: []
parameters:
- name: transaction_id
in: path
required: true
schema:
type: string
title: Transaction Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionShareLinkResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/{transaction_id}/tag:
post:
tags:
- Transactions
summary: Set transaction tag
description: Set or clear a tag on a transaction.
operationId: set_transaction_tag_api_v1_transactions__transaction_id__tag_post
security:
- HTTPBearer: []
parameters:
- name: transaction_id
in: path
required: true
schema:
type: string
title: Transaction 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/TagUpdateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TagUpdateResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/{transaction_id}/memo:
put:
tags:
- Transactions
summary: Set transaction memo
description: Set or clear a memo (description) on a transaction.
operationId: set_transaction_memo_api_v1_transactions__transaction_id__memo_put
security:
- HTTPBearer: []
parameters:
- name: transaction_id
in: path
required: true
schema:
type: string
title: Transaction 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/MemoUpdateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/MemoUpdateResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/transactions/{transaction_id}/attachments:
post:
tags:
- Transactions
summary: Attach a document to a transaction
description: Append an already-uploaded document (by id) to the transaction's attachments. The document must belong to the same user. Idempotent — re-attaching an existing id is a no-op. Returns the full updated list with signed download links.
operationId: attach_document_to_transaction_api_v1_transactions__transaction_id__attachments_post
security:
- HTTPBearer: []
parameters:
- name: transaction_id
in: path
required: true
schema:
type: string
title: Transaction 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/app__schemas__routers__transactions__transaction__AttachDocumentRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TransactionAttachment'
title: Response Attach Document To Transaction Api V1 Transactions Transaction Id Attachments Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
TransactionSortBy:
type: string
enum:
- date
- amount
title: TransactionSortBy
description: Field to sort the transaction list by.
TransactionBreakdownSeriesBucket:
properties:
bucketStart:
type: string
format: date-time
title: Bucketstart
bucketEnd:
type: string
format: date-time
title: Bucketend
items:
items:
$ref: '#/components/schemas/TransactionBreakdownItem'
type: array
title: Items
type: object
required:
- bucketStart
- bucketEnd
- items
title: TransactionBreakdownSeriesBucket
description: One time-bucket in a breakdown series, with the per-key items inside it.
TransactionBreakdownItem:
properties:
key:
type: string
title: Key
volumeUsd:
type: number
title: Volumeusd
count:
type: integer
title: Count
type: object
required:
- key
- volumeUsd
- count
title: TransactionBreakdownItem
description: One bucket in a breakdown — volume + count for a tag/type value.
TransactionCardDetail:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
label:
anyOf:
- type: string
- type: 'null'
title: Label
merchant:
anyOf:
- type: string
- type: 'null'
title: Merchant
merchantIcon:
anyOf:
- type: string
- type: 'null'
title: Merchanticon
category:
anyOf:
- type: string
- type: 'null'
title: Category
type: object
title: TransactionCardDetail
description: Card and merchant info for card transactions.
TransactionBreakdownResponse:
properties:
groupBy:
$ref: '#/components/schemas/TransactionGroupBy'
items:
items:
$ref: '#/components/schemas/TransactionBreakdownItem'
type: array
title: Items
type: object
required:
- groupBy
- items
title: TransactionBreakdownResponse
description: Volume + count grouped by tag or type, with the same filters as the list.
TransactionExportFormat:
type: string
enum:
- csv
- xlsx
title: TransactionExportFormat
TransactionWalletDetail:
properties:
address:
anyOf:
- type: string
- type: 'null'
title: Address
chainId:
anyOf:
- type: string
- type: 'null'
title: Chainid
type: object
title: TransactionWalletDetail
description: Wallet details for transaction list/detail views.
SortOrder:
type: string
enum:
- asc
- desc
title: SortOrder
description: Sort direction.
ApiKeyListResponse:
properties:
id:
type: string
format: uuid
title: Id
name:
type: string
title: Name
keyPreview:
type: string
title: Keypreview
walletAddress:
anyOf:
- type: string
- type: 'null'
title: Walletaddress
ipRestriction:
anyOf:
- type: string
- type: 'null'
title: Iprestriction
maxSpend:
anyOf:
- type: number
- type: 'null'
title: Maxspend
totalSpend:
type: number
title: Totalspend
remaining:
type: integer
title: Remaining
default: 0
lastUse:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Lastuse
createdAt:
type: string
format: date-time
title: Createdat
type: object
required:
- id
- name
- keyPreview
- totalSpend
- createdAt
title: ApiKeyListResponse
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.'
MemoUpdateResponse:
properties:
onchainTransactionId:
type: string
title: Onchaintransactionid
memo:
anyOf:
- type: string
- type: 'null'
title: Memo
type: object
required:
- onchainTransactionId
title: MemoUpdateResponse
description: Response for memo update.
TransactionBreakdownGranularity:
type: string
enum:
- day
- week
- month
title: TransactionBreakdownGranularity
description: Time bucket size for the breakdown series.
TransactionAmountDetail:
properties:
currency:
type: string
title: Currency
amount:
type: number
title: Amount
usdRate:
anyOf:
- type: number
- type: 'null'
title: Usdrate
source:
anyOf:
- type: string
- type: 'null'
title: Source
type: object
required:
- currency
- amount
title: TransactionAmountDetail
description: Currency / amount / rate leg of a transaction.
UnifiedTransactionListResponse:
properties:
transactions:
items:
$ref: '#/components/schemas/UnifiedTransactionItem'
type: array
title: Transactions
summary:
anyOf:
- $ref: '#/components/schemas/TransactionSummary'
- type: 'null'
type: object
required:
- transactions
title: UnifiedTransactionListResponse
description: Unified transaction list response.
app__schemas__routers__transactions__transaction__AttachDocumentRequest:
properties:
documentId:
type: string
format: uuid
title: Documentid
type: object
required:
- documentId
title: AttachDocumentRequest
description: Body for POST /transactions/{id}/attachments.
TransactionInvoiceDetail:
properties:
id:
type: string
format: uuid
title: Id
name:
anyOf:
- type: string
- type: 'null'
title: Name
documentName:
anyOf:
- type: string
- type: 'null'
title: Documentname
documentLink:
anyOf:
- type: string
- type: 'null'
title: Documentlink
dueDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Duedate
items:
items:
additionalProperties: true
type: object
type: array
title: Items
invoiceLink:
anyOf:
- type: string
- type: 'null'
title: Invoicelink
issueDate:
anyOf:
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hevn-inc/refs/heads/main/openapi/hevn-inc-transactions-api-openapi.yml