uuid of an existing record in the permissions table.'
example:
- bfc53181-d647-36b2-9080-f9c2b76006f4
items:
type: string
required:
- name
- display_name
'/api/acl/roles/{id}':
put:
summary: Update
operationId: update
description: 'Update a role.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- ACL
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
display_name:
type: string
description: 'Display name.'
example: 'Example Name'
nullable: false
permissions:
type: array
description: 'Permissions *. The uuid of an existing record in the permissions table.'
example:
- bfc53181-d647-36b2-9080-f9c2b76006f4
items:
type: string
get:
summary: Show
operationId: show
description: 'Show a role.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: quidem
display_name: 'Qui commodi incidunt iure odit.'
permissions_count: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: quidem
display_name:
type: string
example: 'Qui commodi incidunt iure odit.'
permissions_count:
type: string
example: null
tags:
- ACL
parameters:
-
in: path
name: id
description: 'The ID of the role.'
example: 1
required: true
schema:
type: integer
'/api/acl/roles/{role}/permissions':
get:
summary: 'Role Permissions'
operationId: rolePermissions
description: 'List permissions associated with a role.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: null
name: quidem
display_name: 'Qui commodi incidunt iure odit.'
-
id: null
name: modi
display_name: 'Nostrum omnis autem et consequatur aut.'
properties:
data:
type: array
example:
-
id: null
name: quidem
display_name: 'Qui commodi incidunt iure odit.'
-
id: null
name: modi
display_name: 'Nostrum omnis autem et consequatur aut.'
items:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: quidem
display_name:
type: string
example: 'Qui commodi incidunt iure odit.'
tags:
- ACL
parameters:
-
in: path
name: role
description: 'The role.'
example: 1
required: true
schema:
type: integer
'/api/acl/roles/{role}':
delete:
summary: Delete
operationId: delete
description: 'Delete a role.'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- ACL
parameters:
-
in: path
name: role
description: 'The role.'
example: 1
required: true
schema:
type: integer
/api/acl/permissions:
get:
summary: List
operationId: list
description: 'List permissions.'
parameters:
-
in: query
name: q
description: 'Search query.'
example: 'Permission name'
required: false
schema:
type: string
description: 'Search query.'
example: 'Permission name'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: null
name: distinctio
display_name: 'Aut aut harum consequatur aliquam voluptatum est.'
-
id: null
name: sint
display_name: 'Itaque nulla eveniet omnis dolor quia.'
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: null
name: distinctio
display_name: 'Aut aut harum consequatur aliquam voluptatum est.'
-
id: null
name: sint
display_name: 'Itaque nulla eveniet omnis dolor quia.'
items:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: distinctio
display_name:
type: string
example: 'Aut aut harum consequatur aliquam voluptatum est.'
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- ACL
post:
summary: Create
operationId: create
description: 'Create a new permission.'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- ACL
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
display_name:
type: string
description: 'Display name.'
example: 'Example Name'
nullable: false
required:
- name
- display_name
'/api/acl/permissions/{id}':
put:
summary: Update
operationId: update
description: 'Update a permission.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- ACL
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
display_name:
type: string
description: 'Display name.'
example: 'Example Name'
nullable: false
get:
summary: Show
operationId: show
description: 'Show a permission.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: null
name: quidem
display_name: 'Qui commodi incidunt iure odit.'
properties:
data:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: quidem
display_name:
type: string
example: 'Qui commodi incidunt iure odit.'
tags:
- ACL
parameters:
-
in: path
name: id
description: 'The ID of the permission.'
example: 1
required: true
schema:
type: integer
'/api/acl/permissions/{permission}':
delete:
summary: Delete
operationId: delete
description: 'Delete a permission.'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- ACL
parameters:
-
in: path
name: permission
description: 'The permission.'
example: 1
required: true
schema:
type: integer
/api/accounts-payable-receivable/reminders:
get:
summary: 'List reminders for accounts payable receivable'
operationId: listRemindersForAccountsPayableReceivable
description: 'List reminders for accounts payable receivable that are about to expire soon'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
type: saída
payment_method: cheque
amount: 6092.26
due_date: '2025-11-30T03:00:00.000000Z'
status: null
payment_date: null
description: 'Iure odit et et modi ipsum nostrum omnis autem et consequatur aut dolores.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: enim
field2: 62
field3: true
notes: 'Veniam corporis dolorem mollitia.'
created_at: null
updated_at: null
-
id: 0733da06-3f67-3b0d-b923-684c336397e5
type: saída
payment_method: boleto
amount: 8204.46
due_date: '2025-11-30T03:00:00.000000Z'
status: null
payment_date: null
description: 'Fugit qui repudiandae laboriosam est alias tenetur ratione nemo voluptate.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: accusamus
field2: 84
field3: true
notes: 'Modi rerum ex repellendus assumenda et tenetur.'
created_at: null
updated_at: null
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
type: saída
payment_method: cheque
amount: 6092.26
due_date: '2025-11-30T03:00:00.000000Z'
status: null
payment_date: null
description: 'Iure odit et et modi ipsum nostrum omnis autem et consequatur aut dolores.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: enim
field2: 62
field3: true
notes: 'Veniam corporis dolorem mollitia.'
created_at: null
updated_at: null
-
id: 0733da06-3f67-3b0d-b923-684c336397e5
type: saída
payment_method: boleto
amount: 8204.46
due_date: '2025-11-30T03:00:00.000000Z'
status: null
payment_date: null
description: 'Fugit qui repudiandae laboriosam est alias tenetur ratione nemo voluptate.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: accusamus
field2: 84
field3: true
notes: 'Modi rerum ex repellendus assumenda et tenetur.'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
type:
type: string
example: saída
payment_method:
type: string
example: cheque
amount:
type: number
example: 6092.26
due_date:
type: string
example: '2025-11-30T03:00:00.000000Z'
status:
type: string
example: null
payment_date:
type: string
example: null
description:
type: string
example: 'Iure odit et et modi ipsum nostrum omnis autem et consequatur aut dolores.'
is_recurring:
type: string
example: null
recurrence_config:
type: string
example: null
parent_id:
type: string
example: null
recurrence_order:
type: integer
example: 1
total_recurrences:
type: string
example: null
children_count:
type: integer
example: 0
remaining_recurrences:
type: string
example: null
has_children:
type: boolean
example: false
field1:
type: string
example: enim
field2:
type: integer
example: 62
field3:
type: boolean
example: true
notes:
type: string
example: 'Veniam corporis dolorem mollitia.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Accounts Payable Receivable'
/api/accounts-payable-receivable/reminders/mark-as-read:
post:
summary: 'Mark reminders as read'
operationId: markRemindersAsRead
description: 'Mark reminders for accounts payable receivable as read'
parameters:
-
in: query
name: items
description: 'The uuid of an existing record in the account_payable_receivables table.'
example:
- architecto
required: true
schema:
type: array
description: 'The uuid of an existing record in the account_payable_receivables table.'
example:
- architecto
items:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Accounts Payable Receivable'
/api/accounts-payable-receivable:
get:
summary: 'List accounts payable receivable'
operationId: listAccountsPayableReceivable
description: 'List all accounts payable receivable'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Salary
required: false
schema:
type: string
description: 'Search query.'
example: Salary
nullable: true
-
in: query
name: type
description: Type.
example: entrada
required: false
schema:
type: string
description: Type.
example: entrada
nullable: true
enum:
- entrada
- saída
-
in: query
name: customers
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
items:
type: string
-
in: query
name: suppliers
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
items:
type: string
-
in: query
name: statuses
description: ''
example:
- recebido
required: false
schema:
type: array
description: ''
example:
- recebido
items:
type: string
enum:
- 'a vencer'
- pago
- vencido
- recebido
- cancelado
nullable: true
-
in: query
name: payment_method
description: 'Payment method.'
example: cheque
required: false
schema:
type: string
description: 'Payment method.'
example: cheque
nullable: true
enum:
- cheque
- boleto
- outro
-
in: query
name: date_start
description: 'Start date. O campo value deve ser uma data válida.'
example: '2023-01-01'
required: false
schema:
type: string
description: 'Start date. O campo value deve ser uma data válida.'
example: '2023-01-01'
nullable: true
-
in: query
name: date_end
description: 'End date. O campo value deve ser uma data válida.'
example: '2023-12-31'
required: false
schema:
type: string
description: 'End date. O campo value deve ser uma data válida.'
example: '2023-12-31'
nullable: true
-
in: query
name: has_children
description: 'Filter accounts that have recurring children.'
example: false
required: false
schema:
type: boolean
description: 'Filter accounts that have recurring children.'
example: false
nullable: true
-
in: query
name: is_recurring
description: 'Filter by recurring status (true: only recurring, false: only non-recurring, null: all).'
example: false
required: false
schema:
type: boolean
description: 'Filter by recurring status (true: only recurring, false: only non-recurring, null: all).'
example: false
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: a4855dc5-0acb-33c3-b921-f4291f719ca0
type: saída
payment_method: cheque
amount: 5750.1
due_date: '2025-12-13T03:00:00.000000Z'
status: null
payment_date: null
description: 'Sunt nihil accusantium harum mollitia modi deserunt aut.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: ab
field2: 49
field3: true
notes: 'Iure odit et et modi ipsum nostrum omnis.'
created_at: null
updated_at: null
-
id: 59183559-65ff-3076-b8ca-d2d03d26a42a
type: entrada
payment_method: boleto
amount: 8676.17
due_date: '2025-12-10T03:00:00.000000Z'
status: null
payment_date: null
description: 'Quis adipisci molestias fugit deleniti distinctio eum doloremque id aut libero.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: aliquam
field2: 75
field3: true
notes: 'Mollitia deleniti nemo odit quia officia.'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: a4855dc5-0acb-33c3-b921-f4291f719ca0
type: saída
payment_method: cheque
amount: 5750.1
due_date: '2025-12-13T03:00:00.000000Z'
status: null
payment_date: null
description: 'Sunt nihil accusantium harum mollitia modi deserunt aut.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: ab
field2: 49
field3: true
notes: 'Iure odit et et modi ipsum nostrum omnis.'
created_at: null
updated_at: null
-
id: 59183559-65ff-3076-b8ca-d2d03d26a42a
type: entrada
payment_method: boleto
amount: 8676.17
due_date: '2025-12-10T03:00:00.000000Z'
status: null
payment_date: null
description: 'Quis adipisci molestias fugit deleniti distinctio eum doloremque id aut libero.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: aliquam
field2: 75
field3: true
notes: 'Mollitia deleniti nemo odit quia officia.'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: a4855dc5-0acb-33c3-b921-f4291f719ca0
type:
type: string
example: saída
payment_method:
type: string
example: cheque
amount:
type: number
example: 5750.1
due_date:
type: string
example: '2025-12-13T03:00:00.000000Z'
status:
type: string
example: null
payment_date:
type: string
example: null
description:
type: string
example: 'Sunt nihil accusantium harum mollitia modi deserunt aut.'
is_recurring:
type: string
example: null
recurrence_config:
type: string
example: null
parent_id:
type: string
example: null
recurrence_order:
type: integer
example: 1
total_recurrences:
type: string
example: null
children_count:
type: integer
example: 0
remaining_recurrences:
type: string
example: null
has_children:
type: boolean
example: false
field1:
type: string
example: ab
field2:
type: integer
example: 49
field3:
type: boolean
example: true
notes:
type: string
example: 'Iure odit et et modi ipsum nostrum omnis.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Accounts Payable Receivable'
post:
summary: 'Create accounts payable receivable'
operationId: createAccountsPayableReceivable
description: 'Create a new accounts payable receivable'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Accounts Payable Receivable'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: Tipo.
example: 'Example Type'
nullable: false
enum:
- entrada
- saída
payment_method:
type: string
description: 'Forma de pagamento.'
example: 'Example Payment method'
nullable: false
enum:
- cheque
- boleto
- outro
due_date:
type: string
description: 'Data de vencimento. O campo value deve ser uma data válida.'
example: '2024-01-01'
nullable: false
amount:
type: number
description: Valor.
example: 1.0
nullable: false
description:
type: string
description: Descrição.
example: 'Example Description'
nullable: false
supplier_id:
type: string
description: 'Fornecedor. The uuid of an existing record in the suppliers table.'
example: bfc53181-d647-36b2-9080-f9c2b76006f4
nullable: true
customer_id:
type: string
description: 'Cliente. The uuid of an existing record in the customers table.'
example: c71cb930-01f3-381c-9172-e1c70e63388f
nullable: true
status:
type: string
description: Status.
example: 'Example Status'
nullable: false
enum:
- 'a vencer'
- pago
- vencido
- recebido
- cancelado
custom_fields:
type: object
description: 'Custom fields.'
example:
- example1
- example2
nullable: false
properties: { }
is_recurring:
type: boolean
description: 'Is recurring.'
example: false
nullable: false
recurrence_config:
type: object
description: 'Recurrence config.'
example:
- example1
- example2
nullable: false
properties:
frequency_type:
type: string
description: 'Recurrence config frequency type.'
example: 'Example Recurrence config frequency type'
nullable: false
enum:
- monthly
- weekly
- biweekly
- yearly
frequency_value:
type: integer
description: 'Recurrence config frequency value. O campo value deve ser pelo menos 0. O campo value não pode ser superior a 31.'
example: 1
nullable: false
end_date:
type: string
description: 'Recurrence config end date. O campo value deve ser uma data válida. O campo value deve ser uma data posterior a due_date.'
example: '2024-01-01'
nullable: true
max_occurrences:
type: integer
description: 'Recurrence config max occurrences. O campo value deve ser pelo menos 1.'
example: 1
nullable: true
generation_days_ahead:
type: integer
description: 'Recurrence config generation days ahead. O campo value deve ser pelo menos 1. O campo value não pode ser superior a 30.'
example: 1
nullable: false
required:
- type
- payment_method
- due_date
- amount
- description
'/api/accounts-payable-receivable/{accountPayableReceivable}':
get:
summary: 'Get accounts payable receivable'
operationId: getAccountsPayableReceivable
description: 'Get an accounts payable receivable'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
type: saída
payment_method: cheque
amount: 6092.26
due_date: '2025-11-30T03:00:00.000000Z'
status: null
payment_date: null
description: 'Iure odit et et modi ipsum nostrum omnis autem et consequatur aut dolores.'
is_recurring: null
recurrence_config: null
parent_id: null
recurrence_order: 1
total_recurrences: null
children_count: 0
remaining_recurrences: null
has_children: false
field1: enim
field2: 62
field3: true
notes: 'Veniam corporis dolorem mollitia.'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
type:
type: string
example: saída
payment_method:
type: string
example: cheque
amount:
type: number
example: 6092.26
due_date:
type: string
example: '2025-11-30T03:00:00.000000Z'
status:
type: string
example: null
payment_date:
type: string
example: null
description:
type: string
example: 'Iure odit et et modi ipsum nostrum omnis autem et consequatur aut dolores.'
is_recurring:
type: string
example: null
recurrence_config:
type: string
example: null
parent_id:
type: string
example: null
recurrence_order:
type: integer
example: 1
total_recurrences:
type: string
example: null
children_count:
type: integer
example: 0
remaining_recurrences:
type: string
example: null
has_children:
type: boolean
example: false
field1:
type: string
example: enim
field2:
type: integer
example: 62
field3:
type: boolean
example: true
notes:
type: string
example: 'Veniam corporis dolorem mollitia.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Accounts Payable Receivable'
put:
summary: 'Update accounts payable receivable'
operationId: updateAccountsPayableReceivable
description: 'Update an accounts payable receivable'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Accounts Payable Receivable'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- entrada
- saída
payment_method:
type: string
description: 'Payment method.'
example: 'Example Payment method'
nullable: false
enum:
- cheque
- boleto
- outro
due_date:
type: string
description: 'Due date. O campo value deve ser uma data válida.'
example: '2024-01-01'
nullable: false
amount:
type: number
description: Amount.
example: 1.0
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: false
supplier_id:
type: string
description: 'Supplier id. The uuid of an existing record in the suppliers table.'
example: bfc53181-d647-36b2-9080-f9c2b76006f4
nullable: true
customer_id:
type: string
description: 'Customer id. The uuid of an existing record in the customers table.'
example: c71cb930-01f3-381c-9172-e1c70e63388f
nullable: true
status:
type: string
description: Status.
example: 'Example Status'
nullable: false
enum:
- 'a vencer'
- pago
- vencido
- recebido
- cancelado
payment_date:
type: string
description: 'Payment date. O campo value deve ser uma data válida.'
example: '2024-01-01'
nullable: false
custom_fields:
type: object
description: 'Custom fields.'
example:
- example1
- example2
nullable: false
properties: { }
is_recurring:
type: boolean
description: 'Is recurring.'
example: false
nullable: false
recurrence_config:
type: object
description: 'Recurrence config.'
example:
- example1
- example2
nullable: false
properties:
frequency_type:
type: string
description: 'Recurrence config frequency type.'
example: 'Example Recurrence config frequency type'
nullable: false
enum:
- monthly
- weekly
- biweekly
- yearly
frequency_value:
type: integer
description: 'Recurrence config frequency value. O campo value deve ser pelo menos 0. O campo value não pode ser superior a 31.'
example: 1
nullable: false
end_date:
type: string
description: 'Recurrence config end date. O campo value deve ser uma data válida. O campo value deve ser uma data posterior a due_date.'
example: '2024-01-01'
nullable: true
max_occurrences:
type: integer
description: 'Recurrence config max occurrences. O campo value deve ser pelo menos 1.'
example: 1
nullable: true
generation_days_ahead:
type: integer
description: 'Recurrence config generation days ahead. O campo value deve ser pelo menos 1. O campo value não pode ser superior a 30.'
example: 1
nullable: false
delete:
summary: 'Delete accounts payable receivable'
operationId: deleteAccountsPayableReceivable
description: 'Delete an accounts payable receivable'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Accounts Payable Receivable'
parameters:
-
in: path
name: accountPayableReceivable
description: ''
example: architecto
required: true
schema:
type: string
/api/auth/login:
post:
summary: Login
operationId: login
description: 'Login with email and password'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
token: string
properties:
token:
type: string
example: string
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: ''
example: gbailey@example.net
nullable: false
password:
type: string
description: 'User password.'
example: password
nullable: false
required:
- email
- password
security: []
/api/auth/user:
get:
summary: Me
operationId: me
description: 'Get the current user'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Miss Pearl Hauck'
username: pfritsch
email: leo34@example.net
ability:
-
action: read
subject: Auth
-
action: listar
subject: padrão
roles: []
preferences: []
sectors: []
image:
id: null
url: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Miss Pearl Hauck'
username:
type: string
example: pfritsch
email:
type: string
example: leo34@example.net
ability:
type: array
example:
-
action: read
subject: Auth
-
action: listar
subject: padrão
items:
type: object
properties:
action:
type: string
example: read
subject:
type: string
example: Auth
roles:
type: array
example: []
preferences:
type: array
example: []
sectors:
type: array
example: []
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
tags:
- Authentication
put:
summary: 'Update Profile'
operationId: updateProfile
description: 'Update the current user profile'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Authentication
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
username:
type: string
description: Usuário.
example: christian51
nullable: false
password:
type: string
description: Password.
example: password123
nullable: false
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
sectors:
type: array
description: 'UUID do setor. The uuid of an existing record in the sectors table.'
example:
- 3457a2ff-ae91-3fa6-b7ef-d2a3b0cb075b
items:
type: string
roles:
type: array
description: 'UUID da função. The uuid of an existing record in the roles table.'
example:
- 3637ab3b-64aa-3e77-a6a7-c306cb6519a5
items:
type: string
/api/auth/logout:
post:
summary: Logout
operationId: logout
description: 'Logout the current user'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Authentication
/api/auth/preferences:
get:
summary: 'Get user preferences'
operationId: getUserPreferences
description: 'Get all user preferences'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
theme: dark
language: pt-br
notifications:
email: true
sms: false
properties:
theme:
type: string
example: dark
language:
type: string
example: pt-br
notifications:
type: object
properties:
email:
type: boolean
example: true
sms:
type: boolean
example: false
tags:
- Authentication
post:
summary: 'Set user preference'
operationId: setUserPreference
description: 'Set or update a user preference'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Preference saved successfully'
properties:
message:
type: string
example: 'Preference saved successfully'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
value:
type: object
description: ''
example: []
nullable: false
properties: { }
required:
- key
- value
'/api/auth/preferences/{key}':
delete:
summary: 'Delete user preference'
operationId: deleteUserPreference
description: 'Delete a specific user preference'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Preference deleted successfully'
properties:
message:
type: string
example: 'Preference deleted successfully'
tags:
- Authentication
parameters:
-
in: path
name: key
description: ''
example: architecto
required: true
schema:
type: string
/api/bank-accounts/balance-summary:
get:
summary: 'Get bank account balance summary'
operationId: getBankAccountBalanceSummary
description: 'Get the balance summary of all bank accounts'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
totalBalancePositive: number
totalBalanceNegative: number
totalLimit: number
sumLimitAndBalancePositive: number
accounts:
'*':
id: string
bank: string
balance: number
limit: number
properties:
data:
type: object
properties:
totalBalancePositive:
type: string
example: number
totalBalanceNegative:
type: string
example: number
totalLimit:
type: string
example: number
sumLimitAndBalancePositive:
type: string
example: number
accounts:
type: object
properties:
'*':
type: object
properties:
id:
type: string
example: string
bank:
type: string
example: string
balance:
type: string
example: number
limit:
type: string
example: number
tags:
- 'Bank Accounts'
/api/bank-accounts:
get:
summary: 'List bank accounts'
operationId: listBankAccounts
description: 'List all bank accounts'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: name
required: false
schema:
type: string
description: 'Search query.'
example: name
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
agency: '0949'
account: 2170043-2
type: poupança
balance: 4254.04
holder_type: pf
alias: iure
limit: 1223.92
bank:
id: null
name: null
code: null
created_at: null
updated_at: null
-
id: fa253524-dd6a-3fdb-a788-0cabcf134db7
agency: '1627'
account: 5913505-2
type: corrente
balance: 442.88
holder_type: pf
alias: et
limit: 4927.89
bank:
id: null
name: null
code: null
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
agency: '0949'
account: 2170043-2
type: poupança
balance: 4254.04
holder_type: pf
alias: iure
limit: 1223.92
bank:
id: null
name: null
code: null
created_at: null
updated_at: null
-
id: fa253524-dd6a-3fdb-a788-0cabcf134db7
agency: '1627'
account: 5913505-2
type: corrente
balance: 442.88
holder_type: pf
alias: et
limit: 4927.89
bank:
id: null
name: null
code: null
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
agency:
type: string
example: '0949'
account:
type: string
example: 2170043-2
type:
type: string
example: poupança
balance:
type: number
example: 4254.04
holder_type:
type: string
example: pf
alias:
type: string
example: iure
limit:
type: number
example: 1223.92
bank:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
code:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Bank Accounts'
post:
summary: 'Create bank account'
operationId: createBankAccount
description: 'Create a new bank account'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Bank Accounts'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
agency:
type: string
description: Agency.
example: 'Example Agency'
nullable: false
account:
type: string
description: Account.
example: 2170043-2
nullable: false
bank_id:
type: string
description: 'Bank id. The uuid of an existing record in the banks table.'
example: fa253524-dd6a-3fdb-a788-0cabcf134db7
nullable: false
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- corrente
- poupança
holder_type:
type: string
description: 'Holder type.'
example: 'Example Holder type'
nullable: false
enum:
- pf
- pj
alias:
type: string
description: Alias.
example: 'Example Alias'
nullable: false
balance:
type: number
description: Balance.
example: 1.0
nullable: false
limit:
type: number
description: Limit.
example: 1.0
nullable: true
required:
- agency
- account
- bank_id
- type
- holder_type
- alias
- balance
'/api/bank-accounts/{bankAccount}':
put:
summary: 'Update bank account'
operationId: updateBankAccount
description: 'Update a bank account'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Bank Accounts'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
agency:
type: string
description: Agency.
example: 'Example Agency'
nullable: false
account:
type: string
description: Account.
example: 2170043-2
nullable: false
bank_id:
type: string
description: 'Bank id. The uuid of an existing record in the banks table.'
example: fa253524-dd6a-3fdb-a788-0cabcf134db7
nullable: false
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- corrente
- poupança
holder_type:
type: string
description: 'Holder type.'
example: 'Example Holder type'
nullable: false
enum:
- pf
- pj
alias:
type: string
description: Alias.
example: 'Example Alias'
nullable: true
balance:
type: number
description: Balance.
example: 1.0
nullable: false
limit:
type: number
description: Limit.
example: 1.0
nullable: true
get:
summary: 'Show bank account'
operationId: showBankAccount
description: 'Show a bank account'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
agency: '0949'
account: 2170043-2
type: poupança
balance: 4254.04
holder_type: pf
alias: iure
limit: 1223.92
bank:
id: null
name: null
code: null
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
agency:
type: string
example: '0949'
account:
type: string
example: 2170043-2
type:
type: string
example: poupança
balance:
type: number
example: 4254.04
holder_type:
type: string
example: pf
alias:
type: string
example: iure
limit:
type: number
example: 1223.92
bank:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
code:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Bank Accounts'
delete:
summary: 'Delete bank account'
operationId: deleteBankAccount
description: 'Delete a bank account'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Bank Accounts'
parameters:
-
in: path
name: bankAccount
description: ''
example: 1
required: true
schema:
type: integer
/api/banks:
get:
summary: 'List banks'
operationId: listBanks
description: 'List all banks'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: 'Permission name'
required: false
schema:
type: string
description: 'Search query.'
example: 'Permission name'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Cortês Comercial Ltda.'
code: '881'
-
id: 0a9446d3-4070-3757-8926-67a9d2adbc0e
name: 'Urias e Caldeira'
code: '744'
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Cortês Comercial Ltda.'
code: '881'
-
id: 0a9446d3-4070-3757-8926-67a9d2adbc0e
name: 'Urias e Caldeira'
code: '744'
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Cortês Comercial Ltda.'
code:
type: string
example: '881'
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Banks
post:
summary: 'Create bank'
operationId: createBank
description: 'Create a new bank'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Banks
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
code:
type: string
description: 'Code. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Code'
nullable: false
required:
- name
- code
'/api/banks/{bank}':
put:
summary: 'Update bank'
operationId: updateBank
description: 'Update a bank'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Banks
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
code:
type: string
description: 'Code. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Code'
nullable: false
get:
summary: 'Show bank'
operationId: showBank
description: 'Show a bank'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Cortês Comercial Ltda.'
code: '881'
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Cortês Comercial Ltda.'
code:
type: string
example: '881'
tags:
- Banks
delete:
summary: 'Delete bank'
operationId: deleteBank
description: 'Delete a bank'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Banks
parameters:
-
in: path
name: bank
description: 'The bank.'
example: 1
required: true
schema:
type: integer
'/api/cep/{cep}':
get:
summary: 'Search CEP'
operationId: searchCEP
description: 'Search for address information by CEP (Brazilian postal code)'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'CEP found successfully'
type: object
example:
data:
cep: '01001000'
street: 'Praça da Sé'
district: Sé
city: 'São Paulo'
state: SP
complement: 'lado ímpar'
ibge: '3550308'
ddd: '11'
siafi: '7107'
properties:
data:
type: object
properties:
cep:
type: string
example: '01001000'
street:
type: string
example: 'Praça da Sé'
district:
type: string
example: Sé
city:
type: string
example: 'São Paulo'
state:
type: string
example: SP
complement:
type: string
example: 'lado ímpar'
ibge:
type: string
example: '3550308'
ddd:
type: string
example: '11'
siafi:
type: string
example: '7107'
-
description: 'CEP not found'
type: object
example:
data:
cep: '99999999'
street: null
district: null
city: null
state: null
complement: null
ibge: null
ddd: null
siafi: null
properties:
data:
type: object
properties:
cep:
type: string
example: '99999999'
street:
type: string
example: null
district:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
complement:
type: string
example: null
ibge:
type: string
example: null
ddd:
type: string
example: null
siafi:
type: string
example: null
tags:
- CEP
parameters:
-
in: path
name: cep
description: 'CEP to search for'
example: '01001000'
required: true
schema:
type: string
/api/cash-flows/summary:
get:
summary: 'Get cash flow summary'
operationId: getCashFlowSummary
description: 'Get cash flow summary'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Salary
required: false
schema:
type: string
description: 'Search query.'
example: Salary
nullable: true
-
in: query
name: cash_session
description: 'Cash session. The uuid of an existing record in the cash_sessions table.'
example: uuid
required: false
schema:
type: string
description: 'Cash session. The uuid of an existing record in the cash_sessions table.'
example: uuid
nullable: true
-
in: query
name: type
description: 'Cash flow type.'
example: entrada
required: false
schema:
type: string
description: 'Cash flow type.'
example: entrada
nullable: true
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
-
in: query
name: description
description: 'Description .'
example: 'Eius et animi quos velit et.'
required: false
schema:
type: string
description: 'Description .'
example: 'Eius et animi quos velit et.'
nullable: false
-
in: query
name: categories
description: 'The uuid of an existing record in the transaction_categories table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the transaction_categories table.'
example:
- architecto
items:
type: string
-
in: query
name: date_start
description: 'Start date. O campo value deve ser uma data válida.'
example: '2021-01-01'
required: false
schema:
type: string
description: 'Start date. O campo value deve ser uma data válida.'
example: '2021-01-01'
nullable: true
-
in: query
name: date_end
description: 'End date. O campo value deve ser uma data válida.'
example: '2021-01-31'
required: false
schema:
type: string
description: 'End date. O campo value deve ser uma data válida.'
example: '2021-01-31'
nullable: true
-
in: query
name: bank_accounts
description: 'The uuid of an existing record in the bank_accounts table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the bank_accounts table.'
example:
- architecto
items:
type: string
-
in: query
name: customers
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
items:
type: string
-
in: query
name: suppliers
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
items:
type: string
-
in: query
name: works
description: 'The uuid of an existing record in the works table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the works table.'
example:
- architecto
items:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
total_income: number
total_expense: number
total_fee: number
total_balance: number
properties:
data:
type: object
properties:
total_income:
type: string
example: number
total_expense:
type: string
example: number
total_fee:
type: string
example: number
total_balance:
type: string
example: number
tags:
- 'Cash Flow'
/api/cash-flows:
get:
summary: 'List cash flow'
operationId: listCashFlow
description: 'List all cash flow'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Salary
required: false
schema:
type: string
description: 'Search query.'
example: Salary
nullable: true
-
in: query
name: cash_session
description: 'Cash session. The uuid of an existing record in the cash_sessions table.'
example: uuid
required: false
schema:
type: string
description: 'Cash session. The uuid of an existing record in the cash_sessions table.'
example: uuid
nullable: true
-
in: query
name: type
description: 'Cash flow type.'
example: entrada
required: false
schema:
type: string
description: 'Cash flow type.'
example: entrada
nullable: true
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
-
in: query
name: description
description: 'Description .'
example: 'Eius et animi quos velit et.'
required: false
schema:
type: string
description: 'Description .'
example: 'Eius et animi quos velit et.'
nullable: false
-
in: query
name: categories
description: 'The uuid of an existing record in the transaction_categories table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the transaction_categories table.'
example:
- architecto
items:
type: string
-
in: query
name: date_start
description: 'Start date. O campo value deve ser uma data válida.'
example: '2021-01-01'
required: false
schema:
type: string
description: 'Start date. O campo value deve ser uma data válida.'
example: '2021-01-01'
nullable: true
-
in: query
name: date_end
description: 'End date. O campo value deve ser uma data válida.'
example: '2021-01-31'
required: false
schema:
type: string
description: 'End date. O campo value deve ser uma data válida.'
example: '2021-01-31'
nullable: true
-
in: query
name: bank_accounts
description: 'The uuid of an existing record in the bank_accounts table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the bank_accounts table.'
example:
- architecto
items:
type: string
-
in: query
name: customers
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
items:
type: string
-
in: query
name: suppliers
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
items:
type: string
-
in: query
name: works
description: 'The uuid of an existing record in the works table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the works table.'
example:
- architecto
items:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: a4855dc5-0acb-33c3-b921-f4291f719ca0
type: tarifa
amount: -8754.55
description: 'Et fugiat sunt nihil accusantium.'
transaction_date: '1990-07-03T03:00:00.000000Z'
transaction_category:
id: null
name: null
type: null
created_at: null
updated_at: null
-
id: cd1eb1ea-4697-3b9a-9dd0-988044a83af6
type: entrada
amount: 6303.26
description: 'Provident perspiciatis quo omnis nostrum aut adipisci quidem.'
transaction_date: '2015-01-19T02:00:00.000000Z'
transaction_category:
id: null
name: null
type: null
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: a4855dc5-0acb-33c3-b921-f4291f719ca0
type: tarifa
amount: -8754.55
description: 'Et fugiat sunt nihil accusantium.'
transaction_date: '1990-07-03T03:00:00.000000Z'
transaction_category:
id: null
name: null
type: null
created_at: null
updated_at: null
-
id: cd1eb1ea-4697-3b9a-9dd0-988044a83af6
type: entrada
amount: 6303.26
description: 'Provident perspiciatis quo omnis nostrum aut adipisci quidem.'
transaction_date: '2015-01-19T02:00:00.000000Z'
transaction_category:
id: null
name: null
type: null
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: a4855dc5-0acb-33c3-b921-f4291f719ca0
type:
type: string
example: tarifa
amount:
type: number
example: -8754.55
description:
type: string
example: 'Et fugiat sunt nihil accusantium.'
transaction_date:
type: string
example: '1990-07-03T03:00:00.000000Z'
transaction_category:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
type:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Cash Flow'
post:
summary: 'Create cash flow'
operationId: createCashFlow
description: 'Create a new cash flow'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Cash Flow'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
cash_session_id:
type: string
description: 'Cash session id. The uuid of an existing record in the cash_sessions table.'
example: bfc53181-d647-36b2-9080-f9c2b76006f4
nullable: false
transaction_category_id:
type: string
description: 'Transaction category id. The uuid of an existing record in the transaction_categories table.'
example: fa253524-dd6a-3fdb-a788-0cabcf134db7
nullable: false
bank_account_id:
type: string
description: 'Bank account id. The uuid of an existing record in the bank_accounts table.'
example: 45d1e1f4-e38d-3971-92c7-6d933b3b67fa
nullable: true
customer_id:
type: string
description: 'Customer id. The uuid of an existing record in the customers table.'
example: 8c352249-2535-3e45-8de4-d6620458a778
nullable: true
supplier_id:
type: string
description: 'Supplier id. The uuid of an existing record in the suppliers table.'
example: 61733391-0acb-3d07-80fa-6a559e639b13
nullable: true
work_id:
type: string
description: 'Work id. The uuid of an existing record in the works table.'
example: 338aa13c-ee9b-3c59-9dad-eeca56f85ba2
nullable: true
amount:
type: number
description: Amount.
example: 1.0
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: true
transaction_date:
type: string
description: 'Transaction date. O campo value deve ser uma data válida.'
example: '2024-01-01'
nullable: false
required:
- type
- cash_session_id
- amount
- transaction_date
'/api/cash-flows/{cashFlow}':
get:
summary: 'Show cash flow'
operationId: showCashFlow
description: 'Show a cash flow'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
type: transferência
amount: -6620.31
description: 'Commodi incidunt iure odit.'
transaction_date: '1977-08-15T03:00:00.000000Z'
transaction_category:
id: null
name: null
type: null
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
type:
type: string
example: transferência
amount:
type: number
example: -6620.31
description:
type: string
example: 'Commodi incidunt iure odit.'
transaction_date:
type: string
example: '1977-08-15T03:00:00.000000Z'
transaction_category:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
type:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Cash Flow'
put:
summary: 'Update cash flow'
operationId: updateCashFlow
description: 'Update a cash flow'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Cash Flow'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
cash_session_id:
type: string
description: 'Cash session id. The uuid of an existing record in the cash_sessions table.'
example: bfc53181-d647-36b2-9080-f9c2b76006f4
nullable: false
transaction_category_id:
type: string
description: 'Transaction category id. The uuid of an existing record in the transaction_categories table.'
example: fa253524-dd6a-3fdb-a788-0cabcf134db7
nullable: false
bank_account_id:
type: string
description: 'Bank account id. The uuid of an existing record in the bank_accounts table.'
example: 45d1e1f4-e38d-3971-92c7-6d933b3b67fa
nullable: true
customer_id:
type: string
description: 'Customer id. The uuid of an existing record in the customers table.'
example: 8c352249-2535-3e45-8de4-d6620458a778
nullable: true
supplier_id:
type: string
description: 'Supplier id. The uuid of an existing record in the suppliers table.'
example: 61733391-0acb-3d07-80fa-6a559e639b13
nullable: true
work_id:
type: string
description: 'Work id. The uuid of an existing record in the works table.'
example: 338aa13c-ee9b-3c59-9dad-eeca56f85ba2
nullable: true
amount:
type: number
description: Amount.
example: 1.0
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: true
transaction_date:
type: string
description: 'Transaction date. O campo value deve ser uma data válida.'
example: '2024-01-01'
nullable: false
delete:
summary: 'Delete cash flow'
operationId: deleteCashFlow
description: 'Delete a cash flow'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Cash Flow'
parameters:
-
in: path
name: cashFlow
description: ''
example: 1
required: true
schema:
type: integer
/api/cash-sessions:
get:
summary: 'List cash session'
operationId: listCashSession
description: 'List all cash session'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by: null
opened_at: '2023-05-15T14:37:50.000000Z'
closed_by: null
closed_at: '2020-05-23T06:21:42.000000Z'
opening_balance: 3669.26
closing_balance: 6620.31
total_income: 0
total_expense: 0
total_balance: 0
status: Fechado
created_at: '1983-05-17T03:07:42.000000Z'
updated_at: '1990-07-05T09:27:10.000000Z'
-
id: fa253524-dd6a-3fdb-a788-0cabcf134db7
opened_by: null
opened_at: '2019-04-24T14:23:29.000000Z'
closed_by: null
closed_at: '2009-07-27T04:40:06.000000Z'
opening_balance: 8853.25
closing_balance: 275.37
total_income: 0
total_expense: 0
total_balance: 0
status: Fechado
created_at: '2003-07-15T08:01:07.000000Z'
updated_at: '2019-08-30T13:55:51.000000Z'
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by: null
opened_at: '2023-05-15T14:37:50.000000Z'
closed_by: null
closed_at: '2020-05-23T06:21:42.000000Z'
opening_balance: 3669.26
closing_balance: 6620.31
total_income: 0
total_expense: 0
total_balance: 0
status: Fechado
created_at: '1983-05-17T03:07:42.000000Z'
updated_at: '1990-07-05T09:27:10.000000Z'
-
id: fa253524-dd6a-3fdb-a788-0cabcf134db7
opened_by: null
opened_at: '2019-04-24T14:23:29.000000Z'
closed_by: null
closed_at: '2009-07-27T04:40:06.000000Z'
opening_balance: 8853.25
closing_balance: 275.37
total_income: 0
total_expense: 0
total_balance: 0
status: Fechado
created_at: '2003-07-15T08:01:07.000000Z'
updated_at: '2019-08-30T13:55:51.000000Z'
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by:
type: string
example: null
opened_at:
type: string
example: '2023-05-15T14:37:50.000000Z'
closed_by:
type: string
example: null
closed_at:
type: string
example: '2020-05-23T06:21:42.000000Z'
opening_balance:
type: number
example: 3669.26
closing_balance:
type: number
example: 6620.31
total_income:
type: integer
example: 0
total_expense:
type: integer
example: 0
total_balance:
type: integer
example: 0
status:
type: string
example: Fechado
created_at:
type: string
example: '1983-05-17T03:07:42.000000Z'
updated_at:
type: string
example: '1990-07-05T09:27:10.000000Z'
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Cash Session'
/api/cash-sessions/open:
post:
summary: 'Open cash session'
operationId: openCashSession
description: 'Open a new cash session'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by: null
opened_at: '2023-05-15T14:37:50.000000Z'
closed_by: null
closed_at: '2020-05-23T06:21:42.000000Z'
opening_balance: 3669.26
closing_balance: 6620.31
total_income: 0
total_expense: 0
total_balance: 0
status: Fechado
created_at: '1983-05-17T03:07:42.000000Z'
updated_at: '1990-07-05T09:27:10.000000Z'
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by:
type: string
example: null
opened_at:
type: string
example: '2023-05-15T14:37:50.000000Z'
closed_by:
type: string
example: null
closed_at:
type: string
example: '2020-05-23T06:21:42.000000Z'
opening_balance:
type: number
example: 3669.26
closing_balance:
type: number
example: 6620.31
total_income:
type: integer
example: 0
total_expense:
type: integer
example: 0
total_balance:
type: integer
example: 0
status:
type: string
example: Fechado
created_at:
type: string
example: '1983-05-17T03:07:42.000000Z'
updated_at:
type: string
example: '1990-07-05T09:27:10.000000Z'
tags:
- 'Cash Session'
'/api/cash-sessions/close/{uuid}':
post:
summary: 'Close cash session'
operationId: closeCashSession
description: 'Close a cash session'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Cash Session'
parameters:
-
in: path
name: uuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/cash-sessions/{uuid}':
get:
summary: 'Show cash session'
operationId: showCashSession
description: 'Show a cash session'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by: null
opened_at: '2023-05-15T14:37:50.000000Z'
closed_by: null
closed_at: '2020-05-23T06:21:42.000000Z'
opening_balance: 3669.26
closing_balance: 6620.31
total_income: 0
total_expense: 0
total_balance: 0
status: Fechado
created_at: '1983-05-17T03:07:42.000000Z'
updated_at: '1990-07-05T09:27:10.000000Z'
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
opened_by:
type: string
example: null
opened_at:
type: string
example: '2023-05-15T14:37:50.000000Z'
closed_by:
type: string
example: null
closed_at:
type: string
example: '2020-05-23T06:21:42.000000Z'
opening_balance:
type: number
example: 3669.26
closing_balance:
type: number
example: 6620.31
total_income:
type: integer
example: 0
total_expense:
type: integer
example: 0
total_balance:
type: integer
example: 0
status:
type: string
example: Fechado
created_at:
type: string
example: '1983-05-17T03:07:42.000000Z'
updated_at:
type: string
example: '1990-07-05T09:27:10.000000Z'
tags:
- 'Cash Session'
delete:
summary: 'Delete cash session'
operationId: deleteCashSession
description: 'Delete a cash session'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Cash Session'
parameters:
-
in: path
name: uuid
description: ''
example: 1
required: true
schema:
type: integer
/api/customers:
get:
summary: 'List customers'
operationId: listCustomers
description: 'List all customers'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: 'Customer name'
required: false
schema:
type: string
description: 'Search query.'
example: 'Customer name'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
email: yohanna44@example.org
phone: '(94) 94866-9606'
document: 790.915.066-01
type: pj
responsible: 'Sra. Katherine de Arruda'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents_count: 0
-
id: c71cb930-01f3-381c-9172-e1c70e63388f
name: 'Liz Sueli Pacheco Neto'
email: jrosa@example.net
phone: '(49) 3996-5127'
document: 869.737.788-95
type: pf
responsible: 'Sr. Rodrigo Gil'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents_count: 0
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
email: yohanna44@example.org
phone: '(94) 94866-9606'
document: 790.915.066-01
type: pj
responsible: 'Sra. Katherine de Arruda'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents_count: 0
-
id: c71cb930-01f3-381c-9172-e1c70e63388f
name: 'Liz Sueli Pacheco Neto'
email: jrosa@example.net
phone: '(49) 3996-5127'
document: 869.737.788-95
type: pf
responsible: 'Sr. Rodrigo Gil'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents_count: 0
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
email:
type: string
example: yohanna44@example.org
phone:
type: string
example: '(94) 94866-9606'
document:
type: string
example: 790.915.066-01
type:
type: string
example: pj
responsible:
type: string
example: 'Sra. Katherine de Arruda'
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
documents_count:
type: integer
example: 0
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Customers
post:
summary: 'Create customer'
operationId: createCustomer
description: 'Create a new customer'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Customers
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
phone:
type: string
description: Telefone.
example: '(11) 99999-9999'
nullable: false
document:
type: string
description: CPF/CNPJ.
example: 'Example Document'
nullable: false
type:
type: string
description: Tipo.
example: 'Example Type'
nullable: false
enum:
- pf
- pj
responsible:
type: string
description: Responsável.
example: 'Example Responsible'
nullable: true
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
address:
type: object
description: Endereço.
example:
- example1
- example2
nullable: false
properties:
street:
type: string
description: Rua.
example: 'Example Address street'
nullable: false
number:
type: string
description: Número.
example: 'Example Address number'
nullable: false
complement:
type: string
description: Complemento.
example: 'Example Address complement'
nullable: false
neighborhood:
type: string
description: Bairro.
example: 'Example Address neighborhood'
nullable: false
city:
type: string
description: Cidade.
example: 'Example Address city'
nullable: false
state:
type: string
description: Estado.
example: 'Example Address state'
nullable: false
zip_code:
type: string
description: CEP.
example: 'Example Address zip code'
nullable: false
required:
- street
- number
- neighborhood
- city
- state
- zip_code
required:
- name
- document
- type
- address
'/api/customers/{id}':
get:
summary: 'Get customer'
operationId: getCustomer
description: 'Get a customer'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
email: yohanna44@example.org
phone: '(94) 94866-9606'
document: 790.915.066-01
type: pj
responsible: 'Sra. Katherine de Arruda'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents_count: 0
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
email:
type: string
example: yohanna44@example.org
phone:
type: string
example: '(94) 94866-9606'
document:
type: string
example: 790.915.066-01
type:
type: string
example: pj
responsible:
type: string
example: 'Sra. Katherine de Arruda'
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
documents_count:
type: integer
example: 0
tags:
- Customers
put:
summary: 'Update customer'
operationId: updateCustomer
description: 'Update a customer'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Customers
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
phone:
type: string
description: Telefone.
example: '(11) 99999-9999'
nullable: false
document:
type: string
description: CPF/CNPJ.
example: 'Example Document'
nullable: false
type:
type: string
description: Tipo.
example: 'Example Type'
nullable: false
enum:
- pf
- pj
responsible:
type: string
description: Responsável.
example: 'Example Responsible'
nullable: true
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
address:
type: object
description: Endereço.
example:
- example1
- example2
nullable: false
properties:
street:
type: string
description: Rua.
example: 'Example Address street'
nullable: false
number:
type: string
description: Número.
example: 'Example Address number'
nullable: false
complement:
type: string
description: Complemento.
example: 'Example Address complement'
nullable: false
neighborhood:
type: string
description: Bairro.
example: 'Example Address neighborhood'
nullable: false
city:
type: string
description: Cidade.
example: 'Example Address city'
nullable: false
state:
type: string
description: Estado.
example: 'Example Address state'
nullable: false
zip_code:
type: string
description: CEP.
example: 'Example Address zip code'
nullable: false
parameters:
-
in: path
name: id
description: 'The ID of the customer.'
example: 1
required: true
schema:
type: integer
-
in: path
name: customer
description: 'Customer ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/customers/{customer}':
delete:
summary: 'Delete customer'
operationId: deleteCustomer
description: 'Delete a customer'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Customers
parameters:
-
in: path
name: customer
description: 'Customer ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/document-categories:
get:
summary: 'List document categories'
operationId: listDocumentCategories
description: 'List all document categories'
parameters:
-
in: query
name: q
description: 'Search query.'
example: Contracts
required: false
schema:
type: string
description: 'Search query.'
example: Contracts
nullable: true
-
in: query
name: module
description: 'Filter by module.'
example: employee
required: false
schema:
type: string
description: 'Filter by module.'
example: employee
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
description: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
module: document
-
id: 690f4e21-70e0-3516-8ade-d6c679dacb9e
name: 'Juliano Cléber Dias Filho'
description: 'Fugit qui repudiandae laboriosam est alias. Ratione nemo voluptate accusamus ut et recusandae modi rerum. Repellendus assumenda et tenetur ab reiciendis.'
module: document
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
description: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
module: document
-
id: 690f4e21-70e0-3516-8ade-d6c679dacb9e
name: 'Juliano Cléber Dias Filho'
description: 'Fugit qui repudiandae laboriosam est alias. Ratione nemo voluptate accusamus ut et recusandae modi rerum. Repellendus assumenda et tenetur ab reiciendis.'
module: document
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
description:
type: string
example: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
module:
type: string
example: document
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Document Categories'
post:
summary: 'Create document category'
operationId: createDocumentCategory
description: 'Create a new document category'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Document Categories'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: false
module:
type: string
description: Module.
example: 'Example Module'
nullable: false
required:
- name
- module
'/api/document-categories/{documentCategory}':
get:
summary: 'Show document category'
operationId: showDocumentCategory
description: 'Show a document category'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
description: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
module: document
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
description:
type: string
example: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
module:
type: string
example: document
tags:
- 'Document Categories'
put:
summary: 'Update document category'
operationId: updateDocumentCategory
description: 'Update a document category'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Document Categories'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: false
module:
type: string
description: Module.
example: 'Example Module'
nullable: false
required:
- name
- module
delete:
summary: 'Delete document category'
operationId: deleteDocumentCategory
description: 'Delete a document category'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Document Categories'
parameters:
-
in: path
name: documentCategory
description: 'Document category UUID'
example: architecto
required: true
schema:
type: string
/api/documents:
get:
summary: 'List documents'
operationId: listDocuments
description: 'List all documents'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: ''
example: 'Document name'
required: false
schema:
type: string
description: ''
example: 'Document name'
nullable: true
-
in: query
name: categories
description: 'The uuid of an existing record in the document_categories table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the document_categories table.'
example:
- architecto
items:
type: string
-
in: query
name: documentable_type
description: 'Type of the related documentable entity. The type of an existing record in the documentables table.'
example: architecto
required: false
schema:
type: string
description: 'Type of the related documentable entity. The type of an existing record in the documentables table.'
example: architecto
nullable: true
-
in: query
name: customers
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the customers table.'
example:
- architecto
items:
type: string
-
in: query
name: suppliers
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
required: false
schema:
type: array
description: 'The uuid of an existing record in the suppliers table.'
example:
- architecto
items:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1cb84941-0d38-3f36-a303-52c729118062
name: 'Dr. Aline Uchoa Marinho'
file:
id: null
url: null
extension: null
created_at: null
updated_at: null
-
id: 0aa2596d-721f-3edf-b368-2ae1f0283e9a
name: 'Dr. Augusto Serna Filho'
file:
id: null
url: null
extension: null
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: 1cb84941-0d38-3f36-a303-52c729118062
name: 'Dr. Aline Uchoa Marinho'
file:
id: null
url: null
extension: null
created_at: null
updated_at: null
-
id: 0aa2596d-721f-3edf-b368-2ae1f0283e9a
name: 'Dr. Augusto Serna Filho'
file:
id: null
url: null
extension: null
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: 1cb84941-0d38-3f36-a303-52c729118062
name:
type: string
example: 'Dr. Aline Uchoa Marinho'
file:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
extension:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Documents
post:
summary: 'Create document'
operationId: createDocument
description: 'Create a new document'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Documents
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
category_id:
type: string
description: 'Categoria. The uuid of an existing record in the document_categories table.'
example: bfc53181-d647-36b2-9080-f9c2b76006f4
nullable: false
file:
type: object
description: Arquivo.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho do arquivo. This field is required when file is present.'
example: 'Example File path'
nullable: false
name:
type: string
description: 'Nome do arquivo.'
example: 'Example Name'
nullable: false
extension:
type: string
description: 'Extensão do arquivo.'
example: 'Example File extension'
nullable: false
size:
type: string
description: 'Tamanho do arquivo.'
example: 'Example File size'
nullable: false
required:
- name
- extension
- size
documentable_type:
type: string
description: 'Tipo de relacionado do documento.'
example: 'Example Documentable type'
nullable: false
enum:
- customer
- work
- work_location
- supplier
- employee
documentable_id:
type: string
description: 'Relacionado do documento.'
example: 'Example Documentable id'
nullable: false
required:
- name
- category_id
- file
- documentable_type
- documentable_id
'/api/documents/{id}':
put:
summary: 'Update document'
operationId: updateDocument
description: 'Update a document'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Documents
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
category_id:
type: string
description: 'Categoria. The uuid of an existing record in the document_categories table.'
example: bfc53181-d647-36b2-9080-f9c2b76006f4
nullable: false
file:
type: object
description: Arquivo.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho do arquivo. This field is required when file is present.'
example: 'Example File path'
nullable: false
name:
type: string
description: 'Nome do arquivo.'
example: 'Example Name'
nullable: false
extension:
type: string
description: 'Extensão do arquivo.'
example: 'Example File extension'
nullable: false
size:
type: string
description: 'Tamanho do arquivo.'
example: 'Example File size'
nullable: false
documentable_type:
type: string
description: 'Documentable type.'
example: 'Example Documentable type'
nullable: false
enum:
- customer
- work
- work_location
- supplier
- employee
documentable_id:
type: string
description: 'Documentable id.'
example: 'Example Documentable id'
nullable: false
parameters:
-
in: path
name: id
description: 'The ID of the document.'
example: 1
required: true
schema:
type: integer
-
in: path
name: document
description: 'Document ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/documents/{document}':
delete:
summary: 'Delete document'
operationId: deleteDocument
description: 'Delete a document'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Documents
parameters:
-
in: path
name: document
description: 'Document ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/employee-roles:
get:
summary: 'List employee roles'
operationId: listEmployeeRoles
description: 'List all employee roles'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Manager
required: false
schema:
type: string
description: 'Search query.'
example: Manager
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1a8810c7-a4f4-4b78-86a2-e51fc330acff
name: aut
description: 'Nostrum qui commodi incidunt iure.'
created_at: null
updated_at: null
-
id: 70e60e79-6186-4ed8-b1ae-046e6425860c
name: odit
description: 'Modi ipsum nostrum omnis autem et.'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: 1a8810c7-a4f4-4b78-86a2-e51fc330acff
name: aut
description: 'Nostrum qui commodi incidunt iure.'
created_at: null
updated_at: null
-
id: 70e60e79-6186-4ed8-b1ae-046e6425860c
name: odit
description: 'Modi ipsum nostrum omnis autem et.'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: 1a8810c7-a4f4-4b78-86a2-e51fc330acff
name:
type: string
example: aut
description:
type: string
example: 'Nostrum qui commodi incidunt iure.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Employee Roles'
post:
summary: 'Create employee role'
operationId: createEmployeeRole
description: 'Create a new employee role'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Employee Roles'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- name
'/api/employee-roles/{employeeRole}':
get:
summary: 'Show employee role'
operationId: showEmployeeRole
description: 'Show an employee role'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: b634995e-2503-43ac-9e6f-71b9ec450d76
name: aut
description: 'Nostrum qui commodi incidunt iure.'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: b634995e-2503-43ac-9e6f-71b9ec450d76
name:
type: string
example: aut
description:
type: string
example: 'Nostrum qui commodi incidunt iure.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Employee Roles'
put:
summary: 'Update employee role'
operationId: updateEmployeeRole
description: 'Update an employee role'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Employee Roles'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- name
delete:
summary: 'Delete employee role'
operationId: deleteEmployeeRole
description: 'Delete an employee role'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Employee Roles'
parameters:
-
in: path
name: employeeRole
description: 'Employee Role UUID'
example: architecto
required: true
schema:
type: string
/api/employees:
get:
summary: 'List employees'
operationId: listEmployees
description: 'List all employees'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: 'João Silva'
required: false
schema:
type: string
description: 'Search query.'
example: 'João Silva'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: a2359255-77c0-4229-b524-f2d4df1b46ab
name: 'Rodrigo Leon'
cpf: 421.700.432-81
rg: '590214902'
ctps: null
phone: null
birthdate: '1982-08-07'
email: valdez.jacomo@example.org
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
employee_role:
id: null
name: null
created_at: null
updated_at: null
-
id: 4d54c222-da9c-4039-ba84-14ec0d21fa0d
name: 'Elaine Kamila Serna Neto'
cpf: 323.759.947-24
rg: '504415490'
ctps: '691282316'
phone: '(93) 3757-0170'
birthdate: null
email: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
employee_role:
id: null
name: null
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: a2359255-77c0-4229-b524-f2d4df1b46ab
name: 'Rodrigo Leon'
cpf: 421.700.432-81
rg: '590214902'
ctps: null
phone: null
birthdate: '1982-08-07'
email: valdez.jacomo@example.org
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
employee_role:
id: null
name: null
created_at: null
updated_at: null
-
id: 4d54c222-da9c-4039-ba84-14ec0d21fa0d
name: 'Elaine Kamila Serna Neto'
cpf: 323.759.947-24
rg: '504415490'
ctps: '691282316'
phone: '(93) 3757-0170'
birthdate: null
email: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
employee_role:
id: null
name: null
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: a2359255-77c0-4229-b524-f2d4df1b46ab
name:
type: string
example: 'Rodrigo Leon'
cpf:
type: string
example: 421.700.432-81
rg:
type: string
example: '590214902'
ctps:
type: string
example: null
phone:
type: string
example: null
birthdate:
type: string
example: '1982-08-07'
email:
type: string
example: valdez.jacomo@example.org
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
employee_role:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Employees
post:
summary: 'Create employee'
operationId: createEmployee
description: 'Create a new employee'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Employees
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
cpf:
type: string
description: 'O campo value deve ser 14 caracteres.'
example: ngzmiyvdljnikh
nullable: false
rg:
type: string
description: 'O campo value não pode ser superior a 20 caracteres.'
example: waykcmyuwpwlvqwr
nullable: true
ctps:
type: string
description: 'O campo value não pode ser superior a 20 caracteres.'
example: sitcpscqldzsnrwt
nullable: true
phone:
type: string
description: 'O campo value não pode ser superior a 20 caracteres.'
example: ujwvlxjklqppwqbe
nullable: true
birthdate:
type: string
description: 'O campo value deve ser uma data válida.'
example: '2025-11-14T16:40:48'
nullable: true
email:
type: string
description: 'O campo value deve ser um endereço de e-mail válido.'
example: kutch.cynthia@example.org
nullable: true
employee_role_id:
type: string
description: 'The uuid of an existing record in the employee_roles table.'
example: architecto
nullable: false
address:
type: object
description: ''
example: null
nullable: true
properties:
street:
type: string
description: ''
example: null
nullable: true
number:
type: string
description: ''
example: null
nullable: true
complement:
type: string
description: ''
example: null
nullable: true
neighborhood:
type: string
description: ''
example: null
nullable: true
city:
type: string
description: ''
example: null
nullable: true
state:
type: string
description: ''
example: null
nullable: true
zip_code:
type: string
description: ''
example: null
nullable: true
required:
- name
- cpf
- employee_role_id
'/api/employees/{id}':
get:
summary: 'Show employee'
operationId: showEmployee
description: 'Show an employee'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 88a8a182-73e1-4523-825d-a1d22d8fcf28
name: 'Rodrigo Leon'
cpf: 421.700.432-81
rg: '590214902'
ctps: null
phone: null
birthdate: '1982-08-07'
email: valdez.jacomo@example.org
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
employee_role:
id: null
name: null
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: 88a8a182-73e1-4523-825d-a1d22d8fcf28
name:
type: string
example: 'Rodrigo Leon'
cpf:
type: string
example: 421.700.432-81
rg:
type: string
example: '590214902'
ctps:
type: string
example: null
phone:
type: string
example: null
birthdate:
type: string
example: '1982-08-07'
email:
type: string
example: valdez.jacomo@example.org
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
employee_role:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- Employees
put:
summary: 'Update employee'
operationId: updateEmployee
description: 'Update an employee'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Employees
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
cpf:
type: string
description: 'O campo value deve ser 14 caracteres.'
example: ngzmiyvdljnikh
nullable: false
rg:
type: string
description: 'O campo value não pode ser superior a 20 caracteres.'
example: waykcmyuwpwlvqwr
nullable: true
ctps:
type: string
description: 'O campo value não pode ser superior a 20 caracteres.'
example: sitcpscqldzsnrwt
nullable: true
phone:
type: string
description: 'O campo value não pode ser superior a 20 caracteres.'
example: ujwvlxjklqppwqbe
nullable: true
birthdate:
type: string
description: 'O campo value deve ser uma data válida.'
example: '2025-11-14T16:40:48'
nullable: true
email:
type: string
description: 'O campo value deve ser um endereço de e-mail válido.'
example: kutch.cynthia@example.org
nullable: true
employee_role_id:
type: string
description: 'The uuid of an existing record in the employee_roles table.'
example: architecto
nullable: false
address:
type: object
description: ''
example: null
nullable: false
properties:
street:
type: string
description: ''
example: null
nullable: false
number:
type: string
description: ''
example: null
nullable: false
complement:
type: string
description: ''
example: null
nullable: false
neighborhood:
type: string
description: ''
example: null
nullable: false
city:
type: string
description: ''
example: null
nullable: false
state:
type: string
description: ''
example: null
nullable: false
zip_code:
type: string
description: ''
example: null
nullable: false
required:
- name
- cpf
- employee_role_id
parameters:
-
in: path
name: id
description: 'The ID of the employee.'
example: 1
required: true
schema:
type: integer
-
in: path
name: employee
description: 'Employee ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/employees/{employee}':
delete:
summary: 'Delete employee'
operationId: deleteEmployee
description: 'Delete an employee'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Employees
parameters:
-
in: path
name: employee
description: 'Employee ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/reports/cash-flow:
get:
summary: ''
operationId: getApiReportsCashFlow
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
security: []
/api/reports/accounts-payable-receivable:
get:
summary: ''
operationId: getApiReportsAccountsPayableReceivable
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
security: []
/api/up:
get:
summary: ''
operationId: getApiUp
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'API is running'
properties:
message:
type: string
example: 'API is running'
tags:
- Endpoints
security: []
'/api/files/{uuid}':
delete:
summary: 'Delete file'
operationId: deleteFile
description: 'Delete a file'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Files
parameters:
-
in: path
name: uuid
description: ''
example: 1
required: true
schema:
type: integer
'/api/files/{uuid}/info':
get:
summary: 'Get file info'
operationId: getFileInfo
description: 'Get file information'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
uuid: string
name: string
size: integer
type: string
extension: string
path: string
properties:
uuid:
type: string
example: string
name:
type: string
example: string
size:
type: string
example: integer
type:
type: string
example: string
extension:
type: string
example: string
path:
type: string
example: string
tags:
- Files
parameters:
-
in: path
name: uuid
description: ''
example: 1
required: true
schema:
type: integer
'/api/files/{uuid}/download':
get:
summary: 'Generate download URL'
operationId: generateDownloadURL
description: 'Generate a signed URL for downloading a file'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
url: string
filename: string
size: integer
type: string
properties:
url:
type: string
example: string
filename:
type: string
example: string
size:
type: string
example: integer
type:
type: string
example: string
tags:
- Files
parameters:
-
in: path
name: uuid
description: 'The UUID of the file to download'
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
/api/files/generate-upload-url:
post:
summary: 'Generate upload URL'
operationId: generateUploadURL
description: 'Generate a signed URL for uploading a file'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
url: string
path: string
headers: array
properties:
url:
type: string
example: string
path:
type: string
example: string
headers:
type: string
example: array
tags:
- Files
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
path:
type: string
description: Path.
example: 'Example Path'
nullable: false
mimetype:
type: string
description: Mimetype.
example: 'Example Mimetype'
nullable: false
public:
type: boolean
description: Public.
example: false
nullable: false
required:
- path
- mimetype
- public
/api/files/generate-bulk-upload-url:
post:
summary: 'Generate bulk upload URL'
operationId: generateBulkUploadURL
description: 'Generate signed URLs for uploading multiple files'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
url: string
path: string
headers: array
tags:
- Files
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
files:
type: array
description: Files.
example:
- null
- null
items:
type: object
properties:
path:
type: string
description: 'Files * path.'
example: 'Example Files * path'
nullable: false
mimetype:
type: string
description: 'Files * mimetype.'
example: 'Example Files * mimetype'
nullable: false
public:
type: boolean
description: 'Files * public.'
example: false
nullable: false
required:
- path
- mimetype
- public
required:
- files
/api/imports/nfe/products:
post:
summary: 'Create NFe Import'
operationId: createNFeImport
description: 'Upload and process a Brazilian NFe (Nota Fiscal Eletrônica) XML file. The file should be uploaded to S3 first, then this endpoint processes it asynchronously.'
parameters: []
responses:
201:
description: 'Import created successfully'
content:
application/json:
schema:
type: object
example:
import_id: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status: pending
channel: import-progress.9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
properties:
import_id:
type: string
example: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status:
type: string
example: pending
channel:
type: string
example: import-progress.9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
404:
description: 'File not found in S3'
content:
application/json:
schema:
type: object
example:
error: 'Arquivo não encontrado no S3'
properties:
error:
type: string
example: 'Arquivo não encontrado no S3'
422:
description: 'Invalid XML or not a valid NFe'
content:
application/json:
schema:
type: object
example:
error: 'Arquivo XML inválido ou não é uma NFe'
properties:
error:
type: string
example: 'Arquivo XML inválido ou não é uma NFe'
tags:
- Import
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
s3_file_path:
type: string
description: 'Path to the NFe XML file in S3 storage'
example: imports/nfe_12345.xml
nullable: false
original_filename:
type: string
description: 'Original filename of the uploaded NFe'
example: nota_fiscal_001.xml
nullable: false
import_type:
type: string
description: 'Type of import (currently only "nfe" is supported)'
example: nfe
nullable: false
required:
- s3_file_path
- original_filename
- import_type
/api/imports:
get:
summary: 'List User Imports'
operationId: listUserImports
description: 'List all NFe imports for the authenticated user with filtering and pagination options.'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: status
description: 'Filter imports by status (pending, processing, completed, failed).'
example: completed
required: false
schema:
type: string
description: 'Filter imports by status (pending, processing, completed, failed).'
example: completed
nullable: false
enum:
- pending
- processing
- completed
- failed
-
in: query
name: import_type
description: 'Filter imports by type.'
example: nfe
required: false
schema:
type: string
description: 'Filter imports by type.'
example: nfe
nullable: false
enum:
- initial_load
- stock_update
- nfe
-
in: query
name: per_page
description: 'Number of imports per page. O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 15
required: false
schema:
type: integer
description: 'Number of imports per page. O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 15
nullable: false
responses:
200:
description: 'Imports retrieved successfully'
content:
application/json:
schema:
type: object
example:
data:
-
id: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status: completed
import_type: nfe
original_filename: nota_fiscal_001.xml
nfe_number: '123456'
nfe_date: '2023-12-01'
total_products: 15
processed_products: 15
progress_percentage: 100.0
imported_at: '2023-12-01T10:30:00.000Z'
supplier:
name: 'Fornecedor Ltda'
document: '12345678000199'
properties:
data:
type: array
example:
-
id: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status: completed
import_type: nfe
original_filename: nota_fiscal_001.xml
nfe_number: '123456'
nfe_date: '2023-12-01'
total_products: 15
processed_products: 15
progress_percentage: 100
imported_at: '2023-12-01T10:30:00.000Z'
supplier:
name: 'Fornecedor Ltda'
document: '12345678000199'
items:
type: object
properties:
id:
type: string
example: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status:
type: string
example: completed
import_type:
type: string
example: nfe
original_filename:
type: string
example: nota_fiscal_001.xml
nfe_number:
type: string
example: '123456'
nfe_date:
type: string
example: '2023-12-01'
total_products:
type: integer
example: 15
processed_products:
type: integer
example: 15
progress_percentage:
type: number
example: 100.0
imported_at:
type: string
example: '2023-12-01T10:30:00.000Z'
supplier:
type: object
properties:
name:
type: string
example: 'Fornecedor Ltda'
document:
type: string
example: '12345678000199'
tags:
- Import
'/api/imports/{importId}':
get:
summary: 'Get Import Details'
operationId: getImportDetails
description: 'Retrieve detailed information about a specific NFe import, including progress and supplier data.'
parameters: []
responses:
200:
description: 'Import details retrieved successfully'
content:
application/json:
schema:
type: object
example:
import_id: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status: completed
import_type: nfe
original_filename: nota_fiscal_001.xml
nfe_number: '123456'
nfe_date: '2023-12-01'
total_products: 15
processed_products: 10
progress_percentage: 66.67
imported_by: 'João Silva'
imported_at: '2023-12-01T10:30:00.000Z'
supplier:
id: supplier-uuid
name: 'Fornecedor Ltda'
document: '12345678000199'
channel: import-progress.9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
properties:
import_id:
type: string
example: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
status:
type: string
example: completed
import_type:
type: string
example: nfe
original_filename:
type: string
example: nota_fiscal_001.xml
nfe_number:
type: string
example: '123456'
nfe_date:
type: string
example: '2023-12-01'
total_products:
type: integer
example: 15
processed_products:
type: integer
example: 10
progress_percentage:
type: number
example: 66.67
imported_by:
type: string
example: 'João Silva'
imported_at:
type: string
example: '2023-12-01T10:30:00.000Z'
supplier:
type: object
properties:
id:
type: string
example: supplier-uuid
name:
type: string
example: 'Fornecedor Ltda'
document:
type: string
example: '12345678000199'
channel:
type: string
example: import-progress.9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
tags:
- Import
parameters:
-
in: path
name: importId
description: ''
example: architecto
required: true
schema:
type: string
'/api/imports/{importId}/products':
get:
summary: 'Get Import Products'
operationId: getImportProducts
description: 'List all products from a specific NFe import with filtering and pagination options.'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: status
description: 'Filter products by processing status (pending, processed).'
example: pending
required: false
schema:
type: string
description: 'Filter products by processing status (pending, processed).'
example: pending
nullable: true
enum:
- pending
- processed
-
in: query
name: q
description: 'Search products by name / code / EAN. O campo value não pode ser superior a 255 caracteres.'
example: 'Produto ABC'
required: false
schema:
type: string
description: 'Search products by name / code / EAN. O campo value não pode ser superior a 255 caracteres.'
example: 'Produto ABC'
nullable: true
-
in: query
name: per_page
description: 'Number of products per page. O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 15
required: false
schema:
type: integer
description: 'Number of products per page. O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 15
nullable: false
responses:
200:
description: 'Products retrieved successfully'
content:
application/json:
schema:
type: object
example:
import:
id: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
total_products: 15
processed_products: 10
progress_percentage: 66.67
products:
data:
-
id: product-uuid
supplier_product_code: ABC123
ean_code: '7891234567890'
name: 'Nome do Produto'
unit: UN
quantity: 10
unit_price: 15.5
total_price: 155.0
is_processed: false
system_product: null
linked_at: null
linked_by: null
pagination:
current_page: 1
per_page: 15
total: 15
last_page: 1
properties:
import:
type: object
properties:
id:
type: string
example: 9d2f8e4a-1b3c-4d5e-6f7a-8b9c0d1e2f3a
total_products:
type: integer
example: 15
processed_products:
type: integer
example: 10
progress_percentage:
type: number
example: 66.67
products:
type: object
properties:
data:
type: array
example:
-
id: product-uuid
supplier_product_code: ABC123
ean_code: '7891234567890'
name: 'Nome do Produto'
unit: UN
quantity: 10
unit_price: 15.5
total_price: 155
is_processed: false
system_product: null
linked_at: null
linked_by: null
items:
type: object
properties:
id:
type: string
example: product-uuid
supplier_product_code:
type: string
example: ABC123
ean_code:
type: string
example: '7891234567890'
name:
type: string
example: 'Nome do Produto'
unit:
type: string
example: UN
quantity:
type: integer
example: 10
unit_price:
type: number
example: 15.5
total_price:
type: number
example: 155.0
is_processed:
type: boolean
example: false
system_product:
type: string
example: null
linked_at:
type: string
example: null
linked_by:
type: string
example: null
pagination:
type: object
properties:
current_page:
type: integer
example: 1
per_page:
type: integer
example: 15
total:
type: integer
example: 15
last_page:
type: integer
example: 1
tags:
- Import
parameters:
-
in: path
name: importId
description: ''
example: architecto
required: true
schema:
type: string
'/api/imports/{importId}/products/link':
post:
summary: 'Link Products'
operationId: linkProducts
description: 'Inicia, de forma assíncrona, a vinculação de produtos do fornecedor a produtos do sistema ou criação de novos itens no estoque. Retorna 202 com o canal para acompanhar o progresso.'
parameters: []
responses:
202:
description: 'Linking accepted and started asynchronously'
content:
application/json:
schema:
type: object
example:
message: 'Vinculação de produtos iniciada com sucesso'
total_mappings: 2
channel: 'imports.{import-uuid}'
properties:
message:
type: string
example: 'Vinculação de produtos iniciada com sucesso'
total_mappings:
type: integer
example: 2
channel:
type: string
example: 'imports.{import-uuid}'
422:
description: 'Error linking products'
content:
application/json:
schema:
type: object
example:
error: 'Erro ao vincular produtos: Product not found'
properties:
error:
type: string
example: 'Erro ao vincular produtos: Product not found'
tags:
- Import
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
mappings:
type: array
description: 'Array of product mappings'
example:
- architecto
items:
type: string
required:
- mappings
parameters:
-
in: path
name: importId
description: ''
example: architecto
required: true
schema:
type: string
/api/notifications:
get:
summary: 'List notifications'
operationId: listNotifications
description: 'List user notifications'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: per_page
description: 'O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 1
required: false
schema:
type: integer
description: 'O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 1
nullable: false
-
in: query
name: module
description: 'Filter by module name. O campo value não pode ser superior a 100 caracteres.'
example: CashFlow
required: false
schema:
type: string
description: 'Filter by module name. O campo value não pode ser superior a 100 caracteres.'
example: CashFlow
nullable: true
-
in: query
name: type
description: 'Filter by type (ex.: info, success, warning, error). O campo value não pode ser superior a 100 caracteres.'
example: success
required: false
schema:
type: string
description: 'Filter by type (ex.: info, success, warning, error). O campo value não pode ser superior a 100 caracteres.'
example: success
nullable: true
-
in: query
name: priority
description: 'Filter by priority number. O campo value deve ser pelo menos 0. O campo value não pode ser superior a 255.'
example: 10
required: false
schema:
type: integer
description: 'Filter by priority number. O campo value deve ser pelo menos 0. O campo value não pode ser superior a 255.'
example: 10
nullable: true
-
in: query
name: unread_only
description: 'Only unread notifications when true.'
example: true
required: false
schema:
type: boolean
description: 'Only unread notifications when true.'
example: true
nullable: true
-
in: query
name: read_status
description: 'Filter by read status (all, read, unread).'
example: unread
required: false
schema:
type: string
description: 'Filter by read status (all, read, unread).'
example: unread
nullable: true
enum:
- all
- read
- unread
-
in: query
name: date_start
description: 'Filter notifications created from this date (YYYY-MM-DD). O campo value deve ser uma data válida.'
example: '2024-01-01'
required: false
schema:
type: string
description: 'Filter notifications created from this date (YYYY-MM-DD). O campo value deve ser uma data válida.'
example: '2024-01-01'
nullable: true
-
in: query
name: date_end
description: 'Filter notifications created until this date (YYYY-MM-DD). O campo value deve ser uma data válida. O campo value deve ser uma data posterior ou igual a date_start.'
example: '2024-12-31'
required: false
schema:
type: string
description: 'Filter notifications created until this date (YYYY-MM-DD). O campo value deve ser uma data válida. O campo value deve ser uma data posterior ou igual a date_start.'
example: '2024-12-31'
nullable: true
-
in: query
name: q
description: 'Search by title/message. O campo value não pode ser superior a 255 caracteres.'
example: 'erro faturamento'
required: false
schema:
type: string
description: 'Search by title/message. O campo value não pode ser superior a 255 caracteres.'
example: 'erro faturamento'
nullable: true
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Notifications
/api/notifications/mark-as-read:
post:
summary: 'Mark notifications as read'
operationId: markNotificationsAsRead
description: 'Mark one or many notifications as read'
parameters: []
responses: { }
tags:
- Notifications
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
notifications:
type: array
description: 'O campo value deve ser um UUID válido.'
example:
- 6ff8f7f6-1eb3-3525-be4a-3932c805afed
items:
type: string
required:
- notifications
/api/notifications/mark-as-unread:
post:
summary: 'Mark notifications as unread'
operationId: markNotificationsAsUnread
description: 'Mark one or many notifications as unread'
parameters: []
responses: { }
tags:
- Notifications
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
notifications:
type: array
description: 'O campo value deve ser um UUID válido.'
example:
- 6ff8f7f6-1eb3-3525-be4a-3932c805afed
items:
type: string
required:
- notifications
/api/notifications/mark-all-as-read:
post:
summary: 'Mark all notifications as read'
operationId: markAllNotificationsAsRead
description: 'Mark all user notifications as read'
parameters: []
responses: { }
tags:
- Notifications
/api/notifications/unread-count:
get:
summary: 'Unread notifications count'
operationId: unreadNotificationsCount
description: 'Count of unread notifications for the user'
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Notifications
/api/payment-receipts:
get:
summary: 'List payment receipts'
operationId: listPaymentReceipts
description: 'List all payment receipts with filters'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query (searches in receiver name, document, and receipt number).'
example: 'João Silva'
required: false
schema:
type: string
description: 'Search query (searches in receiver name, document, and receipt number).'
example: 'João Silva'
nullable: true
-
in: query
name: employee_id
description: 'Filter by employee ID. The id of an existing record in the employees table.'
example: 1
required: false
schema:
type: integer
description: 'Filter by employee ID. The id of an existing record in the employees table.'
example: 1
nullable: false
-
in: query
name: receiver_type
description: 'Filter by receiver type.'
example: employee
required: false
schema:
type: string
description: 'Filter by receiver type.'
example: employee
nullable: false
enum:
- employee
- custom
-
in: query
name: start_date
description: 'Filter by issue date (start). O campo value deve ser uma data válida.'
example: '2025-01-01'
required: false
schema:
type: string
description: 'Filter by issue date (start). O campo value deve ser uma data válida.'
example: '2025-01-01'
nullable: false
-
in: query
name: end_date
description: 'Filter by issue date (end). O campo value deve ser uma data válida. O campo value deve ser uma data posterior ou igual a start_date.'
example: '2025-12-31'
required: false
schema:
type: string
description: 'Filter by issue date (end). O campo value deve ser uma data válida. O campo value deve ser uma data posterior ou igual a start_date.'
example: '2025-12-31'
nullable: false
-
in: query
name: min_amount
description: 'Filter by minimum amount. O campo value deve ser pelo menos 0.'
example: 100.0
required: false
schema:
type: number
description: 'Filter by minimum amount. O campo value deve ser pelo menos 0.'
example: 100.0
nullable: false
-
in: query
name: max_amount
description: 'Filter by maximum amount. O campo value deve ser pelo menos 0.'
example: 1000.0
required: false
schema:
type: number
description: 'Filter by maximum amount. O campo value deve ser pelo menos 0.'
example: 1000.0
nullable: false
-
in: query
name: payment_method
description: 'Filter by payment method.'
example: PIX
required: false
schema:
type: string
description: 'Filter by payment method.'
example: PIX
nullable: false
-
in: query
name: city
description: 'Filter by city.'
example: 'São Paulo'
required: false
schema:
type: string
description: 'Filter by city.'
example: 'São Paulo'
nullable: false
-
in: query
name: search
description: ''
example: architecto
required: false
schema:
type: string
description: ''
example: architecto
nullable: false
-
in: query
name: document
description: ''
example: architecto
required: false
schema:
type: string
description: ''
example: architecto
nullable: false
-
in: query
name: per_page
description: 'O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 22
required: false
schema:
type: integer
description: 'O campo value deve ser pelo menos 1. O campo value não pode ser superior a 100.'
example: 22
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
pagination:
total: 2
count: 2
per_page: 10
current_page: 1
total_pages: 1
has_more_pages: false
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: null
receipt_number:
type: string
example: null
receiver_type:
type: string
example: null
receiver:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
document:
type: string
example: null
payment:
type: object
properties:
amount:
type: integer
example: 0
amount_in_words:
type: string
example: null
method:
type: string
example: null
description:
type: string
example: null
issuer:
type: object
properties:
name:
type: string
example: null
document:
type: string
example: null
issue:
type: object
properties:
date:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
created_by:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
pagination:
type: object
properties:
total:
type: integer
example: 2
count:
type: integer
example: 2
per_page:
type: integer
example: 10
current_page:
type: integer
example: 1
total_pages:
type: integer
example: 1
has_more_pages:
type: boolean
example: false
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Payment Receipts'
post:
summary: 'Create payment receipt'
operationId: createPaymentReceipt
description: 'Create a new payment receipt'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Payment Receipts'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
receiver_type:
type: string
description: 'Tipo de Recebedor.'
example: 'Example Receiver type'
nullable: false
enum:
- employee
- custom
employee_id:
type: string
description: 'Funcionário. This field is required when receiver_type is employee. The id of an existing record in the employees table.'
example: 844c85f8-1f76-417d-95f4-ca45b947bd0d
nullable: true
receiver_name:
type: string
description: 'Nome do Recebedor. This field is required when receiver_type is custom. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: true
receiver_document:
type: string
description: 'Documento do Recebedor. This field is required when receiver_type is custom. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Receiver document'
nullable: true
amount:
type: number
description: 'Valor. O campo value deve ser pelo menos 0.01.'
example: 1.0
nullable: false
amount_in_words:
type: string
description: 'Valor por Extenso.'
example: 'Example Amount in words'
nullable: false
payment_method:
type: string
description: 'Método de Pagamento. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Payment method'
nullable: false
description:
type: string
description: Descrição.
example: 'Example Description'
nullable: false
issuer_name:
type: string
description: 'Nome do Emissor. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
issuer_document:
type: string
description: 'Documento do Emissor. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Issuer document'
nullable: false
issue_date:
type: string
description: 'Data de Emissão. O campo value deve ser uma data válida. O campo value deve ser uma data anterior ou igual a today.'
example: '2024-01-01'
nullable: false
city:
type: string
description: 'Cidade. O campo value não pode ser superior a 255 caracteres.'
example: 'Example City'
nullable: false
state:
type: string
description: 'Estado. O campo value não pode ser superior a 2 caracteres.'
example: 'Example State'
nullable: false
required:
- receiver_type
- amount
- payment_method
- description
- issuer_name
- issuer_document
- issue_date
- city
- state
'/api/payment-receipts/{receipt}':
get:
summary: 'Show payment receipt'
operationId: showPaymentReceipt
description: 'Show a payment receipt'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: null
receipt_number:
type: string
example: null
receiver_type:
type: string
example: null
receiver:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
document:
type: string
example: null
payment:
type: object
properties:
amount:
type: integer
example: 0
amount_in_words:
type: string
example: null
method:
type: string
example: null
description:
type: string
example: null
issuer:
type: object
properties:
name:
type: string
example: null
document:
type: string
example: null
issue:
type: object
properties:
date:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
created_by:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Payment Receipts'
put:
summary: 'Update payment receipt'
operationId: updatePaymentReceipt
description: 'Update a payment receipt'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Payment Receipts'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
receiver_type:
type: string
description: 'Tipo de Recebedor.'
example: 'Example Receiver type'
nullable: false
enum:
- employee
- custom
employee_id:
type: string
description: 'Funcionário. This field is required when receiver_type is employee. The id of an existing record in the employees table.'
example: 99f62a43-7d24-4144-a192-da6e5922c79a
nullable: true
receiver_name:
type: string
description: 'Nome do Recebedor. This field is required when receiver_type is custom. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: true
receiver_document:
type: string
description: 'Documento do Recebedor. This field is required when receiver_type is custom. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Receiver document'
nullable: true
amount:
type: number
description: 'Valor. O campo value deve ser pelo menos 0.01.'
example: 1.0
nullable: false
amount_in_words:
type: string
description: 'Valor por Extenso.'
example: 'Example Amount in words'
nullable: false
payment_method:
type: string
description: 'Método de Pagamento. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Payment method'
nullable: false
description:
type: string
description: Descrição.
example: 'Example Description'
nullable: false
issuer_name:
type: string
description: 'Nome do Emissor. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
issuer_document:
type: string
description: 'Documento do Emissor. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Issuer document'
nullable: false
issue_date:
type: string
description: 'Data de Emissão. O campo value deve ser uma data válida. O campo value deve ser uma data anterior ou igual a today.'
example: '2024-01-01'
nullable: false
city:
type: string
description: 'Cidade. O campo value não pode ser superior a 255 caracteres.'
example: 'Example City'
nullable: false
state:
type: string
description: 'Estado. O campo value não pode ser superior a 2 caracteres.'
example: 'Example State'
nullable: false
delete:
summary: 'Delete payment receipt'
operationId: deletePaymentReceipt
description: 'Delete a payment receipt'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Payment Receipts'
parameters:
-
in: path
name: receipt
description: 'Payment Receipt ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/employees/{employee_id}/receipts':
get:
summary: 'List employee receipts'
operationId: listEmployeeReceipts
description: 'List all payment receipts for a specific employee'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
pagination:
total: 2
count: 2
per_page: 10
current_page: 1
total_pages: 1
has_more_pages: false
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
-
id: null
receipt_number: null
receiver_type: null
receiver:
id: null
name: null
document: null
payment:
amount: 0
amount_in_words: null
method: null
description: null
issuer:
name: null
document: null
issue:
date: null
city: null
state: null
created_by:
id: null
name: null
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: null
receipt_number:
type: string
example: null
receiver_type:
type: string
example: null
receiver:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
document:
type: string
example: null
payment:
type: object
properties:
amount:
type: integer
example: 0
amount_in_words:
type: string
example: null
method:
type: string
example: null
description:
type: string
example: null
issuer:
type: object
properties:
name:
type: string
example: null
document:
type: string
example: null
issue:
type: object
properties:
date:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
created_by:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
created_at:
type: string
example: null
updated_at:
type: string
example: null
pagination:
type: object
properties:
total:
type: integer
example: 2
count:
type: integer
example: 2
per_page:
type: integer
example: 10
current_page:
type: integer
example: 1
total_pages:
type: integer
example: 1
has_more_pages:
type: boolean
example: false
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Payment Receipts'
parameters:
-
in: path
name: employee_id
description: 'The ID of the employee.'
example: 1
required: true
schema:
type: integer
-
in: path
name: employee
description: 'Employee ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/permission-groups:
get:
summary: 'List permission groups'
operationId: listPermissionGroups
description: 'List all permission groups'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 62dd610c-4a82-34c4-975a-5cdb355260af
name: quibusdam-ut
display_name: 'similique officia sit'
created_at: null
updated_at: null
-
id: 77d2d404-3230-3975-81bf-a63880d5974b
name: voluptas-assumenda-laborum
display_name: 'aut commodi eligendi'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: 62dd610c-4a82-34c4-975a-5cdb355260af
name: quibusdam-ut
display_name: 'similique officia sit'
created_at: null
updated_at: null
-
id: 77d2d404-3230-3975-81bf-a63880d5974b
name: voluptas-assumenda-laborum
display_name: 'aut commodi eligendi'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: 62dd610c-4a82-34c4-975a-5cdb355260af
name:
type: string
example: quibusdam-ut
display_name:
type: string
example: 'similique officia sit'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Permission Groups'
post:
summary: 'Create permission group'
operationId: createPermissionGroup
description: 'Create a new permission group'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Permission Groups'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
display_name:
type: string
description: 'Display name. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
required:
- name
- display_name
'/api/permission-groups/{permissionGroup}':
put:
summary: 'Update permission group'
operationId: updatePermissionGroup
description: 'Update a permission group'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Permission Groups'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
display_name:
type: string
description: 'Display name. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
get:
summary: 'Show permission group'
operationId: showPermissionGroup
description: 'Show a permission group'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: nostrum-qui
display_name: 'commodi incidunt iure'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: nostrum-qui
display_name:
type: string
example: 'commodi incidunt iure'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Permission Groups'
delete:
summary: 'Delete permission group'
operationId: deletePermissionGroup
description: 'Delete a permission group'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Permission Groups'
parameters:
-
in: path
name: permissionGroup
description: ''
example: 1
required: true
schema:
type: integer
/api/product-brands:
get:
summary: 'List product brands'
operationId: listProductBrands
description: 'List all product brands'
parameters:
-
in: query
name: q
description: ''
example: Structure
required: false
schema:
type: string
description: ''
example: Structure
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
created_at: null
updated_at: null
-
id: c68e0767-6220-31fb-a489-61093ff79529
name: 'Valentin Ramos Zamana'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
created_at: null
updated_at: null
-
id: c68e0767-6220-31fb-a489-61093ff79529
name: 'Valentin Ramos Zamana'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Product Brands'
post:
summary: 'Create product brand'
operationId: createProductBrand
description: 'Create a new product brand'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Product Brands'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
nullable: false
required:
- name
'/api/product-brands/{productBrand}':
get:
summary: 'Show product brand'
operationId: showProductBrand
description: 'Show a product brand'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Product Brands'
put:
summary: 'Update product brand'
operationId: updateProductBrand
description: 'Update a product brand'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Product Brands'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
nullable: false
required:
- name
delete:
summary: 'Delete product brand'
operationId: deleteProductBrand
description: 'Delete a product brand'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Product Brands'
parameters:
-
in: path
name: productBrand
description: 'Product brand UUID'
example: architecto
required: true
schema:
type: string
/api/product-families:
get:
summary: 'List product families'
operationId: listProductFamilies
description: 'List all product families'
parameters:
-
in: query
name: q
description: ''
example: Structure
required: false
schema:
type: string
description: ''
example: Structure
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
created_at: null
updated_at: null
-
id: c68e0767-6220-31fb-a489-61093ff79529
name: 'Valentin Ramos Zamana'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
created_at: null
updated_at: null
-
id: c68e0767-6220-31fb-a489-61093ff79529
name: 'Valentin Ramos Zamana'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Product Families'
post:
summary: 'Create product family'
operationId: createProductFamily
description: 'Create a new product family'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Product Families'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
nullable: false
required:
- name
'/api/product-families/{productFamily}':
get:
summary: 'Show product family'
operationId: showProductFamily
description: 'Show a product family'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Product Families'
put:
summary: 'Update product family'
operationId: updateProductFamily
description: 'Update a product family'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Product Families'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
nullable: false
required:
- name
delete:
summary: 'Delete product family'
operationId: deleteProductFamily
description: 'Delete a product family'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Product Families'
parameters:
-
in: path
name: productFamily
description: 'Product family UUID'
example: architecto
required: true
schema:
type: string
/api/products:
get:
summary: 'List products'
operationId: listProducts
description: 'List all products'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Brick
required: false
schema:
type: string
description: 'Search query.'
example: Brick
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
code: PRD-265058
stock: 7365
product_family:
id: a05b8477-4b08-4285-9041-8a41c4f6fba8
name: 'Elaine Kamila Serna Neto'
product_brand:
id: a05b8477-5584-4702-805f-496ab026b1b3
name: 'Liz Sueli Pacheco Neto'
unit:
id: a05b8477-5979-4dd2-a29c-e2ad7640ea53
name: 'Mia Letícia Velasques Jr.'
abbreviation: 'Srta. Talita Zambrano'
image:
id: null
url: null
description: 'Odit et et modi.'
created_at: null
updated_at: null
-
id: 241611a0-a07b-352b-9f83-f15a091959e3
name: 'Dr. Yasmin Duarte Queirós Filho'
code: PRD-312753
stock: 49
product_family:
id: a05b8477-5f33-42b3-8819-0e29ccf81caa
name: 'Dr. Sérgio Hernani Pontes'
product_brand:
id: a05b8477-6270-4322-82eb-51fea0c4aec7
name: 'Dr. Iasmin Leon Neto'
unit:
id: a05b8477-652f-40c7-a3f5-a07ba0fee7f7
name: 'Sr. André Jimenes Prado Neto'
abbreviation: 'Sr. Cristian Beltrão'
image:
id: null
url: null
description: 'Aut molestiae sunt suscipit doloribus fugiat.'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
code: PRD-265058
stock: 7365
product_family:
id: a05b8477-4b08-4285-9041-8a41c4f6fba8
name: 'Elaine Kamila Serna Neto'
product_brand:
id: a05b8477-5584-4702-805f-496ab026b1b3
name: 'Liz Sueli Pacheco Neto'
unit:
id: a05b8477-5979-4dd2-a29c-e2ad7640ea53
name: 'Mia Letícia Velasques Jr.'
abbreviation: 'Srta. Talita Zambrano'
image:
id: null
url: null
description: 'Odit et et modi.'
created_at: null
updated_at: null
-
id: 241611a0-a07b-352b-9f83-f15a091959e3
name: 'Dr. Yasmin Duarte Queirós Filho'
code: PRD-312753
stock: 49
product_family:
id: a05b8477-5f33-42b3-8819-0e29ccf81caa
name: 'Dr. Sérgio Hernani Pontes'
product_brand:
id: a05b8477-6270-4322-82eb-51fea0c4aec7
name: 'Dr. Iasmin Leon Neto'
unit:
id: a05b8477-652f-40c7-a3f5-a07ba0fee7f7
name: 'Sr. André Jimenes Prado Neto'
abbreviation: 'Sr. Cristian Beltrão'
image:
id: null
url: null
description: 'Aut molestiae sunt suscipit doloribus fugiat.'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
code:
type: string
example: PRD-265058
stock:
type: integer
example: 7365
product_family:
type: object
properties:
id:
type: string
example: a05b8477-4b08-4285-9041-8a41c4f6fba8
name:
type: string
example: 'Elaine Kamila Serna Neto'
product_brand:
type: object
properties:
id:
type: string
example: a05b8477-5584-4702-805f-496ab026b1b3
name:
type: string
example: 'Liz Sueli Pacheco Neto'
unit:
type: object
properties:
id:
type: string
example: a05b8477-5979-4dd2-a29c-e2ad7640ea53
name:
type: string
example: 'Mia Letícia Velasques Jr.'
abbreviation:
type: string
example: 'Srta. Talita Zambrano'
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
description:
type: string
example: 'Odit et et modi.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Products
post:
summary: 'Create product'
operationId: createProduct
description: 'Create a new product'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
product_family_id:
type: string
description: 'The uuid of an existing record in the product_families table.'
example: architecto
nullable: false
product_brand_id:
type: string
description: 'The uuid of an existing record in the product_brands table.'
example: architecto
nullable: false
unit_id:
type: string
description: 'The uuid of an existing record in the units table.'
example: architecto
nullable: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
stock:
type: number
description: 'O campo value deve ser pelo menos 0.'
example: 60
nullable: false
required:
- name
- product_family_id
- product_brand_id
- unit_id
- stock
'/api/products/{id}':
get:
summary: 'Show product'
operationId: showProduct
description: 'Show a product'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
code: PRD-265058
stock: 7365
product_family:
id: a05b8477-708e-451e-bf0d-1aa26bb7a761
name: 'Elaine Kamila Serna Neto'
product_brand:
id: a05b8477-7337-4385-9f83-1b355a3af572
name: 'Liz Sueli Pacheco Neto'
unit:
id: a05b8477-756a-40f0-b240-6026f5f4ec54
name: 'Mia Letícia Velasques Jr.'
abbreviation: 'Srta. Talita Zambrano'
image:
id: null
url: null
description: 'Odit et et modi.'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
code:
type: string
example: PRD-265058
stock:
type: integer
example: 7365
product_family:
type: object
properties:
id:
type: string
example: a05b8477-708e-451e-bf0d-1aa26bb7a761
name:
type: string
example: 'Elaine Kamila Serna Neto'
product_brand:
type: object
properties:
id:
type: string
example: a05b8477-7337-4385-9f83-1b355a3af572
name:
type: string
example: 'Liz Sueli Pacheco Neto'
unit:
type: object
properties:
id:
type: string
example: a05b8477-756a-40f0-b240-6026f5f4ec54
name:
type: string
example: 'Mia Letícia Velasques Jr.'
abbreviation:
type: string
example: 'Srta. Talita Zambrano'
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
description:
type: string
example: 'Odit et et modi.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- Products
put:
summary: 'Update product '
operationId: updateProduct
description: 'Update a product '
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
product_family_id:
type: string
description: 'The uuid of an existing record in the product_families table.'
example: architecto
nullable: false
product_brand_id:
type: string
description: 'The uuid of an existing record in the product_brands table.'
example: architecto
nullable: false
unit_id:
type: string
description: 'The uuid of an existing record in the units table.'
example: architecto
nullable: false
stock:
type: number
description: 'O campo value deve ser pelo menos 0.'
example: 39
nullable: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- name
- product_family_id
- product_brand_id
- unit_id
- stock
parameters:
-
in: path
name: id
description: 'The ID of the product.'
example: 1
required: true
schema:
type: integer
-
in: path
name: product
description: 'Product UUID'
example: architecto
required: true
schema:
type: string
'/api/products/{product}':
delete:
summary: 'Delete product'
operationId: deleteProduct
description: 'Delete a product'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Products
parameters:
-
in: path
name: product
description: 'Product UUID'
example: architecto
required: true
schema:
type: string
/api/sectors:
get:
summary: 'List sectors'
operationId: listSectors
description: 'List all sectors'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Tecnologia
required: false
schema:
type: string
description: 'Search query.'
example: Tecnologia
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 25cab747-7694-31a8-af6b-cf648548a55e
name: 'quasi laboriosam'
slug: null
description: 'Sit distinctio tenetur consequuntur sed. Enim totam atque magni beatae. Mollitia sunt magnam fugiat nemo. Rerum corporis dolore non ea vel iusto.'
abbreviation: idk
created_at: null
updated_at: null
-
id: d67de751-ca68-3904-8fae-6db446b8ff7a
name: 'dolorum illum'
slug: null
description: null
abbreviation: yms
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: 25cab747-7694-31a8-af6b-cf648548a55e
name: 'quasi laboriosam'
slug: null
description: 'Sit distinctio tenetur consequuntur sed. Enim totam atque magni beatae. Mollitia sunt magnam fugiat nemo. Rerum corporis dolore non ea vel iusto.'
abbreviation: idk
created_at: null
updated_at: null
-
id: d67de751-ca68-3904-8fae-6db446b8ff7a
name: 'dolorum illum'
slug: null
description: null
abbreviation: yms
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: 25cab747-7694-31a8-af6b-cf648548a55e
name:
type: string
example: 'quasi laboriosam'
slug:
type: string
example: null
description:
type: string
example: 'Sit distinctio tenetur consequuntur sed. Enim totam atque magni beatae. Mollitia sunt magnam fugiat nemo. Rerum corporis dolore non ea vel iusto.'
abbreviation:
type: string
example: idk
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Sectors
post:
summary: 'Create sector'
operationId: createSector
description: 'Create a new sector'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Sectors
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Nome. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
slug:
type: string
description: 'Slug. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Slug'
nullable: false
description:
type: string
description: Descrição.
example: 'Example Description'
nullable: true
abbreviation:
type: string
description: 'Abreviação. O campo value não pode ser superior a 10 caracteres.'
example: 'Example Abbreviation'
nullable: true
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: true
properties:
path:
type: string
description: 'Caminho da imagem. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Image path'
nullable: true
url:
type: string
description: 'URL da imagem. Must be a valid URL.'
example: 'https://example.com'
nullable: true
name:
type: string
description: 'Nome da imagem. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: true
size:
type: string
description: 'Tamanho da imagem. O campo value não pode ser superior a 50 caracteres.'
example: 'Example Image size'
nullable: true
extension:
type: string
description: 'Extensão da imagem. O campo value não pode ser superior a 10 caracteres.'
example: 'Example Image extension'
nullable: true
required:
- name
'/api/sectors/{id}':
get:
summary: 'Get sector'
operationId: getSector
description: 'Get a sector'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'quidem nostrum'
slug: null
description: null
abbreviation: qwr
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'quidem nostrum'
slug:
type: string
example: null
description:
type: string
example: null
abbreviation:
type: string
example: qwr
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- Sectors
put:
summary: 'Update sector'
operationId: updateSector
description: 'Update a sector'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Sectors
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Nome. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: false
slug:
type: string
description: 'Slug. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Slug'
nullable: false
description:
type: string
description: Descrição.
example: 'Example Description'
nullable: true
abbreviation:
type: string
description: 'Abreviação. O campo value não pode ser superior a 10 caracteres.'
example: 'Example Abbreviation'
nullable: true
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: true
properties:
path:
type: string
description: 'Caminho da imagem. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Image path'
nullable: true
url:
type: string
description: 'URL da imagem. Must be a valid URL.'
example: 'https://example.com'
nullable: true
name:
type: string
description: 'Nome da imagem. O campo value não pode ser superior a 255 caracteres.'
example: 'Example Name'
nullable: true
size:
type: string
description: 'Tamanho da imagem. O campo value não pode ser superior a 50 caracteres.'
example: 'Example Image size'
nullable: true
extension:
type: string
description: 'Extensão da imagem. O campo value não pode ser superior a 10 caracteres.'
example: 'Example Image extension'
nullable: true
required:
- name
delete:
summary: 'Delete sector'
operationId: deleteSector
description: 'Delete a sector'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Sectors
parameters:
-
in: path
name: id
description: 'The ID of the sector.'
example: 1
required: true
schema:
type: integer
-
in: path
name: sector
description: 'Sector ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/sectors/{sector}/users':
get:
summary: 'List sector users'
operationId: listSectorUsers
description: 'List all users assigned to a sector'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Miss Pearl Hauck'
username: mitchell.matilda
email: christian51@example.com
image:
id: null
url: null
sectors: []
roles: []
-
id: 502eabbf-311f-3542-a47b-b2a14f5de904
name: 'Janick Schultz DDS'
username: micaela88
email: kconsidine@example.net
image:
id: null
url: null
sectors: []
roles: []
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Miss Pearl Hauck'
username: mitchell.matilda
email: christian51@example.com
image:
id: null
url: null
sectors: []
roles: []
-
id: 502eabbf-311f-3542-a47b-b2a14f5de904
name: 'Janick Schultz DDS'
username: micaela88
email: kconsidine@example.net
image:
id: null
url: null
sectors: []
roles: []
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Miss Pearl Hauck'
username:
type: string
example: mitchell.matilda
email:
type: string
example: christian51@example.com
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
sectors:
type: array
example: []
roles:
type: array
example: []
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Sectors
parameters:
-
in: path
name: sector
description: 'Sector UUID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/sectors/{sector}/users/attach':
post:
summary: 'Attach users to sector'
operationId: attachUsersToSector
description: 'Attach users to a sector without removing existing ones. Expects an array of user UUIDs in the "users" field.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Users attached successfully'
properties:
message:
type: string
example: 'Users attached successfully'
tags:
- Sectors
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
users:
type: array
description: 'UUID do usuário. The uuid of an existing record in the users table.'
example:
- f2726f3d-9044-3663-bede-2a0f37053879
items:
type: string
parameters:
-
in: path
name: sector
description: 'Sector UUID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/sectors/{sector}/users/detach':
post:
summary: 'Detach users from sector'
operationId: detachUsersFromSector
description: 'Remove specific users from a sector. Expects an array of user UUIDs in the "users" field.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Users detached successfully'
properties:
message:
type: string
example: 'Users detached successfully'
tags:
- Sectors
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
users:
type: array
description: 'UUID do usuário. The uuid of an existing record in the users table.'
example:
- 9e13baad-9e20-392f-94ab-6047f7ff6a83
items:
type: string
parameters:
-
in: path
name: sector
description: 'Sector UUID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/sectors/{sector}/users/sync':
post:
summary: 'Sync sector users'
operationId: syncSectorUsers
description: 'Replace all sector users with the provided list. Expects an array of user UUIDs in the "users" field.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Users synchronized successfully'
properties:
message:
type: string
example: 'Users synchronized successfully'
tags:
- Sectors
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
users:
type: array
description: 'UUID do usuário. The uuid of an existing record in the users table.'
example:
- ea57fb8f-9953-354e-9184-d01c4ec16bb0
items:
type: string
parameters:
-
in: path
name: sector
description: 'Sector UUID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/status-modules:
get:
summary: 'List status modules'
operationId: listStatusModules
description: 'List all modules that have status functionality'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
name: 'aut adipisci'
slug: nostrum-qui-commodi-incidunt-iure
-
name: 'omnis autem'
slug: consequatur-aut-dolores-enim-non-facere-tempora
properties:
data:
type: array
example:
-
name: 'aut adipisci'
slug: nostrum-qui-commodi-incidunt-iure
-
name: 'omnis autem'
slug: consequatur-aut-dolores-enim-non-facere-tempora
items:
type: object
properties:
name:
type: string
example: 'aut adipisci'
slug:
type: string
example: nostrum-qui-commodi-incidunt-iure
tags:
- 'Status Modules'
/api/statuses:
get:
summary: 'List statuses'
operationId: listStatuses
description: 'List all statuses'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: 'Em andamento'
required: false
schema:
type: string
description: 'Search query.'
example: 'Em andamento'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
description: 'Sr. George de Souza Delvalle'
abbreviation: iure
color: '#aa8e3f'
text_color: '#559641'
created_at: null
updated_at: null
-
id: 665a39c0-48af-31f1-a546-aa4f41372488
description: 'Sra. Jéssica Sepúlveda Jr.'
abbreviation: aut
color: '#005d49'
text_color: '#8a9b1e'
module:
name: Obras
slug: work
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
description: 'Sr. George de Souza Delvalle'
abbreviation: iure
color: '#aa8e3f'
text_color: '#559641'
created_at: null
updated_at: null
-
id: 665a39c0-48af-31f1-a546-aa4f41372488
description: 'Sra. Jéssica Sepúlveda Jr.'
abbreviation: aut
color: '#005d49'
text_color: '#8a9b1e'
module:
name: Obras
slug: work
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
description:
type: string
example: 'Sr. George de Souza Delvalle'
abbreviation:
type: string
example: iure
color:
type: string
example: '#aa8e3f'
text_color:
type: string
example: '#559641'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Statuses
post:
summary: 'Create status'
operationId: createStatus
description: 'Create a new status'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Statuses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: 'Eius et animi quos velit et.'
nullable: false
abbreviation:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: v
nullable: false
module:
type: string
description: ''
example: architecto
nullable: false
sector_id:
type: string
description: 'The uuid of an existing record in the sectors table.'
example: architecto
nullable: false
color:
type: string
description: ''
example: architecto
nullable: true
text_color:
type: string
description: ''
example: architecto
nullable: true
required:
- description
- abbreviation
- module
- sector_id
'/api/statuses/{id}':
get:
summary: 'Get status'
operationId: getStatus
description: 'Get a status'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
description: 'Sr. George de Souza Delvalle'
abbreviation: iure
color: '#aa8e3f'
text_color: '#559641'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
description:
type: string
example: 'Sr. George de Souza Delvalle'
abbreviation:
type: string
example: iure
color:
type: string
example: '#aa8e3f'
text_color:
type: string
example: '#559641'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- Statuses
put:
summary: 'Update status'
operationId: updateStatus
description: 'Update a status'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Statuses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: 'Eius et animi quos velit et.'
nullable: false
abbreviation:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: v
nullable: false
module:
type: string
description: ''
example: architecto
nullable: false
sector_id:
type: string
description: 'The uuid of an existing record in the sectors table.'
example: architecto
nullable: false
color:
type: string
description: ''
example: architecto
nullable: true
text_color:
type: string
description: ''
example: architecto
nullable: true
required:
- description
- abbreviation
- module
- sector_id
parameters:
-
in: path
name: id
description: 'The ID of the status.'
example: 1
required: true
schema:
type: integer
-
in: path
name: status
description: 'Status ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/statuses/{status}':
delete:
summary: 'Delete status'
operationId: deleteStatus
description: 'Delete a status'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Statuses
parameters:
-
in: path
name: status
description: 'Status ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/suppliers:
get:
summary: 'List suppliers'
operationId: listSuppliers
description: 'List all suppliers'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: 'Supplier name'
required: false
schema:
type: string
description: 'Search query.'
example: 'Supplier name'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
email: yohanna44@example.org
phone: '(94) 94866-9606'
document: 90.915.066/0001-02
type: pj
responsible: 'Sra. Katherine de Arruda'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
-
id: c71cb930-01f3-381c-9172-e1c70e63388f
name: 'Liz Sueli Pacheco Neto'
email: jrosa@example.net
phone: '(49) 3996-5127'
document: 69.737.788/0001-10
type: pf
responsible: 'Sr. Rodrigo Gil'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
email: yohanna44@example.org
phone: '(94) 94866-9606'
document: 90.915.066/0001-02
type: pj
responsible: 'Sra. Katherine de Arruda'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
-
id: c71cb930-01f3-381c-9172-e1c70e63388f
name: 'Liz Sueli Pacheco Neto'
email: jrosa@example.net
phone: '(49) 3996-5127'
document: 69.737.788/0001-10
type: pf
responsible: 'Sr. Rodrigo Gil'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
email:
type: string
example: yohanna44@example.org
phone:
type: string
example: '(94) 94866-9606'
document:
type: string
example: 90.915.066/0001-02
type:
type: string
example: pj
responsible:
type: string
example: 'Sra. Katherine de Arruda'
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Suppliers
post:
summary: 'Create supplier'
operationId: createSupplier
description: 'Create a new supplier'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Suppliers
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
phone:
type: string
description: Telefone.
example: '(11) 99999-9999'
nullable: false
document:
type: string
description: CPF/CNPJ.
example: 'Example Document'
nullable: false
type:
type: string
description: Tipo.
example: 'Example Type'
nullable: false
enum:
- pf
- pj
responsible:
type: string
description: Responsável.
example: 'Example Responsible'
nullable: true
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
address:
type: object
description: Endereço.
example:
- example1
- example2
nullable: false
properties:
street:
type: string
description: Rua.
example: 'Example Address street'
nullable: false
number:
type: string
description: Número.
example: 'Example Address number'
nullable: false
complement:
type: string
description: Complemento.
example: 'Example Address complement'
nullable: false
neighborhood:
type: string
description: Bairro.
example: 'Example Address neighborhood'
nullable: false
city:
type: string
description: Cidade.
example: 'Example Address city'
nullable: false
state:
type: string
description: Estado.
example: 'Example Address state'
nullable: false
zip_code:
type: string
description: CEP.
example: 'Example Address zip code'
nullable: false
required:
- street
- number
- neighborhood
- city
- state
- zip_code
required:
- name
- document
- type
'/api/suppliers/{id}':
get:
summary: 'Get supplier'
operationId: getSupplier
description: 'Get a supplier'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
email: yohanna44@example.org
phone: '(94) 94866-9606'
document: 90.915.066/0001-02
type: pj
responsible: 'Sra. Katherine de Arruda'
image:
id: null
url: null
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
email:
type: string
example: yohanna44@example.org
phone:
type: string
example: '(94) 94866-9606'
document:
type: string
example: 90.915.066/0001-02
type:
type: string
example: pj
responsible:
type: string
example: 'Sra. Katherine de Arruda'
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
tags:
- Suppliers
put:
summary: 'Update supplier'
operationId: updateSupplier
description: 'Update a supplier'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Suppliers
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
phone:
type: string
description: Telefone.
example: '(11) 99999-9999'
nullable: false
document:
type: string
description: CPF/CNPJ.
example: 'Example Document'
nullable: false
type:
type: string
description: Tipo.
example: 'Example Type'
nullable: false
enum:
- pf
- pj
responsible:
type: string
description: Responsável.
example: 'Example Responsible'
nullable: true
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
address:
type: object
description: Endereço.
example:
- example1
- example2
nullable: false
properties:
street:
type: string
description: Rua.
example: 'Example Address street'
nullable: false
number:
type: string
description: Número.
example: 'Example Address number'
nullable: false
complement:
type: string
description: Complemento.
example: 'Example Address complement'
nullable: false
neighborhood:
type: string
description: Bairro.
example: 'Example Address neighborhood'
nullable: false
city:
type: string
description: Cidade.
example: 'Example Address city'
nullable: false
state:
type: string
description: Estado.
example: 'Example Address state'
nullable: false
zip_code:
type: string
description: CEP.
example: 'Example Address zip code'
nullable: false
parameters:
-
in: path
name: id
description: 'The ID of the supplier.'
example: 1
required: true
schema:
type: integer
-
in: path
name: supplier
description: 'Supplier ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/suppliers/{supplier}':
delete:
summary: 'Delete supplier'
operationId: deleteSupplier
description: 'Delete a supplier'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Suppliers
parameters:
-
in: path
name: supplier
description: 'Supplier ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/system-types:
get:
summary: 'System Types'
operationId: systemTypes
description: 'Get the system types'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
bankAccountTypes:
key: value
fileTypes:
key: value
legalEntityTypes:
key: value
transactionTypes:
key: value
properties:
data:
type: object
properties:
bankAccountTypes:
type: object
properties:
key:
type: string
example: value
fileTypes:
type: object
properties:
key:
type: string
example: value
legalEntityTypes:
type: object
properties:
key:
type: string
example: value
transactionTypes:
type: object
properties:
key:
type: string
example: value
tags:
- 'System Types'
/api/transaction-categories:
get:
summary: 'List transaction categories'
operationId: listTransactionCategories
description: 'List all transaction categories'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Salary
required: false
schema:
type: string
description: 'Search query.'
example: Salary
nullable: true
-
in: query
name: type
description: 'Transaction type.'
example: entrada
required: false
schema:
type: string
description: 'Transaction type.'
example: entrada
nullable: true
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
description: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
type: saída
-
id: 8529678e-de6b-32f2-9f70-231a0d681563
name: 'Dr. Erik Dias Feliciano'
description: 'Qui repudiandae laboriosam est alias. Ratione nemo voluptate accusamus ut et recusandae modi rerum. Repellendus assumenda et tenetur ab reiciendis.'
type: saída
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
description: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
type: saída
-
id: 8529678e-de6b-32f2-9f70-231a0d681563
name: 'Dr. Erik Dias Feliciano'
description: 'Qui repudiandae laboriosam est alias. Ratione nemo voluptate accusamus ut et recusandae modi rerum. Repellendus assumenda et tenetur ab reiciendis.'
type: saída
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
description:
type: string
example: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
type:
type: string
example: saída
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Transaction Categories'
post:
summary: 'Create transaction category'
operationId: createTransactionCategory
description: 'Create a new transaction category'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Transaction Categories'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: false
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
required:
- name
- type
'/api/transaction-categories/{transactionCategory}':
get:
summary: 'Show transaction category'
operationId: showTransactionCategory
description: 'Show a transaction category'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
description: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
type: saída
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
description:
type: string
example: 'Et et modi ipsum nostrum. Autem et consequatur aut dolores enim non facere tempora.'
type:
type: string
example: saída
tags:
- 'Transaction Categories'
put:
summary: 'Update transaction category'
operationId: updateTransactionCategory
description: 'Update a transaction category'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Transaction Categories'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name.
example: 'Example Name'
nullable: false
description:
type: string
description: Description.
example: 'Example Description'
nullable: false
type:
type: string
description: Type.
example: 'Example Type'
nullable: false
enum:
- entrada
- saída
- tarifa
- depósito
- saque
- transferência
- pagamento
- juros
- ajuste
required:
- name
- type
delete:
summary: 'Delete transaction category'
operationId: deleteTransactionCategory
description: 'Delete a transaction category'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Transaction Categories'
parameters:
-
in: path
name: transactionCategory
description: 'Transaction category UUID'
example: architecto
required: true
schema:
type: string
/api/units:
get:
summary: 'List units'
operationId: listUnits
description: 'List all units'
parameters:
-
in: query
name: q
description: ''
example: Structure
required: false
schema:
type: string
description: ''
example: Structure
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 40ca43dc-04ad-3013-9e5a-29623bacd146
name: 'Dr. Mel Alícia Rios Filho'
abbreviation: 'Sr. Ian Quintana'
description: 'Harum fugit non dolorem et.'
created_at: null
updated_at: null
-
id: 043c4510-c1c5-3271-9263-95b3b164db80
name: 'Dr. Késia Montenegro'
abbreviation: 'Thalita Rocha Rios'
description: 'Repellat ullam ab iste.'
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: 40ca43dc-04ad-3013-9e5a-29623bacd146
name: 'Dr. Mel Alícia Rios Filho'
abbreviation: 'Sr. Ian Quintana'
description: 'Harum fugit non dolorem et.'
created_at: null
updated_at: null
-
id: 043c4510-c1c5-3271-9263-95b3b164db80
name: 'Dr. Késia Montenegro'
abbreviation: 'Thalita Rocha Rios'
description: 'Repellat ullam ab iste.'
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: 40ca43dc-04ad-3013-9e5a-29623bacd146
name:
type: string
example: 'Dr. Mel Alícia Rios Filho'
abbreviation:
type: string
example: 'Sr. Ian Quintana'
description:
type: string
example: 'Harum fugit non dolorem et.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Units
post:
summary: 'Create unit'
operationId: createUnit
description: 'Create a new unit'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Units
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
nullable: false
abbreviation:
type: string
description: ''
example: architecto
nullable: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- name
- abbreviation
'/api/units/{id}':
get:
summary: 'Show unit'
operationId: showUnit
description: 'Show a unit'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
abbreviation: 'Edilson Caldeira Filho'
description: 'Id aut libero aliquam veniam.'
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
abbreviation:
type: string
example: 'Edilson Caldeira Filho'
description:
type: string
example: 'Id aut libero aliquam veniam.'
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- Units
put:
summary: 'Update unit'
operationId: updateUnit
description: 'Update a unit'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Units
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
nullable: false
abbreviation:
type: string
description: ''
example: architecto
nullable: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- name
- abbreviation
parameters:
-
in: path
name: id
description: 'The ID of the unit.'
example: 1
required: true
schema:
type: integer
-
in: path
name: unit
description: 'Unit UUID'
example: architecto
required: true
schema:
type: string
'/api/units/{unit}':
delete:
summary: 'Delete unit'
operationId: deleteUnit
description: 'Delete a unit'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Units
parameters:
-
in: path
name: unit
description: 'Unit UUID'
example: architecto
required: true
schema:
type: string
/api/users:
get:
summary: 'List users'
operationId: listUsers
description: 'List all users'
parameters:
-
in: query
name: q
description: 'Search query.'
example: 'User name'
required: false
schema:
type: string
description: 'Search query.'
example: 'User name'
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Miss Pearl Hauck'
username: balistreri.josiane
email: wbatz@example.net
image:
id: null
url: null
sectors: []
roles: []
-
id: 8529678e-de6b-32f2-9f70-231a0d681563
name: 'Gerhard Beier'
username: doris.franecki
email: pagac.skylar@example.org
image:
id: null
url: null
sectors: []
roles: []
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Miss Pearl Hauck'
username: balistreri.josiane
email: wbatz@example.net
image:
id: null
url: null
sectors: []
roles: []
-
id: 8529678e-de6b-32f2-9f70-231a0d681563
name: 'Gerhard Beier'
username: doris.franecki
email: pagac.skylar@example.org
image:
id: null
url: null
sectors: []
roles: []
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Miss Pearl Hauck'
username:
type: string
example: balistreri.josiane
email:
type: string
example: wbatz@example.net
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
sectors:
type: array
example: []
roles:
type: array
example: []
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Users
post:
summary: 'Create user'
operationId: createUser
description: 'Create a new user'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
username:
type: string
description: Usuário.
example: libby.bradtke
nullable: false
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
sectors:
type: array
description: 'UUID do setor. The uuid of an existing record in the sectors table.'
example:
- 3637ab3b-64aa-3e77-a6a7-c306cb6519a5
items:
type: string
roles:
type: array
description: 'UUID da função. The uuid of an existing record in the roles table.'
example:
- 43fd77a7-5d0e-3206-88ea-5c77b63072ad
items:
type: string
required:
- name
- email
- username
'/api/users/{id}':
get:
summary: 'Get user'
operationId: getUser
description: 'Get a user'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Miss Pearl Hauck'
username: torp.florence
email: oking@example.net
image:
id: null
url: null
sectors: []
roles: []
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Miss Pearl Hauck'
username:
type: string
example: torp.florence
email:
type: string
example: oking@example.net
image:
type: object
properties:
id:
type: string
example: null
url:
type: string
example: null
sectors:
type: array
example: []
roles:
type: array
example: []
tags:
- Users
put:
summary: 'Update user'
operationId: updateUser
description: 'Update a user'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Users
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Nome.
example: 'Example Name'
nullable: false
email:
type: string
description: 'E-mail. O campo value deve ser um endereço de e-mail válido.'
example: user@example.com
nullable: false
username:
type: string
description: Usuário.
example: schmidt.elton
nullable: false
password:
type: string
description: Password.
example: password123
nullable: false
image:
type: object
description: Imagem.
example:
- example1
- example2
nullable: false
properties:
path:
type: string
description: 'Caminho da imagem. This field is required when image is present.'
example: 'Example Image path'
nullable: false
name:
type: string
description: 'Nome da imagem.'
example: 'Example Name'
nullable: true
extension:
type: string
description: 'Extensão da imagem.'
example: 'Example Image extension'
nullable: true
size:
type: string
description: 'Tamanho da imagem.'
example: 'Example Image size'
nullable: true
sectors:
type: array
description: 'UUID do setor. The uuid of an existing record in the sectors table.'
example:
- 067d00f5-e958-3b01-bc80-7e5e367be869
items:
type: string
roles:
type: array
description: 'UUID da função. The uuid of an existing record in the roles table.'
example:
- af49b819-28db-33bd-b66b-66e0bad1c5fa
items:
type: string
parameters:
-
in: path
name: id
description: 'The ID of the user.'
example: 1
required: true
schema:
type: integer
'/api/users/{user}':
delete:
summary: 'Delete user'
operationId: deleteUser
description: 'Delete a user'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Users
parameters:
-
in: path
name: user
description: 'The user.'
example: 1
required: true
schema:
type: integer
'/api/users/{user}/password-reset':
put:
summary: 'Reset user password'
operationId: resetUserPassword
description: 'Reset a user password'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Password reset successfully to foobaar'
properties:
message:
type: string
example: 'Password reset successfully to foobaar'
tags:
- Users
parameters:
-
in: path
name: user
description: 'User ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
'/api/users/{user}/permissions':
put:
summary: 'Attach permissions to user'
operationId: attachPermissionsToUser
description: 'Attach direct permissions to a user'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permissions attached successfully'
properties:
message:
type: string
example: 'Permissions attached successfully'
tags:
- Users
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'UUID da permissão. The uuid of an existing record in the permissions table.'
example:
- bfc53181-d647-36b2-9080-f9c2b76006f4
items:
type: string
get:
summary: 'List user direct permissions'
operationId: listUserDirectPermissions
description: 'List direct permissions associated with a user'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: null
name: quidem
display_name: 'Qui commodi incidunt iure odit.'
-
id: null
name: modi
display_name: 'Nostrum omnis autem et consequatur aut.'
properties:
data:
type: array
example:
-
id: null
name: quidem
display_name: 'Qui commodi incidunt iure odit.'
-
id: null
name: modi
display_name: 'Nostrum omnis autem et consequatur aut.'
items:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: quidem
display_name:
type: string
example: 'Qui commodi incidunt iure odit.'
tags:
- Users
parameters:
-
in: path
name: user
description: 'The user.'
example: 1
required: true
schema:
type: integer
/api/work-locations:
get:
summary: 'List work locations'
operationId: listWorkLocations
description: 'List all work locations'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Tecnologia
required: false
schema:
type: string
description: 'Search query.'
example: Tecnologia
nullable: true
-
in: query
name: work
description: 'Work. The uuid of an existing record in the works table.'
example: uuid
required: false
schema:
type: string
description: 'Work. The uuid of an existing record in the works table.'
example: uuid
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
description: 'Sr. George de Souza Delvalle'
work:
id: null
name: null
documents: []
created_at: null
updated_at: null
-
id: c68e0767-6220-31fb-a489-61093ff79529
description: 'Valentin Ramos Zamana'
work:
id: null
name: null
documents: []
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
description: 'Sr. George de Souza Delvalle'
work:
id: null
name: null
documents: []
created_at: null
updated_at: null
-
id: c68e0767-6220-31fb-a489-61093ff79529
description: 'Valentin Ramos Zamana'
work:
id: null
name: null
documents: []
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
description:
type: string
example: 'Sr. George de Souza Delvalle'
work:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
documents:
type: array
example: []
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Work Locations'
post:
summary: 'Create work location'
operationId: createWorkLocation
description: 'Create a new work location'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Work Locations'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: 'Eius et animi quos velit et.'
nullable: false
work_id:
type: string
description: 'The uuid of an existing record in the works table.'
example: architecto
nullable: false
required:
- description
- work_id
'/api/work-locations/{workLocation}':
get:
summary: 'Get work location'
operationId: getWorkLocation
description: 'Get a work location'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
description: 'Sr. George de Souza Delvalle'
work:
id: null
name: null
documents: []
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
description:
type: string
example: 'Sr. George de Souza Delvalle'
work:
type: object
properties:
id:
type: string
example: null
name:
type: string
example: null
documents:
type: array
example: []
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- 'Work Locations'
put:
summary: 'Update work location'
operationId: updateWorkLocation
description: 'Update a work location'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- 'Work Locations'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: 'Eius et animi quos velit et.'
nullable: false
work_id:
type: string
description: 'The uuid of an existing record in the works table.'
example: null
nullable: false
required:
- description
delete:
summary: 'Delete work location'
operationId: deleteWorkLocation
description: 'Delete a work location'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- 'Work Locations'
parameters:
-
in: path
name: workLocation
description: 'Work Location ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string
/api/works:
get:
summary: 'List works'
operationId: listWorks
description: 'List all works'
parameters:
-
in: query
name: sortBy
description: 'Field to sort by.'
example: created_at
required: false
schema:
type: string
description: 'Field to sort by.'
example: created_at
nullable: true
-
in: query
name: sortDesc
description: 'Sort order (true for descending, false for ascending).'
example: true
required: false
schema:
type: boolean
description: 'Sort order (true for descending, false for ascending).'
example: true
nullable: true
-
in: query
name: q
description: 'Search query.'
example: Tecnologia
required: false
schema:
type: string
description: 'Search query.'
example: Tecnologia
nullable: true
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents: []
locations: []
started_at:
date: '1983-05-17 00:07:42.000000'
timezone_type: 3
timezone: America/Sao_Paulo
created_at: null
updated_at: null
-
id: d9be5934-80e7-34a9-a136-841b5f0aea83
name: 'Wilson Zamana Valdez Sobrinho'
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents: []
locations: []
started_at:
date: '2009-07-27 01:40:06.000000'
timezone_type: 3
timezone: America/Sao_Paulo
created_at: null
updated_at: null
links:
first: '/?page=1'
last: '/?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
path: /
per_page: 10
to: 2
total: 2
properties:
data:
type: array
example:
-
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents: []
locations: []
started_at:
date: '1983-05-17 00:07:42.000000'
timezone_type: 3
timezone: America/Sao_Paulo
created_at: null
updated_at: null
-
id: d9be5934-80e7-34a9-a136-841b5f0aea83
name: 'Wilson Zamana Valdez Sobrinho'
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents: []
locations: []
started_at:
date: '2009-07-27 01:40:06.000000'
timezone_type: 3
timezone: America/Sao_Paulo
created_at: null
updated_at: null
items:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
documents:
type: array
example: []
locations:
type: array
example: []
started_at:
type: object
properties:
date:
type: string
example: '1983-05-17 00:07:42.000000'
timezone_type:
type: integer
example: 3
timezone:
type: string
example: America/Sao_Paulo
created_at:
type: string
example: null
updated_at:
type: string
example: null
links:
type: object
properties:
first:
type: string
example: '/?page=1'
last:
type: string
example: '/?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Anterior'
page: null
active: false
-
url: '/?page=1'
label: '1'
page: 1
active: true
-
url: null
label: 'Próximo »'
page: null
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Anterior'
page:
type: string
example: null
active:
type: boolean
example: false
path:
type: string
example: /
per_page:
type: integer
example: 10
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Works
post:
summary: 'Create work'
operationId: createWork
description: 'Create a new work'
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Works
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
customer_id:
type: string
description: 'The uuid of an existing record in the customers table.'
example: architecto
nullable: false
status_id:
type: string
description: 'The uuid of an existing record in the statuses table.'
example: architecto
nullable: false
started_at:
type: string
description: 'O campo value deve ser uma data válida.'
example: '2025-11-14T16:40:49'
nullable: true
address:
type: object
description: ''
example: []
nullable: false
properties:
street:
type: string
description: ''
example: architecto
nullable: false
number:
type: string
description: ''
example: architecto
nullable: false
complement:
type: string
description: ''
example: null
nullable: false
neighborhood:
type: string
description: ''
example: architecto
nullable: false
city:
type: string
description: ''
example: architecto
nullable: false
state:
type: string
description: ''
example: architecto
nullable: false
zip_code:
type: string
description: ''
example: architecto
nullable: false
required:
- street
- number
- neighborhood
- city
- state
- zip_code
required:
- name
- customer_id
- status_id
- address
'/api/works/{id}':
get:
summary: 'Get work'
operationId: getWork
description: 'Get a work'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: bfc53181-d647-36b2-9080-f9c2b76006f4
name: 'Sr. George de Souza Delvalle'
address:
street: null
number: null
complement: null
neighborhood: null
city: null
state: null
zip_code: null
documents: []
locations: []
started_at:
date: '1983-05-17 00:07:42.000000'
timezone_type: 3
timezone: America/Sao_Paulo
created_at: null
updated_at: null
properties:
data:
type: object
properties:
id:
type: string
example: bfc53181-d647-36b2-9080-f9c2b76006f4
name:
type: string
example: 'Sr. George de Souza Delvalle'
address:
type: object
properties:
street:
type: string
example: null
number:
type: string
example: null
complement:
type: string
example: null
neighborhood:
type: string
example: null
city:
type: string
example: null
state:
type: string
example: null
zip_code:
type: string
example: null
documents:
type: array
example: []
locations:
type: array
example: []
started_at:
type: object
properties:
date:
type: string
example: '1983-05-17 00:07:42.000000'
timezone_type:
type: integer
example: 3
timezone:
type: string
example: America/Sao_Paulo
created_at:
type: string
example: null
updated_at:
type: string
example: null
tags:
- Works
put:
summary: 'Update work'
operationId: updateWork
description: 'Update a work'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: string
properties:
message:
type: string
example: string
tags:
- Works
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'O campo value não pode ser superior a 255 caracteres.'
example: b
nullable: false
customer_id:
type: string
description: 'The uuid of an existing record in the customers table.'
example: architecto
nullable: false
status_id:
type: string
description: 'The uuid of an existing record in the statuses table.'
example: architecto
nullable: false
started_at:
type: string
description: 'O campo value deve ser uma data válida.'
example: '2025-11-14T16:40:49'
nullable: true
address:
type: object
description: ''
example: null
nullable: false
properties:
street:
type: string
description: ''
example: null
nullable: false
number:
type: string
description: ''
example: null
nullable: false
complement:
type: string
description: ''
example: null
nullable: false
neighborhood:
type: string
description: ''
example: null
nullable: false
city:
type: string
description: ''
example: null
nullable: false
state:
type: string
description: ''
example: null
nullable: false
zip_code:
type: string
description: ''
example: null
nullable: false
required:
- name
- customer_id
- status_id
delete:
summary: 'Delete work'
operationId: deleteWork
description: 'Delete a work'
parameters: []
responses:
204:
description: ''
content:
application/json:
schema:
type: object
nullable: true
tags:
- Works
parameters:
-
in: path
name: id
description: 'The ID of the work.'
example: 1
required: true
schema:
type: integer
-
in: path
name: work
description: 'Work ID'
example: 019556e7-2e9f-777c-a177-30bbf0646c32
required: true
schema:
type: string