Skip to main content

Receipt Wrangler API. (5.0.0)

Download OpenAPI specification:Download

Dashboard

Get dashboards for a user by group id

This will get a dashboards for a user by group id

Authorizations:
bearerAuth
path Parameters
groupId
required
string

Id of group to get dashboard for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update dashboard

This will update a dashboard

Authorizations:
bearerAuth
path Parameters
dashboardId
required
integer

Id of dashboard to operate on

Request Body schema: application/json
required

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

Content type
application/json
{
  • "name": "string",
  • "groupId": "string",
  • "widgets": [
    ]
}

Response samples

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "groupId": 0,
  • "userId": 0,
  • "updatedAt": "string",
  • "widgets": [
    ]
}

Delete dashboard

This will delete a dashboard by id

Authorizations:
bearerAuth
path Parameters
dashboardId
required
integer

Id of dashboard to operate on

Responses

Response samples

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "groupId": 0,
  • "userId": 0,
  • "updatedAt": "string",
  • "widgets": [
    ]
}

Create dashboard

This will create a dashboard [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: application/json
required

Dashboard

name
required
string

Dashboard name

groupId
required
string

Group foreign key

Array of objects (UpsertWidgetCommand)

Widgets associated to dashboard

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "groupId": "string",
  • "widgets": [
    ]
}

Response samples

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "groupId": 0,
  • "userId": 0,
  • "updatedAt": "string",
  • "widgets": [
    ]
}

Category

Get category count by name

This will return a count of categories with the same name

Authorizations:
bearerAuth
path Parameters
categoryName
required
string

Category name to get count of

Responses

Get paged categories

This will return paged categories

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

Get all categories

This will return all categories in the system

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create category

This will create a category

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "updatedAt": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "updatedAt": "string"
}

Update category

This will update a category

Authorizations:
bearerAuth
path Parameters
categoryId
required
integer

Category Id to get

Request Body schema: application/json
required

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

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "updatedAt": "string"
}

Delete category

This will delete a category by id

Authorizations:
bearerAuth
path Parameters
categoryId
required
integer

Category Id to get

Responses

Comment

Add comment

This will add a comment to a receipt, [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: application/json
required

Comment to create

comment
required
string

Comment itself

receiptId
required
integer

Receipt foreign key

userId
integer

User foreign key

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "receiptId": 0,
  • "userId": 0
}

Response samples

Content type
application/json
{
  • "additionalInfo": "string",
  • "comment": "string",
  • "commentId": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "receiptId": 0,
  • "updatedAt": "string",
  • "userId": 0
}

Delete comment

This will delete a comment by id [SYSTEM User]

Authorizations:
bearerAuth
path Parameters
commentId
required
integer

Comment Id to delete

Responses

FeatureConfig

Get feature config

This will get the server's feature config

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "aiPoweredReceipts": true,
  • "enableLocalSignUp": true
}

Groups

Get groups for user

This will get groups for the currently logged in user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create group

This will create a group

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "groupSettings": {
    },
  • "groupMembers": [
    ],
  • "id": 0,
  • "isDefault": true,
  • "name": "string",
  • "isAllGroup": true,
  • "status": "ACTIVE",
  • "updatedAt": "string"
}

Reads each image in a group and returns the zipped read text

This will get the ocr text, zipped, for each image in a group and one text file per image

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Group Id to get ocr text for

Responses

Poll group email

This will poll the group email for new receipts and add them to the group

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Group Id to poll

Responses

Gets a group by Id

This will get a group by Id

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Group Id to get

Responses

Update a group

This will update a group

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Group Id to get

Request Body schema: application/json
required

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

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "groupSettings": {
    },
  • "groupMembers": [
    ],
  • "id": 0,
  • "isDefault": true,
  • "name": "string",
  • "isAllGroup": true,
  • "status": "ACTIVE",
  • "updatedAt": "string"
}

Delete group

This will delete a group by id

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Group Id to get

Responses

Update group settings

This will update the group settings for a group

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Group Id to update

Request Body schema: application/json
required

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

Content type
application/json
{
  • "systemEmailId": 0,
  • "emailIntegrationEnabled": true,
  • "subjectLineRegexes": [
    ],
  • "emailWhiteList": [
    ],
  • "emailDefaultReceiptStatus": "OPEN",
  • "emailDefaultReceiptPaidById": 0,
  • "promptId": 0,
  • "fallbackPromptId": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "groupId": 0,
  • "emailIntegrationEnabled": true,
  • "systemEmailId": 0,
  • "systemEmail": {
    },
  • "emailToRead": "string",
  • "subjectLineRegexes": [
    ],
  • "emailWhiteList": [
    ],
  • "emailDefaultReceiptStatus": "OPEN",
  • "emailDefaultReceiptPaidById": 0,
  • "prompt": {
    },
  • "promptId": 0,
  • "fallbackPrompt": {
    },
  • "fallbackPromptId": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "updatedAt": "string"
}

Get paged groups

This will return paged groups

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc",
  • "filter": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

Auth

Login

This will log a user into the system

Authorizations:
bearerAuth
Request Body schema: application/json
required

Login data

username
required
string

User's username

password
required
string

User's password

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "about": {
    },
  • "claims": {
    },
  • "groups": [
    ],
  • "users": [
    ],
  • "userPreferences": {
    },
  • "featureConfig": {
    },
  • "categories": [
    ],
  • "tags": [
    ],
  • "jwt": "string",
  • "refreshToken": "string",
  • "currencyDisplay": "string",
  • "currencyThousandthsSeparator": ",",
  • "currencyDecimalSeparator": ",",
  • "currencySymbolPosition": "START",
  • "currencyHideDecimalPlaces": true,
  • "icons": [
    ]
}

Logout

This will log a user out of the system and revoke their token [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: application/json
optional

Refresh token

refreshToken
required
string

Refresh token

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Signs up

This will sign a user up for the system

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "displayName": "string",
  • "isDummyUser": true,
  • "userRole": "ADMIN"
}

Get fresh tokens

This will get a fresh token pair for the user

Authorizations:
bearerAuth
Request Body schema: application/json
optional

Refresh token body for clients that don't use cookies

refreshToken
required
string

Refresh token

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
Example
{
  • "jwt": "string",
  • "refreshToken": "string"
}

Notifications

Get all user notifications

This will get all the notifications for the currently logged in user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete all notifications for user

This deletes all notifications for a user

Authorizations:
bearerAuth

Responses

Delete notification by id

This deletes a notification by id

Authorizations:
bearerAuth
path Parameters
notificationId
required
integer

Notification Id to delete

Responses

Notification count

This will get the notification count for the currently logged in user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
0
0

Receipt

Create receipt

This will create a receipt [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "name": "string",
  • "amount": "string",
  • "date": "string",
  • "groupId": 0,
  • "paidByUserId": 0,
  • "status": "OPEN",
  • "categories": [
    ],
  • "tags": [
    ],
  • "receiptItems": [
    ],
  • "comments": [
    ]
}

Response samples

Content type
application/json
{
  • "amount": "string",
  • "categories": [
    ],
  • "comments": [
    ],
  • "createdAt": "string",
  • "createdBy": 0,
  • "date": "string",
  • "groupId": 0,
  • "id": 0,
  • "imageFiles": [
    ],
  • "name": "string",
  • "paidByUserId": 0,
  • "receiptItems": [
    ],
  • "resolvedDate": "string",
  • "status": "OPEN",
  • "tags": [
    ],
  • "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:
bearerAuth
Request Body schema: multipart/form-data
required

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

Content type
application/json
[
  • {
    }
]

Has access to receipt

This will return whether or not the currently logged in user has access to the receipt

Authorizations:
bearerAuth
query Parameters
receiptId
required
integer
groupRole
string

Role required to have access to receipt

Responses

Get receipt

This will get a receipt by receipt id [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptId
required
integer

Id of receipt to get

Responses

Response samples

Content type
application/json
{
  • "amount": "string",
  • "categories": [
    ],
  • "comments": [
    ],
  • "createdAt": "string",
  • "createdBy": 0,
  • "date": "string",
  • "groupId": 0,
  • "id": 0,
  • "imageFiles": [
    ],
  • "name": "string",
  • "paidByUserId": 0,
  • "receiptItems": [
    ],
  • "resolvedDate": "string",
  • "status": "OPEN",
  • "tags": [
    ],
  • "updatedAt": "string",
  • "createdByString": "string"
}

Update receipt

This will update a receipt by receipt id [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptId
required
integer

Id of receipt to get

Request Body schema: application/json
required

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

Content type
application/json
{
  • "name": "string",
  • "amount": "string",
  • "date": "string",
  • "groupId": 0,
  • "paidByUserId": 0,
  • "status": "OPEN",
  • "categories": [
    ],
  • "tags": [
    ],
  • "receiptItems": [
    ],
  • "comments": [
    ]
}

Response samples

Content type
application/json
{
  • "amount": "string",
  • "categories": [
    ],
  • "comments": [
    ],
  • "createdAt": "string",
  • "createdBy": 0,
  • "date": "string",
  • "groupId": 0,
  • "id": 0,
  • "imageFiles": [
    ],
  • "name": "string",
  • "paidByUserId": 0,
  • "receiptItems": [
    ],
  • "resolvedDate": "string",
  • "status": "OPEN",
  • "tags": [
    ],
  • "updatedAt": "string",
  • "createdByString": "string"
}

Delete receipt

This will delete a receipt by id [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptId
required
integer

Id of receipt to get

Responses

Duplicate receipt

This will duplicate a receipt [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptId
required
integer

Id of receipt to duplicate

Responses

Bulk receipt status update

This will bulk update receipt statuses with the option of adding a comment to each [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "comment": "string",
  • "status": "string",
  • "receiptIds": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Gets receipts

This will return receipts with the option to sort and filter [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

Get all receipts that belong to groupId

Request Body schema: application/json
required
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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc",
  • "filter": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

ReceiptImage

Uploads a receipt image

This will upload a receipt image, [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required

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

Content type
application/json
{
  • "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:
bearerAuth
Request Body schema: multipart/form-data
required

Receipt image to convert

file
required
string <binary>

Base64 encoded image

Responses

Response samples

Content type
application/json
{
  • "encodedImage": "string"
}

Reads a receipt image and returns the parsed results

This will parse and read a receipt image, [SYSTEM USER]

Authorizations:
bearerAuth
query Parameters
receiptImageId
integer

Id of receipt image to perform magic fill on

Request Body schema: multipart/form-data
optional
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "amount": "string",
  • "categories": [
    ],
  • "comments": [
    ],
  • "createdAt": "string",
  • "createdBy": 0,
  • "date": "string",
  • "groupId": 0,
  • "id": 0,
  • "imageFiles": [
    ],
  • "name": "string",
  • "paidByUserId": 0,
  • "receiptItems": [
    ],
  • "resolvedDate": "string",
  • "status": "OPEN",
  • "tags": [
    ],
  • "updatedAt": "string",
  • "createdByString": "string"
}

Get receipt image

This will get a receipt image by id, [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptImageId
required
integer

Id of receipt image to get

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "encodedImage": "string",
  • "name": "string"
}

Delete receipt image

This will delete a receipt image by id [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptImageId
required
integer

Id of receipt image to get

Responses

Download receipt image

This will download a receipt image by id, [SYSTEM USER]

Authorizations:
bearerAuth
path Parameters
receiptImageId
required
integer

Id of receipt image to download

Responses

Search

Receipt Search

This will search for receipts based on a search term

Authorizations:
bearerAuth
query Parameters
searchTerm
required
string

search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tag

Get paged tags

This will return paged tags

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

Get tag count by name

This will count of names with the same name

Authorizations:
bearerAuth
path Parameters
tagName
required
string

Tag name to get count of

Responses

Update tag

This will update a tag

Authorizations:
bearerAuth
path Parameters
tagId
required
integer

Id of tag to get

Request Body schema: application/json
required

Tag to update

id
integer

Tag id

name
required
string

Tag name

description
string

Tag description

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "updatedAt": "string"
}

Delete tag

This will delete a tag by id

Authorizations:
bearerAuth
path Parameters
tagId
required
integer

Id of tag to get

Responses

Get all tags

This will return all tags in the system

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create tag

This will create a tag

Authorizations:
bearerAuth
Request Body schema: application/json
required

Tag to create

id
integer

Tag id

name
required
string

Tag name

description
string

Tag description

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "string",
  • "createdBy": 0,
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "updatedAt": "string"
}

User

Get users

This will get all the users in the system and return a view without sensative information

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create user

This will to create a user, [SYSTEM ADMIN]

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "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:
bearerAuth
path Parameters
userId
required
integer

Id of user to update

Request Body schema: application/json
required

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

Content type
application/json
{
  • "password": "string",
  • "username": "string",
  • "createdAt": "string",
  • "createdBy": 0,
  • "defaultAvatarColor": "string",
  • "displayName": "string",
  • "id": 0,
  • "isDummyUser": true,
  • "updatedAt": "string",
  • "userRole": "ADMIN"
}

Delete user

This will delete a system user by id [SYSTEM ADMIN]

Authorizations:
bearerAuth
path Parameters
userId
required
integer

Id of user to update

Responses

Converts dummy user

This will convert a dummy user to a normal system user, [SYSTEM ADMIN]

Authorizations:
bearerAuth
path Parameters
userId
required
integer

Id of user to convert to normal system user

Request Body schema: application/json
required

Login credentials for new user

password
required
string

User's new password

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Reset password

This will reset a password for a user, [SYSTEM ADMIN]

Authorizations:
bearerAuth
path Parameters
userId
required
integer

Id of user to reset password

Request Body schema: application/json
required

Login credentials for new user

password
required
string

User's new password

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Get username count

This will return the number of users in the system with the same username

Authorizations:
bearerAuth
path Parameters
username
required
string

Username to get the count of

Responses

Response samples

Content type
application/json
0
0

Get amount owed for user

This will return the amount owed for the logged in user, in the specified group, [SYSTEM USER]

Authorizations:
bearerAuth
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

Content type
application/json
{
  • "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:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "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:
bearerAuth
Request Body schema: application/json
required

User profile to update

displayName
required
string

User's displayName

defaultAvatarColor
required
string

Color of default avatar

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "defaultAvatarColor": "string"
}

Get app data

This will return the user's app data for the currently logged in user [SYSTEM USER]

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "about": {
    },
  • "claims": {
    },
  • "groups": [
    ],
  • "users": [
    ],
  • "userPreferences": {
    },
  • "featureConfig": {
    },
  • "categories": [
    ],
  • "tags": [
    ],
  • "jwt": "string",
  • "refreshToken": "string",
  • "currencyDisplay": "string",
  • "currencyThousandthsSeparator": ",",
  • "currencyDecimalSeparator": ",",
  • "currencySymbolPosition": "START",
  • "currencyHideDecimalPlaces": true,
  • "icons": [
    ]
}

UserPreferences

Get user preferences

This will return the user's preferences for the currently logged in user [SYSTEM USER]

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "userId": 0,
  • "quickScanDefaultGroupId": 0,
  • "quickScanDefaultPaidById": 0,
  • "quickScanDefaultStatus": "OPEN",
  • "showLargeImagePreviews": null,
  • "userShortcuts": [
    ]
}

Update user preferences

This will update the user's preferences for the currently logged in user [SYSTEM USER]

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "userId": 0,
  • "quickScanDefaultGroupId": 0,
  • "quickScanDefaultPaidById": 0,
  • "quickScanDefaultStatus": "OPEN",
  • "showLargeImagePreviews": null,
  • "userShortcuts": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "userId": 0,
  • "quickScanDefaultGroupId": 0,
  • "quickScanDefaultPaidById": 0,
  • "quickScanDefaultStatus": "OPEN",
  • "showLargeImagePreviews": null,
  • "userShortcuts": [
    ]
}

SystemEmail

Create system email

This will create a system email

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "host": "string",
  • "port": "string",
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "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:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "id": 0,
  • "host": "string",
  • "port": 0,
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "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": [
    ]
}

Get system email by id

This will get a system email by id

Authorizations:
bearerAuth
path Parameters
id
required
integer

Id of system email to get

Responses

Response samples

Content type
application/json
{
  • "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:
bearerAuth
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/json
required

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

Content type
application/json
{
  • "host": "string",
  • "port": "string",
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "host": "string",
  • "port": "string",
  • "username": "string",
  • "password": "string"
}

Delete system email by id

This will delete a system email by id

Authorizations:
bearerAuth
path Parameters
id
required
integer

Id of system email to delete

Responses

Gets paged system emails

This will return paged and sorted system emails

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

SystemTask

Gets paged system tasks

This will return paged system tasks

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "associatedEntityId": 0,
  • "associatedEntityType": "NOOP_ENTITY_TYPE",
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

Prompt

Create prompt

This will create a prompt

Authorizations:
bearerAuth
Request Body schema: application/json
required

Prompt to create

name
required
string

Prompt name

description
string

Prompt description

prompt
required
string

Prompt text

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "prompt": "string"
}

Response samples

Content type
application/json
{
  • "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:
bearerAuth
path Parameters
id
required
integer

Id of prompt to get

Responses

Response samples

Content type
application/json
{
  • "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:
bearerAuth
path Parameters
id
required
integer

Id of prompt to update

Request Body schema: application/json
required

Prompt to update

name
required
string

Prompt name

description
string

Prompt description

prompt
required
string

Prompt text

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "prompt": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "name": "string",
  • "description": "string",
  • "prompt": "string"
}

Delete prompt by id

This will delete a prompt by id

Authorizations:
bearerAuth
path Parameters
id
required
integer

Id of prompt to delete

Responses

Gets paged prompts

This will return paged prompts

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

Create default prompt

This will create a default prompt

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "name": "string",
  • "description": "string",
  • "prompt": "string"
}

ReceiptProcessingSettings

Get receipt processing settings by id

This will get receipt processing settings by id

Authorizations:
bearerAuth
path Parameters
id
required
integer

Id of receipt processing settings to get

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "promptId": 0
}

Update receipt processing settings by id

This will update receipt processing settings by id

Authorizations:
bearerAuth
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/json
required

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

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "aiType": "OPEN_AI_CUSTOM",
  • "url": "string",
  • "key": "string",
  • "model": "string",
  • "isVisionModel": true,
  • "ocrEngine": "TESSERACT",
  • "promptId": 0
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "promptId": 0
}

Delete receipt processing settings by id

This will delete receipt processing settings by id

Authorizations:
bearerAuth
path Parameters
id
required
integer

Id of receipt processing settings to delete

Responses

Create receipt processing settings

This will create receipt processing settings

Authorizations:
bearerAuth
Request Body schema: application/json
required

Receipt processing settings to create

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

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "aiType": "OPEN_AI_CUSTOM",
  • "url": "string",
  • "key": "string",
  • "model": "string",
  • "isVisionModel": true,
  • "ocrEngine": "TESSERACT",
  • "promptId": 0
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "promptId": 0
}

Gets paged processing settings

This will return paged processing settings

Authorizations:
bearerAuth
Request Body schema: application/json
required

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

Content type
application/json
{
  • "page": 0,
  • "pageSize": 0,
  • "orderBy": "string",
  • "sortDirection": "asc"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "totalCount": 0
}

Check receipt processing settings connectivity

Authorizations:
bearerAuth
Request Body schema: application/json
required

Receipt processing settings to check connectivity

id
integer

Receipt processing settings id

name
string

Name of the settings

aiType
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

numWorkers
integer

Number of workers to use

ocrEngine
string (OcrEngine)
Enum: "TESSERACT" "EASY_OCR"
promptId
integer

Prompt foreign key

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "aiType": "OPEN_AI_CUSTOM",
  • "url": "string",
  • "key": "string",
  • "model": "string",
  • "numWorkers": 0,
  • "ocrEngine": "TESSERACT",
  • "promptId": 0
}

Response samples

Content type
application/json
{
  • "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": [
    ]
}

SystemSettings

Get system settings

This will get system settings

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "enableLocalSignUp": false,
  • "currencyDisplay": "$",
  • "currencyThousandthsSeparator": ",",
  • "currencyDecimalSeparator": ",",
  • "currencySymbolPosition": "START",
  • "currencyHideDecimalPlaces": false,
  • "debugOcr": false,
  • "numWorkers": 1,
  • "emailPollingInterval": 1800,
  • "receiptProcessingSettingsId": 0,
  • "fallbackReceiptProcessingSettingsId": 0
}

Update system settings

This will update system settings

Authorizations:
bearerAuth
Request Body schema: application/json
required

System settings to update

enableLocalSignUp
boolean

Whether local sign up is enabled

currencyDisplay
string

Currency display

currencyThousandthsSeparator
required
string (CurrencySeparator)
Enum: "," "."
currencyDecimalSeparator
required
string (CurrencySeparator)
Enum: "," "."
currencySymbolPosition
required
string (CurrencySymbolPosition)
Enum: "START" "END"
currencyHideDecimalPlaces
required
boolean

Whether to hide decimal places

debugOcr
boolean
numWorkers
integer
Default: 1

Number of workers to use

emailPollingInterval
integer

Email polling interval

receiptProcessingSettingsId
integer

Receipt processing settings foreign key

fallbackReceiptProcessingSettingsId
integer

Fallback receipt processing settings foreign key

Responses

Request samples

Content type
application/json
{
  • "enableLocalSignUp": true,
  • "currencyDisplay": "string",
  • "currencyThousandthsSeparator": ",",
  • "currencyDecimalSeparator": ",",
  • "currencySymbolPosition": "START",
  • "currencyHideDecimalPlaces": true,
  • "debugOcr": true,
  • "numWorkers": 1,
  • "emailPollingInterval": 0,
  • "receiptProcessingSettingsId": 0,
  • "fallbackReceiptProcessingSettingsId": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "string",
  • "createdBy": 0,
  • "createdByString": "",
  • "updatedAt": "",
  • "enableLocalSignUp": false,
  • "currencyDisplay": "$",
  • "currencyThousandthsSeparator": ",",
  • "currencyDecimalSeparator": ",",
  • "currencySymbolPosition": "START",
  • "currencyHideDecimalPlaces": false,
  • "debugOcr": false,
  • "numWorkers": 1,
  • "emailPollingInterval": 1800,
  • "receiptProcessingSettingsId": 0,
  • "fallbackReceiptProcessingSettingsId": 0
}

Import

Import config json

This will import a config json

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required

Config json to import

file
required
string <binary>

Files to quick scan

Responses