Welcome to the Accounting API. You can use this API to access all Accounting API endpoints.
Bring your own key. This API needs your own Apideck Accounting API key - get one from the provider, add it once below, and the proxy injects it on every call. Your OmniStream plan covers the unified SDK, key storage, and proxy - the provider's own rate limits still apply to your key.
This is a community listing. If you own this API, you can request ownership.
npm install omnistream-sdkimport { OmniClient } from "omnistream-sdk";
const omni = new OmniClient({ token: process.env.OMNI_KEY! });
// One key reaches every API on the marketplace.
const data = await omni.call("apideck/balanceSheetOne");One install, one key - the same client calls every API on the marketplace.
ID of the consumer which you want to get or push data from
The ID of your Unify application
Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API.
Optional unmapped key/values that will be passed through to downstream as query parameters
Apply filters
Include raw response. Mostly used for debugging purposes
Get BalanceSheet
List Bills
Create Bill
Get Bill
/**
* ApideckAccountingAPI - generated by OmniStream from Apideck Accounting API's OpenAPI spec.
* One typed method per endpoint. A single Omni key reaches the API.
*/
const DEFAULT_BASE = "https://grid.skinvaults.online/v1/proxy/apideck";
export class ApideckAccountingAPIError extends Error {
status: number;
code?: string;
constructor(status: number, code: string | undefined, message?: string) {
super(message || `ApideckAccountingAPI error ${status}`);
this.name = "ApideckAccountingAPIError";
this.status = status;
this.code = code;
}
}
export interface ApideckAccountingAPIOptions {
baseUrl?: string;
fetch?: typeof fetch;
timeoutMs?: number;
}
export class ApideckAccountingAPI {
/** @param token Your OmniStream key (one key for every API). */
constructor(private token: string, private opts: ApideckAccountingAPIOptions = {}) {
if (!token) throw new Error("ApideckAccountingAPI: token is required");
}
rateLimit: { remainingMinute?: number; remainingDay?: number } | null = null;
private async _request(method: string, path: string, { params, body }: { params?: Record<string, unknown>; body?: unknown } = {}): Promise<any> {
const f = this.opts.fetch ?? globalThis.fetch;
const url = new URL((this.opts.baseUrl ?? DEFAULT_BASE).replace(/\/+$/, "") + path);
if (params) for (const [k, v] of Object.entries(params)) if (v != null) url.searchParams.set(k, String(v));
const headers: Record<string, string> = { "x-omni-key": this.token };
if (body !== undefined) headers["content-type"] = "application/json";
const res = await f(url, { method, headers, body: body !== undefined ? JSON.stringify(body) : undefined });
this.rateLimit = {
remainingMinute: Number(res.headers.get("x-ratelimit-remaining-minute")) || undefined,
remainingDay: Number(res.headers.get("x-ratelimit-remaining-day")) || undefined,
};
const data = await res.json().catch(() => ({}));
if (!res.ok) throw new ApideckAccountingAPIError(res.status, data?.error?.code, data?.error?.message);
return data.data ?? data;
}
/** Get BalanceSheet */
balanceSheetOne(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "pass_through"?: string; "filter"?: string; "raw"?: boolean }): Promise<any> {
return this._request("GET", "/accounting/balance-sheet", { params });
}
/** List Bills */
billsAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "sort"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/bills", { params });
}
/** Create Bill */
billsAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/bills", { body, params });
}
/** Get Bill */
billsOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/bills/{id}", { params });
}
/** Update Bill */
billsUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/bills/{id}", { body, params });
}
/** Delete Bill */
billsDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/bills/{id}", { params });
}
/** Get company info */
companyInfoOne(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/company-info", { params });
}
/** List Credit Notes */
creditNotesAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/credit-notes", { params });
}
/** Create Credit Note */
creditNotesAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/credit-notes", { body, params });
}
/** Get Credit Note */
creditNotesOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/credit-notes/{id}", { params });
}
/** Update Credit Note */
creditNotesUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/credit-notes/{id}", { body, params });
}
/** Delete Credit Note */
creditNotesDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/credit-notes/{id}", { params });
}
/** List Customers */
customersAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "filter"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/customers", { params });
}
/** Create Customer */
customersAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/customers", { body, params });
}
/** Get Customer */
customersOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/customers/{id}", { params });
}
/** Update Customer */
customersUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/customers/{id}", { body, params });
}
/** Delete Customer */
customersDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/customers/{id}", { params });
}
/** List Invoice Items */
invoiceItemsAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "filter"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/invoice-items", { params });
}
/** Create Invoice Item */
invoiceItemsAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/invoice-items", { body, params });
}
/** Get Invoice Item */
invoiceItemsOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/invoice-items/{id}", { params });
}
/** Update Invoice Item */
invoiceItemsUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/invoice-items/{id}", { body, params });
}
/** Delete Invoice Item */
invoiceItemsDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/invoice-items/{id}", { params });
}
/** List Invoices */
invoicesAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "sort"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/invoices", { params });
}
/** Create Invoice */
invoicesAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/invoices", { body, params });
}
/** Get Invoice */
invoicesOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/invoices/{id}", { params });
}
/** Update Invoice */
invoicesUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/invoices/{id}", { body, params });
}
/** Delete Invoice */
invoicesDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/invoices/{id}", { params });
}
/** List Journal Entries */
journalEntriesAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/journal-entries", { params });
}
/** Create Journal Entry */
journalEntriesAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/journal-entries", { body, params });
}
/** Get Journal Entry */
journalEntriesOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/journal-entries/{id}", { params });
}
/** Update Journal Entry */
journalEntriesUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/journal-entries/{id}", { body, params });
}
/** Delete Journal Entry */
journalEntriesDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/journal-entries/{id}", { params });
}
/** List Ledger Accounts */
ledgerAccountsAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/ledger-accounts", { params });
}
/** Create Ledger Account */
ledgerAccountsAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/ledger-accounts", { body, params });
}
/** Get Ledger Account */
ledgerAccountsOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/ledger-accounts/{id}", { params });
}
/** Update Ledger Account */
ledgerAccountsUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/ledger-accounts/{id}", { body, params });
}
/** Delete Ledger Account */
ledgerAccountsDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/ledger-accounts/{id}", { params });
}
/** List Payments */
paymentsAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/payments", { params });
}
/** Create Payment */
paymentsAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/payments", { body, params });
}
/** Get Payment */
paymentsOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/payments/{id}", { params });
}
/** Update Payment */
paymentsUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/payments/{id}", { body, params });
}
/** Delete Payment */
paymentsDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/payments/{id}", { params });
}
/** Get Profit and Loss */
profitAndLossOne(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "filter"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/profit-and-loss", { params });
}
/** List Suppliers */
suppliersAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "filter"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/suppliers", { params });
}
/** Create Supplier */
suppliersAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/suppliers", { body, params });
}
/** Get Supplier */
suppliersOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/suppliers/{id}", { params });
}
/** Update Supplier */
suppliersUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/suppliers/{id}", { body, params });
}
/** Delete Supplier */
suppliersDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/suppliers/{id}", { params });
}
/** List Tax Rates */
taxRatesAll(params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string; "cursor"?: string; "limit"?: number; "filter"?: string; "pass_through"?: string; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/tax-rates", { params });
}
/** Create Tax Rate */
taxRatesAdd(body: unknown, params: { "x-apideck-consumer-id": string; "x-apideck-app-id": string; "raw"?: boolean; "x-apideck-service-id"?: string }): Promise<any> {
return this._request("POST", "/accounting/tax-rates", { body, params });
}
/** Get Tax Rate */
taxRatesOne(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean; "fields"?: string }): Promise<any> {
return this._request("GET", "/accounting/tax-rates/{id}", { params });
}
/** Update Tax Rate */
taxRatesUpdate(body: unknown, params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("PATCH", "/accounting/tax-rates/{id}", { body, params });
}
/** Delete Tax Rate */
taxRatesDelete(params: { "id": string; "x-apideck-consumer-id": string; "x-apideck-app-id": string; "x-apideck-service-id"?: string; "raw"?: boolean }): Promise<any> {
return this._request("DELETE", "/accounting/tax-rates/{id}", { params });
}
}
export default ApideckAccountingAPI;
No reviews yet. Be the first to rate this API.
Yes. Apideck Accounting API uses apiKey authentication, so you bring your own key from the provider. You store it once on OmniStream and the proxy injects it into every call, so your code only ever sends your Omni key.
Welcome to the Accounting API. You can use this API to access all Accounting API endpoints. It exposes 53 endpoints over GET, POST, PATCH, DELETE, including GET /accounting/balance-sheet, GET /accounting/bills, POST /accounting/bills.
Install the OmniStream SDK for your language and call Apideck Accounting API through it. The client is generated from this API's OpenAPI spec, so parameters and responses are fully typed, and the same client also calls every other API in the marketplace.
You can start on the free plan. OmniStream charges for the unified SDK, key storage and proxy rather than for Apideck Accounting API itself, and Apideck Accounting API's own rate limits still apply to your provider key.
QuickChart: An API to generate charts and QR codes using QuickChart services.
Update Bill
Delete Bill
Get company info
List Credit Notes
Create Credit Note
Get Credit Note
Update Credit Note
Delete Credit Note
List Customers
Create Customer
Get Customer
Update Customer
Delete Customer
List Invoice Items
Create Invoice Item
Get Invoice Item
Update Invoice Item
Delete Invoice Item
List Invoices
Create Invoice
Get Invoice
Update Invoice
Delete Invoice
List Journal Entries
Create Journal Entry
Get Journal Entry
Update Journal Entry
Delete Journal Entry
List Ledger Accounts
Create Ledger Account
Get Ledger Account
Update Ledger Account
Delete Ledger Account
List Payments
Create Payment
Get Payment
Update Payment
Delete Payment
Get Profit and Loss
List Suppliers
Create Supplier
Get Supplier
Update Supplier
Delete Supplier
List Tax Rates
Create Tax Rate
Get Tax Rate
Update Tax Rate
Delete Tax Rate