Accountable API

By Abhishek Kumar
6 min read
Accountable's smart app simplifies tax calculation and expense tracking for freelancers and businesses. Submit expenses, track reimbursements, and get real-time tax insights effortlessly

Table of Contents

Accountable is the smart mobile app for freelancers: it calculates your taxes in real-time, gives you the recommendations you need, and guarantees your peace of mind.

API Overview

Accountable is a cloud-based expense management and reporting platform designed to help businesses streamline their expense tracking and reimbursement processes. It provides a user-friendly interface for employees to submit expenses, attach receipts, and track their approvals. Managers can review and approve expenses, set budgets, and generate detailed reports for analysis and forecasting. Accountable integrates with various accounting systems and payment platforms, enabling seamless data transfer and reconciliation. Its mobile app allows users to capture receipts and submit expenses on the go.

Accountable's API overview provides comprehensive documentation for developers to integrate with its platform. The REST APIs offer a range of endpoints for managing expenses, employees, reports, and other related data. Webhooks allow businesses to receive real-time notifications for events such as expense submissions, approvals, and policy violations. Rate limits are implemented to ensure the stability and performance of the API, with adjustable limits available for high-volume users. The API documentation includes detailed examples, code snippets, and error-handling guidance to facilitate seamless integration and customization.

API Request Limits

SDKs

APIs

Account Approval

Method: Create Account

Description: <em>Requires an existing Legal Entity (Company) or Person. Legal Entity is required in case of Bank Accounts having Mandate</em>.

Endpoint: /account-approval/create-account

Parameters: company_uuid, cif, account_type, iban

Account

Method: Fetch Account Id by Provided Account Number

Description: <em>Returns accountId for the account number provided</em>.

Endpoint: /account/fetch-account-id

Parameters: account_number

Account

Method: Get Account

Description: <em>Details about a specific account</em>.

Endpoint: /account/{accountId}

Parameters: accountId

Account

Method: Get Account Balance

Description: <em>Retrieve account balance by accountId</em>.

Endpoint: /account/balance/{accountId}

Parameters: accountId

Account

Method: Get Account History

Description: <em>Retrieve account transactions by accountId</em>.

Endpoint: /account/history/{accountId}

Parameters: accountId, from_timestamp, to_timestamp

Account

Method: List Accounts

Description: <em>Get account details for a given company</em>.

Endpoint: /account/list-accounts

Parameters: company_uuid

Account

Method: List Accounts by Iban

Description: <em>Get account details for a given iban</em>.

Endpoint: /account/list-account-by-iban

Parameters: iban

Account

Method: List Accounts by User Id

Description: <em>Get account details for a given user id</em>.

Endpoint: /account/list-account-by-user-id

Parameters: user_uuid

Account

Method: Update Account

Description: <em>Update a Specific Account</em>.

Endpoint: /account/update-account

Parameters: {accountId}

Account Approval

Method: Create Account

Description: <em>Requires an existing Legal Entity (Company) or Person. Legal Entity is required in case of Bank Accounts having Mandate</em>.

Endpoint: /account-approval/create-account

Parameters: company_uuid, cif, account_type, iban

Account

Method: Fetch Account Id by Provided Account Number

Description: <em>Returns accountId for the account number provided</em>.

Endpoint: /account/fetch-account-id

Parameters: account_number

Account

Method: Get Account

Description: <em>Details about a specific account</em>.

Endpoint: /account/{accountId}

Parameters: accountId

Account

Method: Get Account Balance

Description: <em>Retrieve account balance by accountId</em>.

Endpoint: /account/balance/{accountId}

Parameters: accountId

Account

Method: Get Account History

Description: <em>Retrieve account transactions by accountId</em>.

Endpoint: /account/history/{accountId}

Parameters: accountId, from_timestamp, to_timestamp

Account

Method: List Accounts

Description: <em>Get account details for a given company</em>.

Endpoint: /account/list-accounts

Parameters: company_uuid

Account

Method: List Accounts by Iban

Description: <em>Get account details for a given iban</em>.

Endpoint: /account/list-account-by-iban

Parameters: iban

Account

Method: List Accounts by User Id

Description: <em>Get account details for a given user id</em>.

Endpoint: /account/list-account-by-user-id

Parameters: user_uuid

Account

Method: Update Account

Description: <em>Update a Specific Account</em>.

Endpoint: /account/update-account

Parameters: {accountId}

Account Group

Method: Create Account Group

Description: <em>Create account group</em>.

Endpoint: /account-group/create-account-group

Parameters: name

Account Group

Method: Get Account Group

Description: <em>Get account group</em>.

Endpoint: /account-group/{accountGroupId}

Parameters: accountGroupId

Account Group

Method: List Account Groups

Description: <em>List account groups</em>.

Endpoint: /account-group/list-account-groups

Parameters:

Account Group

Method: Update Account Group

Description: <em>Update account group</em>.

Endpoint: /account-group/update-account-group/{accountGroupId}

Parameters: accountGroupId, name

Beneficiary

Method: Create Beneficiary

Description: <em>Create Beneficiary</em>.

Endpoint: /beneficiary/create

Parameters: account_uuid, company_uuid, person_uuid, type, account_number, bank_identifier_code, bank_name, country, address, currency, bic, iban, mandate_reference_id, email_receipient_name

Beneficiary

Method: Delete Beneficiary

Description: <em>Delete Beneficiary</em>.

Endpoint: /beneficiary/delete

Parameters: {beneficiaryId}

Beneficiary

Method: Edit Beneficiary

Description: <em>Edit Beneficiary</em>.

Endpoint: /beneficiary/edit

Parameters: {beneficiaryId}

Beneficiary

Method: Get Beneficiary

Description: <em>Get Beneficiary</em>.

Endpoint: /beneficiary/{beneficiaryId}

Parameters: beneficiaryId

Beneficiary

Method: List Beneficiaries

Description: <em>List Beneficiaries</em>.

Endpoint: /beneficiary

Parameters:

Beneficiary

Method: Search Beneficiary

Description: <em>Search Beneficiary</em>.

Endpoint: /beneficiary/search

Parameters: search_term

Card

Method: Create Card

Description: <em>Create Card</em>.

Endpoint: /card/create

Parameters: account_uuid, corporate_card_product_uuid, card_type, card_holder_name, cvv, otp, billing_address, city, country, postal_code

Card

Method: List Cards

Description: <em>List Cards</em>.

Endpoint: /card/list

Parameters:

Card

Method: Update Card

Description: <em>Update Card</em>.

Endpoint: /card/update

Parameters: card_uuid, cvv, otp, billing_address, city, country, postal_code

Cash Management

Method: Create Bulk Transfer

Description: <em>Enable bulk fund transfer from one account to another</em>.

Endpoint: /cash-management/create-bulk-transfer

Parameters: from_account_id, to_account_id, amount, currency, description

Cash Management

Method: Create Currency Exchange

Description: <em>Enable creation of exchange rates</em>.

Endpoint: /cash-management/currency-exchange

Parameters: from_currency, to_currency, rate

Cash Management

Method: Create Payment

Description: <em>Create Payment</em>.

Endpoint: /cash-management/create-payment

Parameters: from_account_id, to_account_id, amount, currency, description, beneficiary_reference_id, reference_number, mode_of_payment

Cash Management

Method: Generate Payment Report

Description: <em>Generate Payment Report</em>.

Endpoint: /cash-management/payment-report

Parameters: company_uuid

Cash Management

Method: Generate Transfer Report

Description: <em>Generate Transfer Report</em>.

Endpoint: /cash-management/transfer-report

Parameters: company_uuid

Cash Management

Method: Get Bulk Transfer Details

Description: <em>Retrieve Bulk Transfer Details</em>.

Endpoint: /cash-management/bulk-transfer/{bulkTransferId}

Parameters: bulkTransferId

Cash Management

Method: Get Currency Exchange Details

Description: <em>Retrieve Currency Exchange Details</em>.

Endpoint: /cash-management/currency-exchange-details/{currencyExchangeId}

Parameters: currencyExchangeId

Cash Management

Method: Get Payment Details

Description: <em>Retrieve Payment Details</em>.

Endpoint: /cash-management/payment-details/{paymentId}

Parameters: paymentId

Cash Management

Method: Get Transfer Details

Description: <em>Retrieve Transfer Details</em>.

Endpoint: /cash-management/transfer-details/{transferId}

Parameters: transferId

Cash Management

Method: List Bulk Transfers

Description: <em>List Bulk Transfers</em>.

Endpoint: /cash-management/bulk-transfer/list

Parameters:

Cash Management

Method: List Currency Exchanges

Description: <em>List Currency Exchanges</em>.

Endpoint: /cash-management/currency-exchange/list

Parameters:

Cash Management

Method: List Payments

Description: <em>List Payments</em>.

Endpoint: /cash-management/payment/list

Parameters:

Cash Management

Method: List Transfers

Description: <em>List Transfers</em>.

Endpoint: /cash-management/transfer/list

Parameters:

Cash Management

Method: Update Bulk Transfer Status

Description: <em>Update Bulk Transfer Status</em>.

Endpoint: /cash-management/update-bulk-transfer-status/{bulkTransferId}

Parameters: bulkTransferId, status

Cash Management

Method: Update Currency Exchange Status

Description: <em>Update Currency Exchange Status</em>.

Endpoint: /cash-management/update-currency-exchange-status/{currencyExchangeId}

Parameters: currencyExchangeId, status

Cash Management

Method: Update Payment Status

Description: <em>Update Payment Status</em>.

Endpoint: /cash-management/update-payment-status/{paymentId}

Parameters: paymentId, status

Cash Management

Method: Update Transfer Status

Description: <em>Update Transfer Status</em>.

Endpoint: /cash-management/update-transfer-status/{transferId}

Parameters: transferId, status

Company

Method: Create Company

Description: <em>Create Company</em>.

Endpoint: /company/create

Parameters: name, address_line_1, address_line_2, city, state, country, postal_code, primary_contact, primary_contact_mobile_number, primary_contact_email, secondary_contact, secondary_contact_mobile_number, secondary_contact_email, website, registration_number, legal_entity_type, registration_date, tax_id, vat_id, tax_registration_number, incorporation_certificate_number, url_of_incorporation_certificate, url_of_tax_registration_certificate, url_of_vat_registration_certificate, url_of_certificate_of_good_standing, url_of_regulatory_compliance_certificate, authorized_signatory_name, authorized_signatory_position, authorized_signatory_mobile_number, authorized_signatory_email, authorized_signatory_nid, url_of_authorized_signatory_nid, profile_image

Company

Method: Delete Company

Description: <em>Delete Company</em>.

Endpoint: /company/delete

Parameters: {companyId}

Company

Method: Edit Company

Description: <em>Edit Company</em>.

Endpoint: /company/edit

Parameters: {companyId}

Company

Method: Get Company

Description: Get Company.

Endpoint: /company/{companyId}

Parameters: companyId

Company

Method: List Companies

Description: List Companies.

Endpoint: /company/list

Parameters:

Company

Method: Search Company

Description: Search Company.

Endpoint: /company/search

Parameters: search_term

Corporate Card

Method: Create Corporate Card

Description: Create Corporate Card.

Endpoint: /corporate-card/create

Parameters: company</em>

FAQ

How do I authenticate to the Accountable APIs?

To authenticate, you'll need to use an API key. You can generate one from your Accountable dashboard.

What are the rate limits for Accountable APIs?

The rate limits vary depending on the API endpoint. You can find the specific limits documented for each endpoint.

How do I create a sandbox account?

You can create a sandbox account from your Accountable dashboard. A sandbox account allows you to test the APIs without affecting real data.

How do I get access to a developer account?

To request a developer account, please contact the Accountable support team with your use case and technical details.

How do I handle errors returned by the Accountable APIs?

All errors are returned in JSON format with a status code and an error message. You can handle these errors by checking the status code and parsing the error message.

Last Update: November 28, 2024