Tinvio Claim Posting & Payouts API
Convert approved claims into journals and manage employee payouts.
Convert approved claims into journals and manage employee payouts.
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-claim-posting-payouts-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 Claim Posting & Payouts API
version: '1.0'
contact:
email: build.with@jaz.ai
name: API Support
url: https://jaz.ai
description: 'Operations tagged Claim Posting & Payouts 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: Convert approved claims into journals and manage employee payouts.
name: Claim Posting & Payouts
paths:
/api/v1/claims/conversion/commit:
post:
description: Atomically convert an APPROVED claim batch into journals (and, when includeReimbursementPayout=true, reimbursement DCEs). Only APPROVED claims convert. Supply a stable idempotencyKey and reuse it on retries; it MUST NOT start with "CONV:" or "CONV-" (reserved). valueDate is the journal header date (YYYY-MM-DD).
operationId: create-claim-conversion-commit
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'
'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: Convert Claims to Journal
tags:
- Claim Posting & Payouts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommitClaimsToJournalRequest'
description: The commit request.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/claims/conversion/preview:
post:
description: Preview the journals a claim batch would produce when converted, without writing anything. APPROVED claims are aggregated by the chosen (or organization-default) posting rule; non-APPROVED claims are returned under erroredClaims rather than failing the request. Set includeReimbursementPayout to see per-employee payout lines and DCE counts.
operationId: create-claim-conversion-preview
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'
'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: Preview Claims Conversion
tags:
- Claim Posting & Payouts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PreviewClaimsConversionRequest'
description: The preview request.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/claims/payouts/record:
post:
description: Record a books-only reimbursement/advance Direct Cash Entry against an employee (no gateway transfer). The payment account must be ACTIVE, of Cash/Bank type, and match the settle currency. payoutFor is a label only (null → ADVANCE).
operationId: create-claim-payout-record
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'
'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: Record Employee Payout
tags:
- Claim Posting & Payouts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordEmployeePayoutRequest'
description: The record payout request.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/claims/{resourceId}/unpost:
post:
description: 'Un-post a CONVERTED claim: voids its accrual journal and reverts the claim to APPROVED so it can be fixed and re-converted. Other states are rejected (CLAIM_NOT_UNPOSTABLE_ERROR). The one exception is an already-un-posted claim (APPROVED with unposted true), where re-calling un-post is a deliberate no-op that returns the claim unchanged with 200. Claim and payout lifecycles are decoupled: un-posting voids only this claim''s accrual and never checks for a linked payout, so a payout that already drew the employee balance down simply leaves it negative until the claim is re-converted or the payout is reversed independently. Aggregated claims un-post as a whole group, since one accrual journal can back many claims.'
operationId: create-claim-unpost
parameters:
- description: Resource ID of the claim.
in: path
name: resourceId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'402':
description: Payment Required
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: Un-post Claim
tags:
- Claim Posting & Payouts
servers:
- url: https://api.getjaz.com
components:
schemas:
ErrorResponse:
properties:
error:
allOf:
- $ref: '#/components/schemas/ErrorResponseData'
description: Error details.
type: object
BaseResponse:
properties:
data:
description: The response object.
type: object
CommitClaimsToJournalRequest:
properties:
bankAccountResourceIdOverride:
description: Source bank account for the reimbursement DCEs (UUIDv4). Overrides the rule default.
type: string
claimPostCurrencies:
description: Per-claim MCA post currency + rate (optional).
items:
$ref: '#/components/schemas/ClaimPostCurrency'
type: array
claimResourceIds:
description: Claims to convert (UUIDv4 each). Only APPROVED claims are convertible.
items:
type: string
maxItems: 500
minItems: 1
type: array
contactResourceId:
description: Resource ID of the clearing contact for the reimbursement cash-out. A contact, not an employee.
type: string
idempotencyKey:
description: 'Caller idempotency key for safe retries. MUST NOT start with "CONV:" or "CONV-"
(reserved). Pass a raw UUID/opaque token; reuse it on every retry of the same batch.'
maxLength: 255
type: string
includeReimbursementPayout:
description: Create reimbursement DCEs for employees with a positive projected balance.
type: boolean
postingRuleResourceId:
description: Resource ID of the posting rule to apply. Omitted means the organization's default rule.
type: string
valueDate:
description: Journal header value date in YYYY-MM-DD format (organization timezone). Required.
example: '2026-06-20'
type: string
required:
- claimResourceIds
- valueDate
type: object
PreviewClaimsConversionRequest:
properties:
bankAccountResourceId:
description: Optional bank account for preview-time validation (UUIDv4).
type: string
claimPostCurrencies:
description: Per-claim MCA post currency + rate (optional).
items:
$ref: '#/components/schemas/ClaimPostCurrency'
type: array
claimResourceIds:
description: Claims to preview (UUIDv4 each). Non-APPROVED claims come back under erroredClaims.
items:
type: string
maxItems: 500
minItems: 1
type: array
disbursementProfileResourceId:
description: Resource ID of the disbursement profile. Required for a POST_AND_DISBURSE eligibility check.
type: string
includeReimbursementPayout:
description: Include per-employee payout lines + DCE counts in the preview.
type: boolean
payoutFlow:
description: Payout flow this preview is for. Only POST_AND_DISBURSE runs source-of-funds eligibility.
enum:
- POST
- POST_AND_RECORD
- POST_AND_DISBURSE
type: string
postingRuleResourceId:
description: Resource ID of the posting rule to apply. Omitted means the organization's default rule.
type: string
required:
- claimResourceIds
type: object
RecordEmployeePayoutRequest:
properties:
amount:
description: Payout amount (> 0), in currencyCode.
example: 250
type: number
currencyCode:
description: 'Settlement currency (ISO 4217): the employee balance reduced by the payout. Omitted means the payment account''s currency.'
example: SGD
type: string
description:
description: Optional line description on the DCE entries.
maxLength: 1000
type: string
employeeResourceId:
description: Employee to pay (UUIDv4).
type: string
internalNotes:
description: Internal notes shown in the DCE view modal.
maxLength: 1000
type: string
paymentAccountResourceId:
description: Bank/cash account the DCE credits (UUIDv4). Required.
type: string
payoutFor:
description: Classification label only (sets payout_type). Null → ADVANCE.
enum:
- REIMBURSEMENT
- ADVANCE
type: string
reference:
description: Free-text payout reference shown on the journal. Required.
example: ''
maxLength: 255
type: string
valueDate:
description: Value date in YYYY-MM-DD format (organization timezone). Required.
example: '2026-06-20'
type: string
required:
- amount
- employeeResourceId
- paymentAccountResourceId
- reference
- valueDate
type: object
ClaimPostCurrency:
properties:
claimResourceId:
description: The claim being posted (UUIDv4).
type: string
journalAmount:
description: 'Absolute journal amount the claim posts as, in journalCurrencyCode. Required (> 0)
when the claim currency and journalCurrencyCode differ; omit for a same-currency post.'
type: number
journalCurrencyCode:
description: 'Currency the claim posts in: the journal and employee balance currency (ISO 4217).'
example: SGD
type: string
required:
- claimResourceId
- journalCurrencyCode
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