Receipt Wrangler API. (5.0.0)
Download OpenAPI specification:Download
Get dashboards for a user by group id
This will get a dashboards for a user by group id
Authorizations:
path Parameters
groupId required | string Id of group to get dashboard for |
Responses
Response samples
- 200
[- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "groupId": 0,
- "userId": 0,
- "updatedAt": "string",
- "widgets": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "dashboardId": 0,
- "updatedAt": "string",
- "widgetType": "GROUP_SUMMARY",
- "configuration": {
- "property1": null,
- "property2": null
}
}
]
}
]
Update dashboard
This will update a dashboard
Authorizations:
path Parameters
dashboardId required | integer Id of dashboard to operate on |
Request Body schema: application/jsonrequired
Dashboard to update
name required | string Dashboard name |
groupId required | string Group foreign key |
Array of objects (UpsertWidgetCommand) Widgets associated to dashboard |
Responses
Request samples
- Payload
{- "name": "string",
- "groupId": "string",
- "widgets": [
- {
- "name": "string",
- "widgetType": "GROUP_SUMMARY",
- "configuration": {
- "property1": null,
- "property2": null
}
}
]
}
Response samples
- 200
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "groupId": 0,
- "userId": 0,
- "updatedAt": "string",
- "widgets": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "dashboardId": 0,
- "updatedAt": "string",
- "widgetType": "GROUP_SUMMARY",
- "configuration": {
- "property1": null,
- "property2": null
}
}
]
}
Delete dashboard
This will delete a dashboard by id
Authorizations:
path Parameters
dashboardId required | integer Id of dashboard to operate on |
Responses
Response samples
- 200
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "groupId": 0,
- "userId": 0,
- "updatedAt": "string",
- "widgets": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "dashboardId": 0,
- "updatedAt": "string",
- "widgetType": "GROUP_SUMMARY",
- "configuration": {
- "property1": null,
- "property2": null
}
}
]
}
Create dashboard
This will create a dashboard [SYSTEM USER]
Authorizations:
Request Body schema: application/jsonrequired
Dashboard
name required | string Dashboard name |
groupId required | string Group foreign key |
Array of objects (UpsertWidgetCommand) Widgets associated to dashboard |
Responses
Request samples
- Payload
{- "name": "string",
- "groupId": "string",
- "widgets": [
- {
- "name": "string",
- "widgetType": "GROUP_SUMMARY",
- "configuration": {
- "property1": null,
- "property2": null
}
}
]
}
Response samples
- 200
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "groupId": 0,
- "userId": 0,
- "updatedAt": "string",
- "widgets": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "dashboardId": 0,
- "updatedAt": "string",
- "widgetType": "GROUP_SUMMARY",
- "configuration": {
- "property1": null,
- "property2": null
}
}
]
}
Get paged categories
This will return paged categories
Authorizations:
Request Body schema: application/jsonrequired
Paging and sorting data
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
Responses
Request samples
- Payload
{- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc"
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Create category
This will create a category
Authorizations:
Request Body schema: application/jsonrequired
Category to create
createdAt | string |
createdBy | integer <uint64> |
id | integer <uint64> |
name | string Name of the category |
description | string Description of the category |
updatedAt | string |
Responses
Request samples
- Payload
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
Response samples
- 200
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
Update category
This will update a category
Authorizations:
path Parameters
categoryId required | integer Category Id to get |
Request Body schema: application/jsonrequired
Category to update
createdAt | string |
createdBy | integer <uint64> |
id | integer <uint64> |
name | string Name of the category |
description | string Description of the category |
updatedAt | string |
Responses
Request samples
- Payload
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
Add comment
This will add a comment to a receipt, [SYSTEM USER]
Authorizations:
Request Body schema: application/jsonrequired
Comment to create
comment required | string Comment itself |
receiptId required | integer Receipt foreign key |
userId | integer User foreign key |
Responses
Request samples
- Payload
{- "comment": "string",
- "receiptId": 0,
- "userId": 0
}
Response samples
- 200
{- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
Get groups for user
This will get groups for the currently logged in user
Authorizations:
Responses
Response samples
- 200
[- {
- "createdAt": "string",
- "createdBy": 0,
- "groupSettings": {
- "id": 0,
- "groupId": 0,
- "emailIntegrationEnabled": true,
- "systemEmailId": 0,
- "systemEmail": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}, - "emailToRead": "string",
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0,
- "fallbackPrompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "fallbackPromptId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}, - "groupMembers": [
- {
- "createdAt": "string",
- "groupId": 0,
- "groupRole": "OWNER",
- "updatedAt": "string",
- "userId": 0
}
], - "id": 0,
- "isDefault": true,
- "name": "string",
- "isAllGroup": true,
- "status": "ACTIVE",
- "updatedAt": "string"
}
]
Create group
This will create a group
Authorizations:
Request Body schema: application/jsonrequired
Group to create
createdAt | string |
createdBy | integer <uint64> |
object (GroupSettings) | |
required | Array of objects (GroupMember) Members of the group |
id required | integer <uint64> |
isDefault | boolean Is default group (not used yet) |
name required | string Name of the group |
isAllGroup required | boolean Is all group for user |
status required | string (GroupStatus) Enum: "ACTIVE" "ARCHIVED" |
updatedAt | string |
Responses
Request samples
- Payload
{- "createdAt": "string",
- "createdBy": 0,
- "groupSettings": {
- "id": 0,
- "groupId": 0,
- "emailIntegrationEnabled": true,
- "systemEmailId": 0,
- "systemEmail": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}, - "emailToRead": "string",
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0,
- "fallbackPrompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "fallbackPromptId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}, - "groupMembers": [
- {
- "createdAt": "string",
- "groupId": 0,
- "groupRole": "OWNER",
- "updatedAt": "string",
- "userId": 0
}
], - "id": 0,
- "isDefault": true,
- "name": "string",
- "isAllGroup": true,
- "status": "ACTIVE",
- "updatedAt": "string"
}
Update a group
This will update a group
Authorizations:
path Parameters
groupId required | integer Group Id to get |
Request Body schema: application/jsonrequired
Group to update
createdAt | string |
createdBy | integer <uint64> |
object (GroupSettings) | |
required | Array of objects (GroupMember) Members of the group |
id required | integer <uint64> |
isDefault | boolean Is default group (not used yet) |
name required | string Name of the group |
isAllGroup required | boolean Is all group for user |
status required | string (GroupStatus) Enum: "ACTIVE" "ARCHIVED" |
updatedAt | string |
Responses
Request samples
- Payload
{- "createdAt": "string",
- "createdBy": 0,
- "groupSettings": {
- "id": 0,
- "groupId": 0,
- "emailIntegrationEnabled": true,
- "systemEmailId": 0,
- "systemEmail": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}, - "emailToRead": "string",
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0,
- "fallbackPrompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "fallbackPromptId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}, - "groupMembers": [
- {
- "createdAt": "string",
- "groupId": 0,
- "groupRole": "OWNER",
- "updatedAt": "string",
- "userId": 0
}
], - "id": 0,
- "isDefault": true,
- "name": "string",
- "isAllGroup": true,
- "status": "ACTIVE",
- "updatedAt": "string"
}
Update group settings
This will update the group settings for a group
Authorizations:
path Parameters
groupId required | integer Group Id to update |
Request Body schema: application/jsonrequired
Group settings to update
systemEmailId required | integer System email foreign key |
emailIntegrationEnabled | boolean Whether email integration is enabled |
required | Array of objects (SubjectLineRegex) Subject line regexes |
required | Array of objects (GroupSettingsWhiteListEmail) Email white list |
emailDefaultReceiptStatus | string (ReceiptStatus) Enum: "OPEN" "NEEDS_ATTENTION" "RESOLVED" "DRAFT" "" Default receipt status |
emailDefaultReceiptPaidById | integer User foreign key |
promptId | integer Prompt foreign key |
fallbackPromptId | integer Fallback prompt foreign key |
Responses
Request samples
- Payload
{- "systemEmailId": 0,
- "emailIntegrationEnabled": true,
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "promptId": 0,
- "fallbackPromptId": 0
}
Response samples
- 200
{- "id": 0,
- "groupId": 0,
- "emailIntegrationEnabled": true,
- "systemEmailId": 0,
- "systemEmail": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}, - "emailToRead": "string",
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0,
- "fallbackPrompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "fallbackPromptId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
Get paged groups
This will return paged groups
Authorizations:
Request Body schema: application/jsonrequired
Paging and sorting data
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
object (GroupFilter) |
Responses
Request samples
- Payload
{- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc",
- "filter": {
- "associatedGroup": "MINE"
}
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Login
This will log a user into the system
Authorizations:
Request Body schema: application/jsonrequired
Login data
username required | string User's username |
password required | string User's password |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string"
}
Response samples
- 200
{- "about": {
- "buildDate": "string",
- "version": "string"
}, - "claims": {
- "userId": 0,
- "userRole": "ADMIN",
- "displayName": "",
- "defaultAvatarColor": "",
- "username": "",
- "iss": "",
- "sub": "",
- "aud": [ ],
- "exp": 0,
- "nbf": 0,
- "iat": 0,
- "jti": ""
}, - "groups": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "groupSettings": {
- "id": 0,
- "groupId": 0,
- "emailIntegrationEnabled": true,
- "systemEmailId": 0,
- "systemEmail": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}, - "emailToRead": "string",
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0,
- "fallbackPrompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "fallbackPromptId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}, - "groupMembers": [
- {
- "createdAt": "string",
- "groupId": 0,
- "groupRole": "OWNER",
- "updatedAt": "string",
- "userId": 0
}
], - "id": 0,
- "isDefault": true,
- "name": "string",
- "isAllGroup": true,
- "status": "ACTIVE",
- "updatedAt": "string"
}
], - "users": [
- {
- "username": "string",
- "createdAt": "string",
- "createdBy": 0,
- "defaultAvatarColor": "string",
- "displayName": "string",
- "id": 0,
- "isDummyUser": true,
- "updatedAt": "string",
- "userRole": "ADMIN"
}
], - "userPreferences": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userId": 0,
- "quickScanDefaultGroupId": 0,
- "quickScanDefaultPaidById": 0,
- "quickScanDefaultStatus": "OPEN",
- "showLargeImagePreviews": null,
- "userShortcuts": [
- {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userPreferncesId": 0,
- "name": "string",
- "url": "string",
- "icon": "string"
}
]
}, - "featureConfig": {
- "aiPoweredReceipts": true,
- "enableLocalSignUp": true
}, - "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "jwt": "string",
- "refreshToken": "string",
- "currencyDisplay": "string",
- "currencyThousandthsSeparator": ",",
- "currencyDecimalSeparator": ",",
- "currencySymbolPosition": "START",
- "currencyHideDecimalPlaces": true,
- "icons": [
- {
- "value": "string",
- "displayValue": "string"
}
]
}
Signs up
This will sign a user up for the system
Authorizations:
Request Body schema: application/jsonrequired
Sign up data
username required | string User's username |
password required | string User's password |
displayName | string User's displayname |
isDummyUser | boolean Whether the user is a dummy user |
userRole | string (UserRole) Enum: "ADMIN" "USER" User's role |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string",
- "displayName": "string",
- "isDummyUser": true,
- "userRole": "ADMIN"
}
Get fresh tokens
This will get a fresh token pair for the user
Authorizations:
Request Body schema: application/jsonoptional
Refresh token body for clients that don't use cookies
refreshToken required | string Refresh token |
Responses
Request samples
- Payload
{- "refreshToken": "string"
}
Response samples
- 200
{- "jwt": "string",
- "refreshToken": "string"
}
Get all user notifications
This will get all the notifications for the currently logged in user
Authorizations:
Responses
Response samples
- 200
[- {
- "body": "string",
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "title": "string",
- "type": "string",
- "updatedAt": "string",
- "userId": 0
}
]
Create receipt
This will create a receipt [SYSTEM USER]
Authorizations:
Request Body schema: application/jsonrequired
Receipt to create
name required | string Receipt name |
amount required | string Receipt total amount |
date required | string Receipt date |
groupId required | integer Group foreign key |
paidByUserId required | integer User paid foreign key |
status required | string (ReceiptStatus) Enum: "OPEN" "NEEDS_ATTENTION" "RESOLVED" "DRAFT" "" Status of a receipt |
Array of objects (UpsertCategoryCommand) Categories associated to receipt | |
Array of objects (UpsertTagCommand) Tags associated to receipt | |
Array of objects (UpsertItemCommand) Items associated to receipt | |
Array of objects (UpsertCommentCommand) Comments associated to receipt |
Responses
Request samples
- Payload
{- "name": "string",
- "amount": "string",
- "date": "string",
- "groupId": 0,
- "paidByUserId": 0,
- "status": "OPEN",
- "categories": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "tags": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "receiptItems": [
- {
- "amount": "string",
- "chargedToUserId": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN"
}
], - "comments": [
- {
- "comment": "string",
- "receiptId": 0,
- "userId": 0
}
]
}
Response samples
- 200
{- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
Quick scan a receipt
This take an image and use magic fill to fill and save the receipt [SYSTEM USER]
Authorizations:
Request Body schema: multipart/form-datarequired
Quick scan data
files required | Array of strings <binary> [ items <binary > ] |
groupIds required | Array of integers |
paidByUserIds required | Array of integers |
statuses required | Array of strings (ReceiptStatus) Items Enum: "OPEN" "NEEDS_ATTENTION" "RESOLVED" "DRAFT" "" |
Responses
Response samples
- 200
[- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
]
Get receipt
This will get a receipt by receipt id [SYSTEM USER]
Authorizations:
path Parameters
receiptId required | integer Id of receipt to get |
Responses
Response samples
- 200
{- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
Update receipt
This will update a receipt by receipt id [SYSTEM USER]
Authorizations:
path Parameters
receiptId required | integer Id of receipt to get |
Request Body schema: application/jsonrequired
Receipt to update
name required | string Receipt name |
amount required | string Receipt total amount |
date required | string Receipt date |
groupId required | integer Group foreign key |
paidByUserId required | integer User paid foreign key |
status required | string (ReceiptStatus) Enum: "OPEN" "NEEDS_ATTENTION" "RESOLVED" "DRAFT" "" Status of a receipt |
Array of objects (UpsertCategoryCommand) Categories associated to receipt | |
Array of objects (UpsertTagCommand) Tags associated to receipt | |
Array of objects (UpsertItemCommand) Items associated to receipt | |
Array of objects (UpsertCommentCommand) Comments associated to receipt |
Responses
Request samples
- Payload
{- "name": "string",
- "amount": "string",
- "date": "string",
- "groupId": 0,
- "paidByUserId": 0,
- "status": "OPEN",
- "categories": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "tags": [
- {
- "id": 0,
- "name": "string",
- "description": "string"
}
], - "receiptItems": [
- {
- "amount": "string",
- "chargedToUserId": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN"
}
], - "comments": [
- {
- "comment": "string",
- "receiptId": 0,
- "userId": 0
}
]
}
Response samples
- 200
{- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
Bulk receipt status update
This will bulk update receipt statuses with the option of adding a comment to each [SYSTEM USER]
Authorizations:
Request Body schema: application/jsonrequired
Bulk status data
comment | string Optional comment to leave on each receipt |
status required | string Status to update to |
receiptIds required | Array of integers Receipt ids to update |
Responses
Request samples
- Payload
{- "comment": "string",
- "status": "string",
- "receiptIds": [
- 0
]
}
Response samples
- 200
[- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
]
Gets receipts
This will return receipts with the option to sort and filter [SYSTEM USER]
Authorizations:
path Parameters
groupId required | integer Get all receipts that belong to groupId |
Request Body schema: application/jsonrequired
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
object (ReceiptPagedRequestFilter) |
Responses
Request samples
- Payload
{- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc",
- "filter": {
- "date": { },
- "amount": { },
- "name": { },
- "paidBy": { },
- "categories": { },
- "tags": { },
- "status": { },
- "resolvedDate": { },
- "createdAt": { }
}
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Uploads a receipt image
This will upload a receipt image, [SYSTEM USER]
Authorizations:
Request Body schema: multipart/form-datarequired
Receipt image to upload
file required | string <binary> |
receiptId required | integer Receipt foreign key |
encodedImage | string Base64 encoded image for file types that aren't viewable natively in the browser, such as PDFs |
Responses
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "encodedImage": "string",
- "name": "string"
}
Converts a receipt image to jpg
This will convert a receipt image to jpg, [SYSTEM USER]
Authorizations:
Request Body schema: multipart/form-datarequired
Receipt image to convert
file required | string <binary> Base64 encoded image |
Responses
Response samples
- 200
{- "encodedImage": "string"
}
Reads a receipt image and returns the parsed results
This will parse and read a receipt image, [SYSTEM USER]
Authorizations:
query Parameters
receiptImageId | integer Id of receipt image to perform magic fill on |
Request Body schema: multipart/form-dataoptional
file | string <binary> |
Responses
Response samples
- 200
{- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
Get receipt image
This will get a receipt image by id, [SYSTEM USER]
Authorizations:
path Parameters
receiptImageId required | integer Id of receipt image to get |
Responses
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "encodedImage": "string",
- "name": "string"
}
Receipt Search
This will search for receipts based on a search term
Authorizations:
query Parameters
searchTerm required | string search term |
Responses
Response samples
- 200
[- {
- "id": 0,
- "name": "string",
- "type": "string",
- "groupId": 0,
- "date": "string",
- "amount": "string",
- "receiptStatus": "OPEN",
- "paidByUserId": 0,
- "createdAt": "string"
}
]
Get paged tags
This will return paged tags
Authorizations:
Request Body schema: application/jsonrequired
Paging and sorting data
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
Responses
Request samples
- Payload
{- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc"
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Update tag
This will update a tag
Authorizations:
path Parameters
tagId required | integer Id of tag to get |
Request Body schema: application/jsonrequired
Tag to update
id | integer Tag id |
name required | string Tag name |
description | string Tag description |
Responses
Request samples
- Payload
{- "id": 0,
- "name": "string",
- "description": "string"
}
Response samples
- 200
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
Create tag
This will create a tag
Authorizations:
Request Body schema: application/jsonrequired
Tag to create
id | integer Tag id |
name required | string Tag name |
description | string Tag description |
Responses
Request samples
- Payload
{- "id": 0,
- "name": "string",
- "description": "string"
}
Response samples
- 200
{- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
Get users
This will get all the users in the system and return a view without sensative information
Authorizations:
Responses
Response samples
- 200
[- {
- "username": "string",
- "createdAt": "string",
- "createdBy": 0,
- "defaultAvatarColor": "string",
- "displayName": "string",
- "id": 0,
- "isDummyUser": true,
- "updatedAt": "string",
- "userRole": "ADMIN"
}
]
Create user
This will to create a user, [SYSTEM ADMIN]
Authorizations:
Request Body schema: application/jsonrequired
User to create
password | string User's password |
username required | string User's username used to login |
createdAt | string |
createdBy | integer <uint64> |
defaultAvatarColor | string Default avatar color |
displayName required | string Display name |
id required | integer |
isDummyUser required | boolean Is dummy user |
updatedAt | string |
userRole required | string (UserRole) Enum: "ADMIN" "USER" User's role |
Responses
Request samples
- Payload
{- "password": "string",
- "username": "string",
- "createdAt": "string",
- "createdBy": 0,
- "defaultAvatarColor": "string",
- "displayName": "string",
- "id": 0,
- "isDummyUser": true,
- "updatedAt": "string",
- "userRole": "ADMIN"
}
Update user by id
This will update a user by id, [SYSTEM ADMIN]
Authorizations:
path Parameters
userId required | integer Id of user to update |
Request Body schema: application/jsonrequired
User to update
password | string User's password |
username required | string User's username used to login |
createdAt | string |
createdBy | integer <uint64> |
defaultAvatarColor | string Default avatar color |
displayName required | string Display name |
id required | integer |
isDummyUser required | boolean Is dummy user |
updatedAt | string |
userRole required | string (UserRole) Enum: "ADMIN" "USER" User's role |
Responses
Request samples
- Payload
{- "password": "string",
- "username": "string",
- "createdAt": "string",
- "createdBy": 0,
- "defaultAvatarColor": "string",
- "displayName": "string",
- "id": 0,
- "isDummyUser": true,
- "updatedAt": "string",
- "userRole": "ADMIN"
}
Converts dummy user
This will convert a dummy user to a normal system user, [SYSTEM ADMIN]
Authorizations:
path Parameters
userId required | integer Id of user to convert to normal system user |
Request Body schema: application/jsonrequired
Login credentials for new user
password required | string User's new password |
Responses
Request samples
- Payload
{- "password": "string"
}
Reset password
This will reset a password for a user, [SYSTEM ADMIN]
Authorizations:
path Parameters
userId required | integer Id of user to reset password |
Request Body schema: application/jsonrequired
Login credentials for new user
password required | string User's new password |
Responses
Request samples
- Payload
{- "password": "string"
}
Get amount owed for user
This will return the amount owed for the logged in user, in the specified group, [SYSTEM USER]
Authorizations:
query Parameters
groupId | integer The Id of the group to get amount owed for |
receiptIds | Array of integers The Id of the receipts to get amount owed for |
Responses
Response samples
- 200
{- "property1": "string",
- "property2": "string"
}
Get claims for logged in user
This will return the user's token claims for the currently logged in user [SYSTEM USER]
Authorizations:
Responses
Response samples
- 200
{- "userId": 0,
- "userRole": "ADMIN",
- "displayName": "",
- "defaultAvatarColor": "",
- "username": "",
- "iss": "",
- "sub": "",
- "aud": [ ],
- "exp": 0,
- "nbf": 0,
- "iat": 0,
- "jti": ""
}
Update user profile
This will update the logged in user's user profile
Authorizations:
Request Body schema: application/jsonrequired
User profile to update
displayName required | string User's displayName |
defaultAvatarColor required | string Color of default avatar |
Responses
Request samples
- Payload
{- "displayName": "string",
- "defaultAvatarColor": "string"
}
Get app data
This will return the user's app data for the currently logged in user [SYSTEM USER]
Authorizations:
Responses
Response samples
- 200
{- "about": {
- "buildDate": "string",
- "version": "string"
}, - "claims": {
- "userId": 0,
- "userRole": "ADMIN",
- "displayName": "",
- "defaultAvatarColor": "",
- "username": "",
- "iss": "",
- "sub": "",
- "aud": [ ],
- "exp": 0,
- "nbf": 0,
- "iat": 0,
- "jti": ""
}, - "groups": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "groupSettings": {
- "id": 0,
- "groupId": 0,
- "emailIntegrationEnabled": true,
- "systemEmailId": 0,
- "systemEmail": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}, - "emailToRead": "string",
- "subjectLineRegexes": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "regex": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailWhiteList": [
- {
- "id": 0,
- "groupSettingsId": 0,
- "email": "string",
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}
], - "emailDefaultReceiptStatus": "OPEN",
- "emailDefaultReceiptPaidById": 0,
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0,
- "fallbackPrompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "fallbackPromptId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "updatedAt": "string"
}, - "groupMembers": [
- {
- "createdAt": "string",
- "groupId": 0,
- "groupRole": "OWNER",
- "updatedAt": "string",
- "userId": 0
}
], - "id": 0,
- "isDefault": true,
- "name": "string",
- "isAllGroup": true,
- "status": "ACTIVE",
- "updatedAt": "string"
}
], - "users": [
- {
- "username": "string",
- "createdAt": "string",
- "createdBy": 0,
- "defaultAvatarColor": "string",
- "displayName": "string",
- "id": 0,
- "isDummyUser": true,
- "updatedAt": "string",
- "userRole": "ADMIN"
}
], - "userPreferences": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userId": 0,
- "quickScanDefaultGroupId": 0,
- "quickScanDefaultPaidById": 0,
- "quickScanDefaultStatus": "OPEN",
- "showLargeImagePreviews": null,
- "userShortcuts": [
- {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userPreferncesId": 0,
- "name": "string",
- "url": "string",
- "icon": "string"
}
]
}, - "featureConfig": {
- "aiPoweredReceipts": true,
- "enableLocalSignUp": true
}, - "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "jwt": "string",
- "refreshToken": "string",
- "currencyDisplay": "string",
- "currencyThousandthsSeparator": ",",
- "currencyDecimalSeparator": ",",
- "currencySymbolPosition": "START",
- "currencyHideDecimalPlaces": true,
- "icons": [
- {
- "value": "string",
- "displayValue": "string"
}
]
}
Get user preferences
This will return the user's preferences for the currently logged in user [SYSTEM USER]
Authorizations:
Responses
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userId": 0,
- "quickScanDefaultGroupId": 0,
- "quickScanDefaultPaidById": 0,
- "quickScanDefaultStatus": "OPEN",
- "showLargeImagePreviews": null,
- "userShortcuts": [
- {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userPreferncesId": 0,
- "name": "string",
- "url": "string",
- "icon": "string"
}
]
}
Update user preferences
This will update the user's preferences for the currently logged in user [SYSTEM USER]
Authorizations:
Request Body schema: application/jsonrequired
User preferences to update
id required | integer <uint64> User preferences id |
createdAt required | string |
createdBy | integer <uint64> Default: 0 |
createdByString | string Default: "" Created by entity's name |
updatedAt | string Default: "" |
userId required | integer User foreign key |
quickScanDefaultGroupId | integer Default: 0 Group foreign key |
quickScanDefaultPaidById | integer Default: 0 User foreign key |
quickScanDefaultStatus | string (ReceiptStatus) Default: "OPEN" Enum: "OPEN" "NEEDS_ATTENTION" "RESOLVED" "DRAFT" "" Default quick scan status |
showLargeImagePreviews | boolean Default: null Whether to show large image previews |
Array of objects (UserShortcut) |
Responses
Request samples
- Payload
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userId": 0,
- "quickScanDefaultGroupId": 0,
- "quickScanDefaultPaidById": 0,
- "quickScanDefaultStatus": "OPEN",
- "showLargeImagePreviews": null,
- "userShortcuts": [
- {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userPreferncesId": 0,
- "name": "string",
- "url": "string",
- "icon": "string"
}
]
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userId": 0,
- "quickScanDefaultGroupId": 0,
- "quickScanDefaultPaidById": 0,
- "quickScanDefaultStatus": "OPEN",
- "showLargeImagePreviews": null,
- "userShortcuts": [
- {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "userPreferncesId": 0,
- "name": "string",
- "url": "string",
- "icon": "string"
}
]
}
Create system email
This will create a system email
Authorizations:
Request Body schema: application/jsonrequired
System email to create
host required | string IMAP host |
port required | string IMAP port |
username required | string IMAP username |
password required | string IMAP password |
Responses
Request samples
- Payload
{- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}
Check system email connectivity
This will check system email connectivity
Authorizations:
Request Body schema: application/jsonrequired
System email to check connectivity
id | integer System email id |
host | string IMAP host |
port | integer IMAP port |
username | string IMAP username |
password | string IMAP password |
Responses
Request samples
- Payload
{- "id": 0,
- "host": "string",
- "port": 0,
- "username": "string",
- "password": "string"
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "type": "META_ASSOCIATE_TASKS_TO_RECEIPT",
- "status": "SUCCEEDED",
- "startedAt": "string",
- "endedAt": "string",
- "associatedEntityId": 0,
- "associatedEntityType": "NOOP_ENTITY_TYPE",
- "ranByUserId": 0,
- "resultDescription": "string",
- "childSystemTasks": [
- null
]
}
Get system email by id
This will get a system email by id
Authorizations:
path Parameters
id required | integer Id of system email to get |
Responses
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}
Update system email by id
This will update a system email by id
Authorizations:
path Parameters
id required | integer Id of system email to update |
query Parameters
updatePassword required | boolean Whether or not to update the password |
Request Body schema: application/jsonrequired
System email to update
host required | string IMAP host |
port required | string IMAP port |
username required | string IMAP username |
password required | string IMAP password |
Responses
Request samples
- Payload
{- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "host": "string",
- "port": "string",
- "username": "string",
- "password": "string"
}
Gets paged system emails
This will return paged and sorted system emails
Authorizations:
Request Body schema: application/jsonrequired
Paging and sorting data
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
Responses
Request samples
- Payload
{- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc"
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Gets paged system tasks
This will return paged system tasks
Authorizations:
Request Body schema: application/jsonrequired
Paging and sorting data
associatedEntityId | integer Associated entity id |
associatedEntityType | string (AssociatedEntityType) Enum: "NOOP_ENTITY_TYPE" "RECEIPT" "SYSTEM_EMAIL" "RECEIPT_PROCESSING_SETTINGS" "PROMPT" |
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
Responses
Request samples
- Payload
{- "associatedEntityId": 0,
- "associatedEntityType": "NOOP_ENTITY_TYPE",
- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc"
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Create prompt
This will create a prompt
Authorizations:
Request Body schema: application/jsonrequired
Prompt to create
name required | string Prompt name |
description | string Prompt description |
prompt required | string Prompt text |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "prompt": "string"
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}
Get prompt by id
This will get a prompt by id
Authorizations:
path Parameters
id required | integer Id of prompt to get |
Responses
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}
Update prompt by id
This will update a prompt by id
Authorizations:
path Parameters
id required | integer Id of prompt to update |
Request Body schema: application/jsonrequired
Prompt to update
name required | string Prompt name |
description | string Prompt description |
prompt required | string Prompt text |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "prompt": "string"
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}
Gets paged prompts
This will return paged prompts
Authorizations:
Request Body schema: application/jsonrequired
Paging and sorting data
page required | integer Page number |
pageSize required | integer Number of records per page |
orderBy | string field to order on |
sortDirection | string (SortDirection) Enum: "asc" "desc" "" |
Responses
Request samples
- Payload
{- "page": 0,
- "pageSize": 0,
- "orderBy": "string",
- "sortDirection": "asc"
}
Response samples
- 200
{- "data": [
- {
- "amount": "string",
- "categories": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "comments": [
- {
- "additionalInfo": "string",
- "comment": "string",
- "commentId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "receiptId": 0,
- "updatedAt": "string",
- "userId": 0
}
], - "createdAt": "string",
- "createdBy": 0,
- "date": "string",
- "groupId": 0,
- "id": 0,
- "imageFiles": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "fileType": "string",
- "id": 0,
- "imageData": [
- 0
], - "name": "string",
- "receiptId": 0,
- "size": 0,
- "updatedAt": "string"
}
], - "name": "string",
- "paidByUserId": 0,
- "receiptItems": [
- {
- "IsTaxed": true,
- "amount": "string",
- "chargedToUserId": 0,
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "receiptId": 0,
- "status": "OPEN",
- "updatedAt": "string"
}
], - "resolvedDate": "string",
- "status": "OPEN",
- "tags": [
- {
- "createdAt": "string",
- "createdBy": 0,
- "id": 0,
- "name": "string",
- "description": "string",
- "updatedAt": "string"
}
], - "updatedAt": "string",
- "createdByString": "string"
}
], - "totalCount": 0
}
Get receipt processing settings by id
This will get receipt processing settings by id
Authorizations:
path Parameters
id required | integer Id of receipt processing settings to get |
Responses
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "aiType": "OPEN_AI_CUSTOM",
- "url": "string",
- "key": "string",
- "model": "string",
- "isVisionModel": true,
- "ocrEngine": "TESSERACT",
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0
}
Update receipt processing settings by id
This will update receipt processing settings by id
Authorizations:
path Parameters
id required | integer Id of receipt processing settings to update |
query Parameters
updateKey required | boolean Whether or not to update the key |
Request Body schema: application/jsonrequired
Receipt processing settings to update
name required | string Name of the settings |
description | string Description of the settings |
aiType required | string (AiType) Enum: "OPEN_AI_CUSTOM" "OPEN_AI" "GEMINI" "OLLAMA" |
url | string URL for custom endpoints |
key | string Key for endpoints that require authentication |
model | string LLM model |
isVisionModel | boolean Is vision model |
ocrEngine required | string (OcrEngine) Enum: "TESSERACT" "EASY_OCR" |
promptId required | integer Prompt foreign key |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "aiType": "OPEN_AI_CUSTOM",
- "url": "string",
- "key": "string",
- "model": "string",
- "isVisionModel": true,
- "ocrEngine": "TESSERACT",
- "promptId": 0
}
Response samples
- 200
{- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "aiType": "OPEN_AI_CUSTOM",
- "url": "string",
- "key": "string",
- "model": "string",
- "isVisionModel": true,
- "ocrEngine": "TESSERACT",
- "prompt": {
- "id": 0,
- "createdAt": "string",
- "createdBy": 0,
- "createdByString": "",
- "updatedAt": "",
- "name": "string",
- "description": "string",
- "prompt": "string"
}, - "promptId": 0
}