1. Transactions
My Project
    • 🐶 Walk through Apidog
    • Sample APIs
      • Find pet by ID
      • Add a new pet to the store
      • Update an existing pet
      • Deletes a pet
      • Finds Pets by status
    • Schemas
      • Sample Schemas
        • Pet
        • Category
        • Tag
  • Hisabin API V1
    • Authentication
      • Register a new user
      • Login with email and password
      • Refresh access token
      • Logout from current device
      • Logout from all devices
      • Request password reset
      • Reset password with token
      • Get current user info
    • Users
      • Get user profile
      • Update user profile
      • Update password
      • List registered devices
      • Remove a device
    • Portfolios
      • List all portfolios
      • Create a portfolio
      • Get a portfolio
      • Update a portfolio
      • Delete a portfolio
    • Accounts
      • List accounts in a portfolio
      • Create an account
      • Get an account
      • Update an account
      • Delete an account
    • Assets
      • List assets in a portfolio
      • Create an asset
      • Get an asset
      • Update an asset
      • Delete an asset
    • Loans
      • List loans in a portfolio
      • Create a loan
      • Get a loan
      • Update a loan
      • Delete a loan
    • Debts
      • List debts in a portfolio
      • Create a debt
      • Get a debt
      • Update a debt
      • Delete a debt
    • Heritages
      • List heritage plans in a portfolio
      • Create a heritage plan
      • Get a heritage plan
      • Update a heritage plan
      • Delete a heritage plan
    • Budgets
      • List budgets in a portfolio
      • Create a budget
      • Get a budget
      • Update a budget
      • Delete a budget
    • Goals
      • List goals in a portfolio
      • Create a goal
      • Get a goal
      • Update a goal
      • Delete a goal
    • Transactions
      • List all transactions
        GET
      • Create a transaction
        POST
      • List transactions for a specific account
        GET
      • Get a transaction
        GET
      • Update a transaction
        PATCH
      • Delete a transaction
        DELETE
      • Add attachment to transaction
        POST
      • Remove attachment from transaction
        DELETE
      • Create internal transfer between accounts
        POST
      • Get monthly transaction summary
        GET
    • External Accounts
      • List external accounts
      • Create external account
      • Get external account
      • Update external account
      • Delete external account
    • Subscriptions
      • List subscriptions
      • Create subscription
      • Get subscription summary
      • Get subscription details
      • Update subscription
      • Delete subscription
      • Pause subscription
      • Resume subscription
      • Cancel subscription
      • Record subscription payment
      • Skip subscription payment
      • List subscription payments
    • Schemas
      • Error
      • DeviceInfo
      • TokenResponse
      • UserPlan
      • User
      • AuthResponse
      • UserProfile
      • Device
      • Money
      • Portfolio
      • Account
      • Asset
      • Loan
      • Debt
      • Heritage
      • HeritageBeneficiary
      • HeritageAllocation
      • Budget
      • Goal
      • Transaction
      • Transfer
      • TransactionSummary
      • ExternalAccount
      • Subscription
      • SubscriptionPayment
      • SubscriptionSummary
  1. Transactions

Create a transaction

POST
/api/v1/transactions
Unified endpoint for creating all types of transactions with consistent payload.
All transaction types require the same base fields and support multi-currency.
Required fields for ALL types:
portfolio_id - Portfolio ID
account_id - Source account ID
kind - "incoming" or "outgoing"
amount_cents - Amount in cents
amount_currency - Currency code (e.g., "IDR", "MYR", "USD")
category_id - Category ID (required for all transactions)
Optional fields for ALL types:
description, notes, reference_number, transaction_date
destination_amount_cents, destination_currency, exchange_rate (for multi-currency)
For Internal Transfer: Add transfer_type: "internal" and destination_account_id
For External Transfer: Add transfer_type: "external" and either:
external_account_id (use existing), OR
external_name + external_account_number + external_bank_name (create new)

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢201Created
application/json
Transaction created
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/api/v1/transactions' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "portfolio_id": "portfolio-uuid",
    "account_id": "account-uuid",
    "kind": "outgoing",
    "amount_cents": 150000,
    "amount_currency": "IDR",
    "category_id": "category-uuid",
    "description": "Lunch at restaurant",
    "transaction_date": "2024-01-15"
}'
Response Response Example
{
    "success": true,
    "data": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "kind": "incoming",
        "amount": {
            "cents": 100000,
            "currency": "IDR"
        },
        "description": "Grocery shopping at supermarket",
        "notes": "string",
        "reference_number": "string",
        "transaction_date": "2019-08-24T14:15:22.123Z",
        "account": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "label": "string",
            "kind": "string"
        },
        "category": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "icon": "string",
            "color": "string"
        },
        "is_transfer": true,
        "transfer_type": "internal",
        "transfer_details": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "external": true,
            "external_destination": "string",
            "external_name": "John Doe",
            "external_account_number": "1234567890",
            "source_amount": {
                "cents": 100000,
                "currency": "IDR"
            },
            "destination_amount": {
                "cents": 100000,
                "currency": "IDR"
            },
            "exchange_rate": 0,
            "fee": {
                "cents": 100000,
                "currency": "IDR"
            }
        },
        "attachments": [
            {
                "id": "string",
                "filename": "string",
                "content_type": "string",
                "byte_size": 0,
                "url": "string"
            }
        ],
        "created_at": "2019-08-24T14:15:22.123Z",
        "updated_at": "2019-08-24T14:15:22.123Z"
    }
}
Modified at 2025-12-03 16:47:21
Previous
List all transactions
Next
List transactions for a specific account
Built with