Tinvio Chart of Accounts API
Create and manage the organization's chart of accounts.
Create and manage the organization's chart of accounts.
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/tinvio-com:tinvio-com-chart-of-accounts-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: Tinvio Com Chart of Accounts API
version: '1.0'
contact:
email: build.with@jaz.ai
name: API Support
url: https://jaz.ai
description: 'Operations tagged Chart of Accounts across 2 of this provider''s published API definitions: tinvio-com-openapi-original.yaml, tinvio-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.getjaz.com
tags:
- description: Create and manage the organization's chart of accounts.
name: Chart Of Accounts
paths:
/api/v1/chart-of-accounts:
get:
description: List the organization's chart of accounts, paginated.
operationId: list-chart-of-accounts
parameters:
- description: Maximum number of results per page (max 1000).
in: query
name: limit
schema:
type: integer
default: 100
- description: Zero-indexed row offset into the result set.
in: query
name: offset
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: List Chart of Accounts
tags:
- Chart Of Accounts
post:
description: Create an account in the chart of accounts.
operationId: create-chart-of-account
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: Create Chart of Account
tags:
- Chart Of Accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganizationAccountClientRequest'
description: The chart of account to create.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/chart-of-accounts/bulk-upsert:
post:
description: Create or update accounts in bulk. An account with a resourceId is updated; rows without one are created.
operationId: create-chart-of-account-bulk-upsert
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: Bulk Create or Update Accounts
tags:
- Chart Of Accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertOrganizationAccountClientRequest'
description: The accounts to create or update.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/chart-of-accounts/search:
post:
description: Search the chart of accounts with filters, sort, and pagination.
operationId: search-chart-of-account
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: Search Chart of Accounts
tags:
- Chart Of Accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchOrganizationAccountClientRequest'
description: Search filters, sort, and pagination.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/chart-of-accounts/{resourceId}:
delete:
description: Delete the account.
operationId: delete-chart-of-account
parameters:
- description: Resource ID of the account.
in: path
name: resourceId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: Delete a Chart of Account
tags:
- Chart Of Accounts
get:
description: Get a single account by its resource ID.
operationId: get-chart-of-account
parameters:
- description: Resource ID of the account.
in: path
name: resourceId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: Get Chart of Account
tags:
- Chart Of Accounts
put:
description: Update an existing account.
operationId: update-chart-of-account
parameters:
- description: Resource ID of the account.
in: path
name: resourceId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- ApiKeyAuth: []
summary: Update Chart of Account
tags:
- Chart Of Accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganizationAccountClientRequest'
description: The chart of account fields to update.
required: true
servers:
- url: https://api.getjaz.com
components:
schemas:
CreateOrganizationAccountClientRequest:
properties:
accountType:
description: Account type within the chart of accounts.
maxLength: 100
type: string
classificationType:
description: Classification type, from the Account Classifications endpoint.
maxLength: 100
type: string
code:
description: Account code.
maxLength: 100
type: string
currencyCode:
description: Currency code (ISO 4217).
type: string
description:
description: Account description.
maxLength: 1000
type: string
lockDate:
description: Lock date, in YYYY-MM-DD format (organization timezone).
type: string
name:
description: Account name.
type: string
required:
- classificationType
- name
type: object
ErrorResponse:
properties:
error:
allOf:
- $ref: '#/components/schemas/ErrorResponseData'
description: Error details.
type: object
DateExpression:
properties:
between:
description: Match dates between these two dates (exactly two, in YYYY-MM-DD format).
items:
type: string
type: array
eq:
description: Match dates equal to this, in YYYY-MM-DD format.
type: string
gt:
description: Match dates after this, in YYYY-MM-DD format.
type: string
gte:
description: Match dates on or after this, in YYYY-MM-DD format.
type: string
isNotNull:
description: Match records where the date is set. Pass the placeholder date "0001-01-01".
example: '0001-01-01'
type: string
isNull:
description: Match records where the date is not set. Pass the placeholder date "0001-01-01".
example: '0001-01-01'
type: string
lt:
description: Match dates before this, in YYYY-MM-DD format.
type: string
lte:
description: Match dates on or before this, in YYYY-MM-DD format.
type: string
notBetween:
description: Match dates outside these two dates (exactly two, in YYYY-MM-DD format).
items:
type: string
type: array
required:
- between
type: object
BaseResponse:
properties:
data:
description: The response object.
type: object
SearchOrganizationAccountClientRequest:
properties:
filter:
allOf:
- $ref: '#/components/schemas/AccountFilter'
description: Filter conditions. Combine with and and or for complex queries.
limit:
default: 100
description: Maximum number of results per page (max 1000).
maximum: 1000
minimum: 1
type: integer
offset:
default: 0
description: Zero-indexed row offset into the result set. Sort is required when offset is set.
maximum: 65536
minimum: 0
type: integer
query:
description: 'Structured search query using Jaz search operators. Parsed automatically into filter fields.
Explicit filter fields override query results on conflict.
Example: "status:unpaid AND $500+".'
maxLength: 1000
type: string
sort:
allOf:
- $ref: '#/components/schemas/AccountSortFilter'
description: Sort order. Required when offset is set.
type: object
BooleanExpression:
properties:
eq:
description: Match values equal to this.
type: boolean
type: object
StringExpression:
properties:
contains:
description: Match values containing this substring.
type: string
endWith:
description: Match values ending with this term (case sensitive).
type: string
eq:
description: Match values equal to this.
type: string
in:
description: Match values equal to any of these.
items:
type: string
maxItems: 100
type: array
isBlank:
description: Match records where the field is null or empty ("true") or neither ("false").
type: string
isNotBlank:
description: Match records where the field is neither null nor empty ("true").
type: string
isNull:
description: Match records where the field is null ("true") or not null ("false").
type: string
likeIn:
description: Match values containing any of these substrings.
items:
type: string
maxItems: 100
type: array
neq:
description: Match values not equal to this.
type: string
notContains:
description: Match values not containing this substring.
type: string
notEndWith:
description: Match values not ending with this term (case sensitive).
type: string
notStartWith:
description: Match values not starting with this term (case sensitive).
type: string
reg:
description: Match values containing any of these terms. This is a substring match, not a regular expression, despite the name.
items:
type: string
maxItems: 100
type: array
startWith:
description: Match values starting with this term (case sensitive).
type: string
required:
- in
- likeIn
- reg
type: object
AccountSortFilter:
properties:
order:
description: Sort direction, ASC or DESC.
enum:
- ASC
- asc
- DESC
- desc
type: string
sortBy:
description: Fields to sort by, in priority order.
items:
type: string
maxItems: 10
type: array
uniqueItems: true
required:
- order
- sortBy
type: object
AccountFilter:
properties:
accountClass:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by account class.
accountType:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by account type.
and:
description: Combine with another filter using AND.
type: object
appliesTo:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by the transaction types the account applies to.
code:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Account code.
controlFlag:
allOf:
- $ref: '#/components/schemas/BooleanExpression'
description: Filter by control-account flag.
createdAt:
allOf:
- $ref: '#/components/schemas/DateExpression'
description: Filter by creation time.
currencyCode:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Currency code (ISO 4217).
name:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Account name.
or:
description: Combine with another filter using OR.
type: object
resourceId:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by account resource ID.
sgaName:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by standard general account name.
status:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by status (ACTIVE, INACTIVE, LOCKED).
updatedAt:
allOf:
- $ref: '#/components/schemas/DateExpression'
description: Filter by last update time.
type: object
UpsertOrganizationAccountClientRequestAccount:
properties:
accountType:
description: Account type within the chart of accounts.
maxLength: 100
type: string
classificationType:
description: Classification type, from the Account Classifications endpoint.
maxLength: 100
type: string
code:
description: Account code.
maxLength: 100
type: string
currency:
description: Currency code (ISO 4217). Omit to inherit the organization's base currency (matches single-create behavior).
type: string
currencyCode:
description: Currency code (ISO 4217).
type: string
description:
description: Account description.
maxLength: 1000
type: string
lockDate:
description: Lock date, in YYYY-MM-DD format (organization timezone).
type: string
name:
description: Account name.
type: string
resourceId:
description: Resource ID of the account.
type: string
status:
default: INACTIVE
description: Account status.
enum:
- ACTIVE
- INACTIVE
type: string
type: object
UpsertOrganizationAccountClientRequest:
properties:
accounts:
description: List of accounts.
items:
$ref: '#/components/schemas/UpsertOrganizationAccountClientRequestAccount'
maxItems: 500
minItems: 1
type: array
uniqueItems: true
required:
- accounts
type: object
UpdateOrganizationAccountClientRequest:
properties:
accountType:
description: Account type within the chart of accounts.
maxLength: 100
type: string
classificationType:
description: Classification type, from the Account Classifications endpoint.
maxLength: 100
type: string
code:
description: Account code.
maxLength: 100
type: string
description:
description: Account description.
maxLength: 1000
type: string
lockDate:
description: Lock date, in YYYY-MM-DD format (organization timezone).
type: string
name:
description: Account name.
type: string
resourceId:
description: Resource ID of the account, from the URL path.
type: string
required:
- classificationType
- name
- resourceId
type: object
ErrorResponseData:
properties:
error_type:
description: Error category, for example validation_error, invalid_request_body, or internal_server_error.
example: validation_error
type: string
errors:
description: Error messages describing what went wrong.
items:
type: string
type: array
type: object
securitySchemes:
ApiKeyAuth:
description: Organization API key. Pass it in the x-jk-api-key header on every request.
in: header
name: x-jk-api-key
type: apiKey
x-refined-from:
- tinvio-com-openapi-original.yaml
- tinvio-com-openapi.yml