Hevn Inc User API
The User API from Hevn Inc — 21 operation(s) for user.
The User API from Hevn Inc — 21 operation(s) for user.
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-user-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 User API
description: Backend API for HEVN mobile neobank
version: 0.1.2
servers:
- url: https://api.hevn.finance
description: Production
tags:
- name: User
paths:
/api/v1/user/kyc:
put:
tags:
- User
summary: Create or get current user
description: Create or update user profile data for KYC.
operationId: update_user_kyc_data_api_v1_user_kyc_put
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreateRequest'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
/api/v1/user:
get:
tags:
- User
summary: Get current user
description: Get the profile of the currently authenticated user.
operationId: get_current_user_api_v1_user_get
security:
- HTTPBearer: []
parameters:
- name: device-id
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Device-Id
- name: device-type
in: header
required: false
schema:
type: string
default: ios
title: Device-Type
- name: device-name
in: header
required: false
schema:
type: string
default: ios
title: Device-Name
- 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/UserResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/kyc_link:
post:
tags:
- User
summary: Submit KYC data
description: Get Swipelux KYC verification link.
operationId: submit_kyc_api_v1_user_kyc_link_post
security:
- HTTPBearer: []
parameters:
- 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/KycStatusResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/kyc/status:
get:
tags:
- User
summary: Get KYC status
description: Check the current KYC verification status. Use provider=align for Align.
operationId: get_kyc_status_api_v1_user_kyc_status_get
security:
- HTTPBearer: []
parameters:
- name: provider
in: query
required: false
schema:
$ref: '#/components/schemas/FiatProvider'
default: swipelux
- 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/KycStatusResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/geo:
get:
tags:
- User
summary: Geocode address
description: Search address via Google Maps Geocoding API and return structured address components.
operationId: geocode_address_api_v1_user_geo_get
security:
- HTTPBearer: []
parameters:
- name: query
in: query
required: true
schema:
type: string
title: Query
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserAddress'
title: Response Geocode Address Api V1 User Geo Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/event:
post:
tags:
- User
summary: Track user event
description: Proxy user events to Customer.io for analytics tracking.
operationId: track_user_event_api_v1_user_event_post
security:
- HTTPBearer: []
parameters:
- 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/UserEventRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Track User Event Api V1 User Event Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/settings:
get:
tags:
- User
summary: Get user settings
operationId: get_user_settings_api_v1_user_settings_get
security:
- HTTPBearer: []
parameters:
- 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/UserSettings-Output'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- User
summary: Update user settings
operationId: update_settings_api_v1_user_settings_put
security:
- HTTPBearer: []
parameters:
- 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/UserSettings-Input'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserSettings-Output'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/bank_requested:
put:
tags:
- User
summary: Update requested bank rails
operationId: update_bank_requested_api_v1_user_bank_requested_put
security:
- HTTPBearer: []
parameters:
- 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/BankRequestedSettings-Input'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BankRequestedSettings-Output'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/notifications:
get:
tags:
- User
summary: Get recent notifications
description: Return recent notifications (email/push) for the current user.
operationId: get_notifications_api_v1_user_notifications_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: 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/NotificationListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/avatar:
post:
tags:
- User
summary: Upload user avatar
description: Upload avatar image to public storage and save URL to user profile.
operationId: upload_avatar_api_v1_user_avatar_post
security:
- HTTPBearer: []
parameters:
- 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/AvatarUploadRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AvatarUploadResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/share_kyb_link:
post:
tags:
- User
summary: Share KYB link
description: Send a KYB verification link to the specified email.
operationId: share_kyb_link_api_v1_user_share_kyb_link_post
security:
- HTTPBearer: []
parameters:
- 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/ShareKybLinkRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Share Kyb Link Api V1 User Share Kyb Link Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/invite:
post:
tags:
- User
summary: Send invite
description: Legacy mapping for team invites. Prefer POST /team/invite.
operationId: send_legacy_user_invite_api_v1_user_invite_post
security:
- HTTPBearer: []
parameters:
- 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/InviteRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Send Legacy User Invite Api V1 User Invite Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/contact/bank/validate:
post:
tags:
- User
summary: Prevalidate bank contact details
description: Validate bank identifiers before creating a contact.
operationId: validate_bank_contact_api_v1_user_contact_bank_validate_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BankValidationRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BankValidationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/contacts:
get:
tags:
- User
summary: Get user contacts
description: Get all contacts for the current user.
operationId: get_contacts_api_v1_user_contacts_get
security:
- HTTPBearer: []
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 500
minimum: 1
default: 100
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
- 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/ContactListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/contact/preview:
get:
tags:
- User
summary: Preview contact by wallet or email
description: Look up a HEVN user by wallet address or email and return a preview.
operationId: preview_contact_api_v1_user_contact_preview_get
security:
- HTTPBearer: []
parameters:
- name: wallet
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: EVM wallet address
title: Wallet
description: EVM wallet address
- name: email
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Email address
title: Email
description: Email address
- 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/ContactPreviewResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/contact:
post:
tags:
- User
summary: Create contact
description: Create a new contact for the current user.
operationId: create_contact_api_v1_user_contact_post
security:
- HTTPBearer: []
parameters:
- 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/ContactCreateRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/contacts/{contact_id}:
patch:
tags:
- User
summary: Update contact name
description: Update safe contact metadata.
operationId: update_contact_api_v1_user_contacts__contact_id__patch
security:
- HTTPBearer: []
parameters:
- name: contact_id
in: path
required: true
schema:
type: string
format: uuid
title: Contact 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/ContactUpdateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- User
summary: Delete contact
description: Delete a contact.
operationId: delete_contact_api_v1_user_contacts__contact_id__delete
security:
- HTTPBearer: []
parameters:
- name: contact_id
in: path
required: true
schema:
type: string
format: uuid
title: Contact Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/invite_code:
get:
tags:
- User
summary: Get invite code for current user
description: Get the current user's invite code, creating one if needed.
operationId: get_invite_code_api_v1_user_invite_code_get
security:
- HTTPBearer: []
parameters:
- 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/InviteCodeResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/invited:
get:
tags:
- User
summary: Get users invited by current user
description: Return all users who joined via the current user's invite code.
operationId: get_invited_users_api_v1_user_invited_get
security:
- HTTPBearer: []
parameters:
- 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/InvitedListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/user/rewards:
get:
tags:
- User
summary: Get referral rewards earned by current user
description: Return list of referral rewards (KYB and volume bonuses) for the current user.
operationId: get_rewards_api_v1_user_rewards_get
security:
- HTTPBearer: []
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 500
minimum: 1
default: 100
title: Limit
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Reserved for future pagination
title: Cursor
description: Reserved for future pagination
- 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/RewardsListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/kyb/user/share_kyb_link:
post:
tags:
- User
summary: Share KYB link
description: Send a KYB verification link to the specified email.
operationId: share_kyb_link_package_alias_api_v1_kyb_user_share_kyb_link_post
security:
- HTTPBearer: []
parameters:
- 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/ShareKybLinkRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Share Kyb Link Package Alias Api V1 Kyb User Share Kyb Link Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
RewardType:
type: string
enum:
- kyb
- volume
title: RewardType
description: Referral reward type.
NotificationChannel:
type: string
enum:
- email
- push
- internal
title: NotificationChannel
description: Notification delivery channel.
RewardItem:
properties:
id:
type: string
title: Id
date:
type: string
format: date-time
title: Date
refereeName:
type: string
title: Refereename
refereeId:
type: string
format: uuid
title: Refereeid
amount:
type: string
title: Amount
currency:
type: string
title: Currency
default: USD
type:
$ref: '#/components/schemas/RewardType'
type: object
required:
- id
- date
- refereeName
- refereeId
- amount
- type
title: RewardItem
description: A single referral reward earned by the current user.
BankRequestedRailSettings:
properties:
pooled:
type: boolean
title: Pooled
default: false
named:
type: boolean
title: Named
default: false
type: object
title: BankRequestedRailSettings
description: User interest in a bank rail group.
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.'
RewardsListResponse:
properties:
rewards:
items:
$ref: '#/components/schemas/RewardItem'
type: array
title: Rewards
totalAmount:
type: string
title: Totalamount
currency:
type: string
title: Currency
default: USD
type: object
required:
- rewards
- totalAmount
title: RewardsListResponse
description: List of referral rewards earned by the current user.
InvitedListResponse:
properties:
invited:
items:
$ref: '#/components/schemas/InvitedUserResponse'
type: array
title: Invited
total:
type: integer
title: Total
type: object
required:
- invited
- total
title: InvitedListResponse
description: List of invited users.
InvitedUserResponse:
properties:
id:
type: string
format: uuid
title: Id
email:
type: string
title: Email
firstName:
anyOf:
- type: string
- type: 'null'
title: Firstname
lastName:
anyOf:
- type: string
- type: 'null'
title: Lastname
avatarUrl:
anyOf:
- type: string
- type: 'null'
title: Avatarurl
isBusiness:
anyOf:
- type: boolean
- type: 'null'
title: Isbusiness
status:
$ref: '#/components/schemas/InvitedStatus'
createdAt:
type: string
format: date-time
title: Createdat
type: object
required:
- id
- email
- status
- createdAt
title: InvitedUserResponse
description: A single invited user.
IBANAccountDetails-Input:
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
type: object
required:
- bankName
- accountHolderType
- ibanNumber
title: IBANAccountDetails
description: IBAN (SEPA) external account.
UserResponse:
properties:
id:
type: string
format: uuid
title: Id
email:
type: string
title: Email
phone:
anyOf:
- type: string
- type: 'null'
title: Phone
avatarUrl:
anyOf:
- type: string
- type: 'null'
title: Avatarurl
contactInfo:
anyOf:
- type: string
- type: 'null'
title: Contactinfo
firstName:
anyOf:
- type: string
- type: 'null'
title: Firstname
middleName:
anyOf:
- type: string
- type: 'null'
title: Middlename
lastName:
anyOf:
- type: string
- type: 'null'
title: Lastname
entityName:
anyOf:
- type: string
- type: 'null'
title: Entityname
birthDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Birthdate
country:
anyOf:
- type: string
- type: 'null'
title: Country
jurisdiction:
anyOf:
- type: string
- type: 'null'
title: Jurisdiction
address:
anyOf:
- $ref: '#/components/schemas/UserAddress'
- type: 'null'
fiatRails:
items:
$ref: '#/components/schemas/FiatRailResponse'
type: array
title: Fiatrails
default: []
isBusiness:
anyOf:
- type: boolean
- type: 'null'
title: Isbusiness
plan:
type: string
title: Plan
default: free
referrer:
anyOf:
- $ref: '#/components/schemas/ReferrerInfo'
- type: 'null'
createdAt:
type: string
format: date-time
title: Createdat
updatedAt:
type: string
format: date-time
title: Updatedat
pushNotificationAllowed:
anyOf:
- type: boolean
- type: 'null'
title: Pushnotificationallowed
myIp:
anyOf:
- type: string
- type: 'null'
title: Myip
bankRequested:
$ref: '#/components/
# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hevn-inc/refs/heads/main/openapi/hevn-inc-user-api-openapi.yml