Tinvio Claim Profiles API
Manage the organization's claim profiles: approver, tax mode, and vendor rules.
Manage the organization's claim profiles: approver, tax mode, and vendor rules.
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-profiles-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 Profiles API
version: '1.0'
contact:
email: build.with@jaz.ai
name: API Support
url: https://jaz.ai
description: 'Operations tagged Claim Profiles 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: 'Manage the organization''s claim profiles: approver, tax mode, and vendor rules.'
name: Claim Profiles
paths:
/api/v1/claim-profiles:
get:
description: List all of the organization's claim profiles, alphabetical by name.
operationId: list-claim-profiles
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BaseResponse'
'402':
description: Payment Required
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 Claim Profiles
tags:
- Claim Profiles
post:
description: Create a claim profile.
operationId: create-claim-profile
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: Create Claim Profile
tags:
- Claim Profiles
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateClaimProfileRequest'
description: The claim profile to create.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/claim-profiles/search:
post:
description: Search claim profiles with filters, sort, and pagination.
operationId: search-claim-profile
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageableResponse'
'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: Search Claim Profiles
tags:
- Claim Profiles
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchClaimProfilesRequest'
description: Search filters, sort, and pagination.
required: true
servers:
- url: https://api.getjaz.com
/api/v1/claim-profiles/{resourceId}:
delete:
description: Soft-delete a claim profile.
operationId: delete-claim-profile
parameters:
- description: Resource ID of the claim profile.
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: Delete Claim Profile
tags:
- Claim Profiles
get:
description: Get a single claim profile by its resource ID.
operationId: get-claim-profile
parameters:
- description: Resource ID of the claim profile.
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'
'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 Claim Profile
tags:
- Claim Profiles
put:
description: Update an existing claim profile.
operationId: update-claim-profile
parameters:
- description: Resource ID of the claim profile.
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'
'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 Claim Profile
tags:
- Claim Profiles
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClaimProfileRequest'
description: The claim profile fields to update.
required: true
servers:
- url: https://api.getjaz.com
components:
schemas:
ClaimProfileFilter:
properties:
and:
description: Combine with another filter using AND.
type: object
approverUserResourceId:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by approver user resource ID.
createdAt:
allOf:
- $ref: '#/components/schemas/DateExpression'
description: Filter by creation time.
employeeBalanceAccountResourceId:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by employee balance account resource ID.
maxClaimAmount:
allOf:
- $ref: '#/components/schemas/BigDecimalExpression'
description: Filter by maximum claim amount.
maxPerPeriodAmount:
allOf:
- $ref: '#/components/schemas/BigDecimalExpression'
description: Filter by maximum per-period amount.
minClaimAmount:
allOf:
- $ref: '#/components/schemas/BigDecimalExpression'
description: Filter by minimum claim amount.
name:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by name.
or:
description: Combine with another filter using OR.
type: object
perPeriod:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by limit period.
resourceId:
allOf:
- $ref: '#/components/schemas/StringExpression'
description: Filter by resource ID.
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
BigDecimalExpression:
properties:
eq:
description: Match values equal to this.
type: number
gt:
description: Match values greater than this.
type: number
gte:
description: Match values greater than or equal to this.
type: number
in:
description: Match values equal to any of these.
items:
type: number
maxItems: 100
type: array
inRange:
description: Match values within this inclusive range (exactly two, low then high).
items:
type: number
type: array
lt:
description: Match values less than this.
type: number
lte:
description: Match values less than or equal to this.
type: number
neq:
description: Match values not equal to this.
type: number
notInRange:
description: Match values outside this inclusive range (exactly two, low then high).
items:
type: number
type: array
type: object
SearchClaimProfilesRequest:
properties:
filter:
allOf:
- $ref: '#/components/schemas/ClaimProfileFilter'
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/ClaimConfigSortFilter'
description: Sort order. Required when offset is set.
type: object
BaseResponse:
properties:
data:
description: The response object.
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
UpdateClaimProfileRequest:
properties:
allowedCurrencies:
description: Allowed claim currency codes (ISO 4217). Null = no restriction.
items:
type: string
type: array
approverUserResourceId:
description: Default approver user (UUIDv4).
type: string
clearAllowedCurrencies:
description: When true, clears allowedCurrencies on the profile.
type: boolean
clearApproverUserResourceId:
description: When true, clears approverUserResourceId on the profile.
type: boolean
clearEmployeeBalanceAccountResourceId:
description: When true, clears employeeBalanceAccountResourceId on the profile.
type: boolean
clearMaxClaimAmount:
description: When true, clears maxClaimAmount on the profile.
type: boolean
clearMaxPerPeriodAmount:
description: When true, clears maxPerPeriodAmount on the profile.
type: boolean
clearMinClaimAmount:
description: When true, clears minClaimAmount on the profile.
type: boolean
clearPerPeriod:
description: When true, clears perPeriod on the profile.
type: boolean
clearTaxMode:
description: When true, clears taxMode on the profile.
type: boolean
clearVisibleClaimTypeIds:
description: When true, clears visibleClaimTypeIds on the profile.
type: boolean
clearVisibleClassifierIds:
description: When true, clears visibleClassifierIds on the profile.
type: boolean
clearVisibleTaxProfileIds:
description: When true, clears visibleTaxProfileIds on the profile.
type: boolean
clearVisibleVendorResourceIds:
description: When true, clears visibleVendorResourceIds on the profile.
type: boolean
employeeBalanceAccountResourceId:
description: Resource ID of the per-employee liability account. Required for reimbursement conversion (includeReimbursementPayout); must be a CURRENT_LIABILITY account in the organization. Once set with a non-zero balance it cannot be changed or cleared.
type: string
maxClaimAmount:
description: Maximum claim total.
minimum: 0
type: number
maxPerPeriodAmount:
description: Per-period spend cap. Requires perPeriod to be set (server-enforced).
minimum: 0
type: number
minClaimAmount:
description: Minimum claim total. Server enforces minClaimAmount <= maxClaimAmount.
minimum: 0
type: number
name:
description: Display name (unique per organization). Null means no change.
maxLength: 255
type: string
perPeriod:
description: Per-period window for the cap.
enum:
- DAILY
- WEEKLY
- MONTHLY
- QUARTERLY
- YEARLY
type: string
resourceId:
description: Resource ID of the claim profile, from the URL path.
type: string
taxMode:
description: Per-profile tax policy. EXCLUSIVE is reserved and rejected server-side (NO_TAX/INCLUSIVE only).
enum:
- NO_TAX
- INCLUSIVE
- EXCLUSIVE
type: string
visibleClaimTypeIds:
description: Allowlist of claim type IDs visible under this profile (UUIDv4 each).
items:
type: string
type: array
visibleClassifierIds:
description: Allowlist of classifier IDs (UUIDv4 each).
items:
type: string
type: array
visibleTaxProfileIds:
description: Allowlist of tax profile IDs (UUIDv4 each).
items:
type: string
type: array
visibleVendorResourceIds:
description: Allowlist of vendor contact IDs (UUIDv4 each). Free-text vendors are always allowed.
items:
type: string
type: array
required:
- resourceId
type: object
PageableResponse:
properties:
data:
description: Result rows for the requested page.
totalElements:
description: Total number of records matching the query.
type: integer
totalPages:
description: Total number of pages.
type: integer
type: object
CreateClaimProfileRequest:
properties:
allowedCurrencies:
description: Allowed claim currency codes (ISO 4217). Null = no restriction.
items:
type: string
type: array
approverUserResourceId:
description: Default approver user (UUIDv4).
type: string
employeeBalanceAccountResourceId:
description: 'Resource ID of the per-employee liability account. Required for reimbursement
conversion (includeReimbursementPayout); must be a CURRENT_LIABILITY account in the organization.
Once set with a non-zero balance it cannot be changed or cleared.'
type: string
maxClaimAmount:
description: Maximum claim total.
minimum: 0
type: number
maxPerPeriodAmount:
description: Per-period spend cap. Requires perPeriod to be set (server-enforced).
minimum: 0
type: number
minClaimAmount:
description: Minimum claim total. Server enforces minClaimAmount <= maxClaimAmount.
minimum: 0
type: number
name:
description: Display name (unique per organization). Required.
example: Standard
maxLength: 255
type: string
perPeriod:
description: Per-period window for the cap.
enum:
- DAILY
- WEEKLY
- MONTHLY
- QUARTERLY
- YEARLY
type: string
taxMode:
description: Per-profile tax policy. EXCLUSIVE is reserved and rejected server-side (NO_TAX/INCLUSIVE only).
enum:
- NO_TAX
- INCLUSIVE
- EXCLUSIVE
type: string
visibleClaimTypeIds:
description: Allowlist of claim type IDs visible under this profile (UUIDv4 each).
items:
type: string
type: array
visibleClassifierIds:
description: Allowlist of classifier IDs (UUIDv4 each).
items:
type: string
type: array
visibleTaxProfileIds:
description: Allowlist of tax profile IDs (UUIDv4 each).
items:
type: string
type: array
visibleVendorResourceIds:
description: Allowlist of vendor contact IDs (UUIDv4 each). Free-text vendors are always allowed.
items:
type: string
type: array
required:
- name
type: object
ClaimConfigSortFilter:
properties:
order:
description: Sort direction, ASC or DESC.
enum:
- ASC
- DESC
type: string
sortBy:
description: Fields to sort by, in priority order.
items:
enum:
- resourceId
- name
- isDefault
- createdAt
- updatedAt
type: string
maxItems: 10
type: array
uniqueItems: true
required:
- order
- sortBy
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