AlayaCare Accounts API
The Accounts API from AlayaCare — 2 operation(s) for accounts.
The Accounts API from AlayaCare — 2 operation(s) for accounts.
openapi: 3.0.0
info:
version: 1.0.19-oas3
title: AlayaCare Accounting Accounts API
description: '**AlayaCare IDs:**
The following terms are used to reference IDs that identify resources in AlayaCare:
- id
- visit_id
- premium_id
- visit_premium_id
- employee_id
- cost_centre_id
- client_id
**External IDs**
The following terms are used to reference IDs that identify resources systems external to AlayaCare:
- employee_external_id
- client_external_id
External IDs are required to be unique.
No other assumptions are made regarding their format they are treated as strings.
'
servers:
- url: https://example.alayacare.com/ext/api/v2/accounting
security:
- basic_auth: []
tags:
- name: Accounts
paths:
/accounts:
get:
tags:
- Accounts
summary: Get a list of accounts
parameters:
- name: id
description: Filter by account id
in: query
required: false
schema:
type: integer
minimum: 1
- name: search
description: Filter by account name
in: query
required: false
schema:
type: string
- name: types
description: Filter by account type
in: query
required: false
schema:
type: string
enum:
- bank
- expense
- receivables
- liability
- revenue
- name: is_disabled
description: Filter by account status
in: query
required: false
schema:
type: boolean
- name: branch_ids
description: Filter by branch id
in: query
required: false
schema:
type: array
items:
type: integer
minimum: 1
- name: sort_by
description: Field to sort by
in: query
required: false
schema:
type: string
enum:
- name
- gl_number
- type
- name: sort_order
description: Order to sort by
in: query
required: false
schema:
type: string
enum:
- ASC
- DESC
responses:
'200':
description: A list of accounts
content:
application/json:
schema:
$ref: '#/components/schemas/AccountList'
'401':
$ref: '#/components/responses/ErrorResponseAuthentication'
post:
tags:
- Accounts
summary: Create an account
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Account name
example: Account Name
gl_number:
type: string
description: Account GL number
example: '123456'
type:
type: string
enum:
- bank
- expense
- receivables
- liability
- revenue
description: Account type
example: bank
description: Object with fields to be updated
responses:
'200':
description: Created account
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'400':
$ref: '#/components/responses/ErrorResponseInvalidAccountParams'
'401':
$ref: '#/components/responses/ErrorResponseAuthentication'
'403':
$ref: '#/components/responses/ErrorResponseAccessDenied'
/accounts/{id}:
get:
tags:
- Accounts
summary: Get an account
parameters:
- name: id
description: Account ID
in: path
required: true
schema:
type: integer
minimum: 1
responses:
'200':
description: An account
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'401':
$ref: '#/components/responses/ErrorResponseAuthentication'
'403':
$ref: '#/components/responses/ErrorResponseAccessDenied'
put:
tags:
- Accounts
summary: Update an account
parameters:
- name: id
description: Account ID
in: path
required: true
schema:
type: integer
minimum: 1
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Account name
example: Account Name
gl_number:
type: string
description: Account GL number
example: '123456'
description: Object with fields to be updated
responses:
'200':
description: Updated account
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'400':
$ref: '#/components/responses/ErrorResponseInvalidAccountParams'
'401':
$ref: '#/components/responses/ErrorResponseAuthentication'
'403':
$ref: '#/components/responses/ErrorResponseAccessDenied'
components:
schemas:
BranchSummary:
description: Branch summary
type: object
properties:
id:
type: integer
description: ID of the branch
example: 1
minimum: 1
name:
type: string
description: Name of the branch
example: Headquarters
PaginatedList:
description: Base model of all paginated lists
type: object
properties:
count:
type: integer
description: Number of items in the response
example: 10
page:
type: integer
description: Current page number
example: 1
minimum: 1
total_pages:
type: integer
description: Total number of pages available
example: 1
items:
type: array
items:
type: object
required:
- count
- page
- total_pages
- items
AccountList:
allOf:
- $ref: '#/components/schemas/PaginatedList'
description: Paginated list of accounts
properties:
items:
type: array
items:
$ref: '#/components/schemas/Account'
ErrorResponse:
description: Error response
type: object
properties:
code:
type: integer
example: 400
description: Response code
message:
type: string
example: Invalid request
description: Detailed error message
required:
- code
- message
Account:
description: Account details
type: object
properties:
id:
type: integer
description: Account ID
example: 1
minimum: 1
branch:
$ref: '#/components/schemas/BranchSummary'
gl_number:
type: string
description: Account GL number
example: 1000
is_default:
type: boolean
description: Flag indicating if the account is the default account for the branch
example: true
is_disabled:
type: boolean
description: Flag indicating if the account is disabled
example: false
is_read_only:
type: boolean
description: Flag indicating if the account is read only
example: false
name:
type: string
description: Account name
example: AlayaCare
type:
type: string
description: Account type
example: asset
enum:
- asset
- liability
- equity
- revenue
- expense
responses:
ErrorResponseAccessDenied:
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
code: '403'
message: You do not have the required permissions to perform this action
ErrorResponseInvalidAccountParams:
description: Invalid account parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
ErrorResponseAuthentication:
description: Authorization required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
response:
value:
code: '401'
message: Authorization required.
securitySchemes:
basic_auth:
type: http
description: Basic HTTP auth over https
scheme: basic