mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
6096 lines
219 KiB
YAML
6096 lines
219 KiB
YAML
components:
|
|
schemas:
|
|
ErrorEnvelope:
|
|
properties:
|
|
code:
|
|
example: 401
|
|
type: integer
|
|
errors:
|
|
additionalProperties: true
|
|
type: object
|
|
message:
|
|
example: Please authenticate
|
|
type: string
|
|
status:
|
|
example: error
|
|
type: string
|
|
type: object
|
|
PaginatedEnvelope:
|
|
properties:
|
|
code:
|
|
example: 200
|
|
type: integer
|
|
data:
|
|
items:
|
|
additionalProperties: true
|
|
type: object
|
|
type: array
|
|
message:
|
|
example: Request completed successfully
|
|
type: string
|
|
meta:
|
|
properties:
|
|
limit:
|
|
example: 10
|
|
type: integer
|
|
page:
|
|
example: 1
|
|
type: integer
|
|
total_pages:
|
|
example: 1
|
|
type: integer
|
|
total_results:
|
|
example: 0
|
|
type: integer
|
|
type: object
|
|
status:
|
|
example: success
|
|
type: string
|
|
type: object
|
|
SuccessEnvelope:
|
|
properties:
|
|
code:
|
|
example: 200
|
|
type: integer
|
|
data:
|
|
additionalProperties: true
|
|
type: object
|
|
message:
|
|
example: Request completed successfully
|
|
type: string
|
|
status:
|
|
example: success
|
|
type: string
|
|
type: object
|
|
securitySchemes:
|
|
ApiKeyAuth:
|
|
in: header
|
|
name: X-API-Key
|
|
type: apiKey
|
|
BearerAuth:
|
|
scheme: bearer
|
|
type: http
|
|
info:
|
|
description: Read-only OpenAPI surface for dashboard integrations and GET endpoint exploration.
|
|
title: LTI ERP Read API
|
|
version: v1
|
|
openapi: 3.1.0
|
|
paths:
|
|
/api/approvals/:
|
|
get:
|
|
description: Read access to `/api/approvals`.
|
|
parameters:
|
|
- description: Approval workflow module name.
|
|
example: EXPENSES
|
|
in: query
|
|
name: module_name
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: Optional approvable module id.
|
|
example: 1
|
|
in: query
|
|
name: module_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Group approval records by step number.
|
|
example: false
|
|
in: query
|
|
name: group_step_number
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: approval
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort direction by date.
|
|
example: DESC
|
|
in: query
|
|
name: order_by_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / approvals
|
|
tags:
|
|
- API
|
|
/api/closings/:
|
|
get:
|
|
description: Read access to `/api/closings`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: kandang
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Project status filter (1 or 2).
|
|
example: 1
|
|
in: query
|
|
name: project_status
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings
|
|
tags:
|
|
- API
|
|
/api/closings/{project_flock_id}/{project_flock_kandang_id}/expedition-hpp:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/:project_flock_kandang_id/expedition-hpp`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Path parameter `project_flock_kandang_id`.
|
|
in: path
|
|
name: project_flock_kandang_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / :project_flock_kandang_id / expedition hpp
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/{project_flock_kandang_id}/keuangan:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/:project_flock_kandang_id/keuangan`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Path parameter `project_flock_kandang_id`.
|
|
in: path
|
|
name: project_flock_kandang_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / :project_flock_kandang_id / keuangan
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/{project_flock_kandang_id}/overhead:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/:project_flock_kandang_id/overhead`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Path parameter `project_flock_kandang_id`.
|
|
in: path
|
|
name: project_flock_kandang_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / :project_flock_kandang_id / overhead
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/{project_flock_kandang_id}/penjualan:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/:project_flock_kandang_id/penjualan`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Path parameter `project_flock_kandang_id`.
|
|
in: path
|
|
name: project_flock_kandang_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / :project_flock_kandang_id / penjualan
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/{project_flock_kandang_id}/perhitungan_sapronak:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/:project_flock_kandang_id/perhitungan_sapronak`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Path parameter `project_flock_kandang_id`.
|
|
in: path
|
|
name: project_flock_kandang_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Product category flag filter (DOC/OVK/PAKAN/PULLET).
|
|
example: DOC
|
|
in: query
|
|
name: flag
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / :project_flock_kandang_id / perhitungan_sapronak
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/expedition-hpp:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/expedition-hpp`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Optional project flock kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / expedition hpp
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/overhead:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/overhead`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / overhead
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/penjualan:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/penjualan`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / penjualan
|
|
tags:
|
|
- Closings
|
|
/api/closings/{project_flock_id}/perhitungan_sapronak:
|
|
get:
|
|
description: Read access to `/api/closings/:project_flock_id/perhitungan_sapronak`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Product category flag filter (DOC/OVK/PAKAN/PULLET).
|
|
example: DOC
|
|
in: query
|
|
name: flag
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :project_flock_id / perhitungan_sapronak
|
|
tags:
|
|
- Closings
|
|
/api/closings/{projectFlockId}:
|
|
get:
|
|
description: Read access to `/api/closings/:projectFlockId`.
|
|
parameters:
|
|
- description: Path parameter `projectFlockId`.
|
|
in: path
|
|
name: projectFlockId
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Optional kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :projectFlockId
|
|
tags:
|
|
- Closings
|
|
/api/closings/{projectFlockId}/keuangan:
|
|
get:
|
|
description: Read access to `/api/closings/:projectFlockId/keuangan`.
|
|
parameters:
|
|
- description: Path parameter `projectFlockId`.
|
|
in: path
|
|
name: projectFlockId
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Optional kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :projectFlockId / keuangan
|
|
tags:
|
|
- Closings
|
|
/api/closings/{projectFlockId}/production-data:
|
|
get:
|
|
description: Read access to `/api/closings/:projectFlockId/production-data`.
|
|
parameters:
|
|
- description: Path parameter `projectFlockId`.
|
|
in: path
|
|
name: projectFlockId
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Optional kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :projectFlockId / production data
|
|
tags:
|
|
- Closings
|
|
/api/closings/{projectFlockId}/sapronak:
|
|
get:
|
|
description: Read access to `/api/closings/:projectFlockId/sapronak`.
|
|
parameters:
|
|
- description: Path parameter `projectFlockId`.
|
|
in: path
|
|
name: projectFlockId
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Required sapronak direction.
|
|
example: incoming
|
|
in: query
|
|
name: type
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: pakan
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Optional kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :projectFlockId / sapronak
|
|
tags:
|
|
- Closings
|
|
/api/closings/{projectFlockId}/sapronak/summary:
|
|
get:
|
|
description: Read access to `/api/closings/:projectFlockId/sapronak/summary`.
|
|
parameters:
|
|
- description: Path parameter `projectFlockId`.
|
|
in: path
|
|
name: projectFlockId
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Required sapronak direction.
|
|
example: incoming
|
|
in: query
|
|
name: type
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: Search keyword.
|
|
example: pakan
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Optional kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / closings / :projectFlockId / sapronak / summary
|
|
tags:
|
|
- Closings
|
|
/api/constants/:
|
|
get:
|
|
description: Read access to `/api/constants`.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: GET api / constants
|
|
tags:
|
|
- API
|
|
/api/daily-checklists/:
|
|
get:
|
|
description: Read access to `/api/daily-checklists`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: kebersihan
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Start date filter (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: date_from
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: End date filter (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: date_to
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Checklist status filter.
|
|
example: done
|
|
in: query
|
|
name: status
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / daily checklists
|
|
tags:
|
|
- Daily Checklists
|
|
/api/daily-checklists/phase/{idDailyChecklist}:
|
|
get:
|
|
description: Read access to `/api/daily-checklists/phase/:idDailyChecklist`.
|
|
parameters:
|
|
- description: Path parameter `idDailyChecklist`.
|
|
in: path
|
|
name: idDailyChecklist
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / daily checklists / phase / :idDailyChecklist
|
|
tags:
|
|
- Daily Checklists
|
|
/api/daily-checklists/relation/{idDailyChecklist}:
|
|
get:
|
|
description: Read access to `/api/daily-checklists/relation/:idDailyChecklist`.
|
|
parameters:
|
|
- description: Path parameter `idDailyChecklist`.
|
|
in: path
|
|
name: idDailyChecklist
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / daily checklists / relation / :idDailyChecklist
|
|
tags:
|
|
- Daily Checklists
|
|
/api/daily-checklists/report:
|
|
get:
|
|
description: Read access to `/api/daily-checklists/report`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Month number (1-12).
|
|
example: 1
|
|
in: query
|
|
name: bulan
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Year.
|
|
example: 2026
|
|
in: query
|
|
name: tahun
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Employee id filter.
|
|
example: 1
|
|
in: query
|
|
name: employee_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Phase id filter.
|
|
example: 1
|
|
in: query
|
|
name: phase_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / daily checklists / report
|
|
tags:
|
|
- Daily Checklists
|
|
/api/daily-checklists/summary:
|
|
get:
|
|
description: Read access to `/api/daily-checklists/summary`.
|
|
parameters:
|
|
- description: Start date filter (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: date_from
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: End date filter (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: date_to
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: Checklist category filter.
|
|
example: cleaning
|
|
in: query
|
|
name: category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / daily checklists / summary
|
|
tags:
|
|
- Daily Checklists
|
|
/api/daily-checklists/tasks:
|
|
get:
|
|
description: Read access to `/api/daily-checklists/tasks`.
|
|
parameters:
|
|
- description: Daily checklist id.
|
|
example: 1
|
|
in: query
|
|
name: checklist_id
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / daily checklists / tasks
|
|
tags:
|
|
- Daily Checklists
|
|
/api/dashboards/:
|
|
get:
|
|
description: Read access to `/api/dashboards`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: farm
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period end date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Dashboard analysis mode.
|
|
example: OVERVIEW
|
|
in: query
|
|
name: analysis_mode
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Required when analysis_mode is COMPARISON.
|
|
example: PREVIOUS_PERIOD
|
|
in: query
|
|
name: comparison_type
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Metric to compare.
|
|
example: egg_mass
|
|
in: query
|
|
name: metric
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated location ids.
|
|
example: 1,2
|
|
in: query
|
|
name: location_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated flock ids.
|
|
example: 1,2
|
|
in: query
|
|
name: flock_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated kandang ids.
|
|
example: 1,2
|
|
in: query
|
|
name: kandang_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated dashboard sections to include.
|
|
example: performance,summary
|
|
in: query
|
|
name: include
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / dashboards
|
|
tags:
|
|
- Dashboards
|
|
/api/expenses/:
|
|
get:
|
|
description: Read access to `/api/expenses`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: operasional
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / expenses
|
|
tags:
|
|
- Expenses
|
|
/api/expenses/{id}:
|
|
get:
|
|
description: Read access to `/api/expenses/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / expenses / :id
|
|
tags:
|
|
- Expenses
|
|
/api/finance/initial-balances/{id}:
|
|
get:
|
|
description: Read access to `/api/finance/initial-balances/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / finance / initial balances / :id
|
|
tags:
|
|
- Finance
|
|
/api/finance/injections/{id}:
|
|
get:
|
|
description: Read access to `/api/finance/injections/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / finance / injections / :id
|
|
tags:
|
|
- Finance
|
|
/api/finance/payments/{id}:
|
|
get:
|
|
description: Read access to `/api/finance/payments/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / finance / payments / :id
|
|
tags:
|
|
- Finance
|
|
/api/finance/transactions/:
|
|
get:
|
|
description: Read access to `/api/finance/transactions`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: invoice
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated bank ids.
|
|
example: 1,2
|
|
in: query
|
|
name: bank_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated customer ids.
|
|
example: 1,2
|
|
in: query
|
|
name: customer_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated supplier ids.
|
|
example: 1,2
|
|
in: query
|
|
name: supplier_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated transaction types.
|
|
example: payment,initial_balance
|
|
in: query
|
|
name: transaction_types
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort date basis.
|
|
example: created_at
|
|
in: query
|
|
name: sort_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: End date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / finance / transactions
|
|
tags:
|
|
- Finance
|
|
/api/finance/transactions/{id}:
|
|
get:
|
|
description: Read access to `/api/finance/transactions/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / finance / transactions / :id
|
|
tags:
|
|
- Finance
|
|
/api/inventory/adjustments/:
|
|
get:
|
|
description: Read access to `/api/inventory/adjustments`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Product id filter.
|
|
example: 1
|
|
in: query
|
|
name: product_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Warehouse id filter.
|
|
example: 1
|
|
in: query
|
|
name: warehouse_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Transaction type filter.
|
|
example: IN
|
|
in: query
|
|
name: transaction_type
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Transaction subtype filter.
|
|
example: ADJUSTMENT
|
|
in: query
|
|
name: transaction_subtype
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Function code filter.
|
|
example: MANUAL_ADJUSTMENT
|
|
in: query
|
|
name: function_code
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / adjustments
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/adjustments/{id}:
|
|
get:
|
|
description: Read access to `/api/inventory/adjustments/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / adjustments / :id
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/product-stocks/:
|
|
get:
|
|
description: Read access to `/api/inventory/product-stocks`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: pakan
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / product stocks
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/product-stocks/{id}:
|
|
get:
|
|
description: Read access to `/api/inventory/product-stocks/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / product stocks / :id
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/product-warehouses/:
|
|
get:
|
|
description: Read access to `/api/inventory/product-warehouses`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: gudang
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Product id filter.
|
|
example: 1
|
|
in: query
|
|
name: product_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Warehouse id filter.
|
|
example: 1
|
|
in: query
|
|
name: warehouse_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Stock flags filter.
|
|
example: DOC
|
|
in: query
|
|
name: flags
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Show available stock only.
|
|
example: true
|
|
in: query
|
|
name: available_only
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Transfer context filter.
|
|
example: inventory_transfer
|
|
in: query
|
|
name: transfer_context
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Stock mode filter.
|
|
example: exclude_chickin
|
|
in: query
|
|
name: stock_mode
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Warehouse stock type filter.
|
|
example: incoming
|
|
in: query
|
|
name: type
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / product warehouses
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/product-warehouses/{id}:
|
|
get:
|
|
description: Read access to `/api/inventory/product-warehouses/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / product warehouses / :id
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/transfers/:
|
|
get:
|
|
description: Read access to `/api/inventory/transfers`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: TRF
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / transfers
|
|
tags:
|
|
- Inventory
|
|
/api/inventory/transfers/{id}:
|
|
get:
|
|
description: Read access to `/api/inventory/transfers/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / inventory / transfers / :id
|
|
tags:
|
|
- Inventory
|
|
/api/marketing/:
|
|
get:
|
|
description: Read access to `/api/marketing`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: delivery
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated product ids.
|
|
example: 1,2
|
|
in: query
|
|
name: product_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Delivery status filter.
|
|
example: DRAFT
|
|
in: query
|
|
name: status
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Customer id filter.
|
|
example: 1
|
|
in: query
|
|
name: customer_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Marketing id filter.
|
|
example: 1
|
|
in: query
|
|
name: marketing_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / marketing
|
|
tags:
|
|
- Marketing
|
|
/api/marketing/{id}:
|
|
get:
|
|
description: Read access to `/api/marketing/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / marketing / :id
|
|
tags:
|
|
- Marketing
|
|
/api/master-data/areas/:
|
|
get:
|
|
description: Read access to `/api/master-data/areas`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: bandung
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / areas
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/areas/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/areas/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / areas / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/banks/:
|
|
get:
|
|
description: Read access to `/api/master-data/banks`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: bca
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / banks
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/banks/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/banks/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / banks / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/config-checklists/:
|
|
get:
|
|
description: Read access to `/api/master-data/config-checklists`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: harian
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / config checklists
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/config-checklists/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/config-checklists/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / config checklists / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/customers/:
|
|
get:
|
|
description: Read access to `/api/master-data/customers`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: pt
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Filter customer by marketing relation.
|
|
example: true
|
|
in: query
|
|
name: has_marketing
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / customers
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/customers/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/customers/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / customers / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/employees/:
|
|
get:
|
|
description: Read access to `/api/master-data/employees`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: andi
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Active status filter.
|
|
example: true
|
|
in: query
|
|
name: is_active
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / employees
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/employees/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/employees/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / employees / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/fcrs/:
|
|
get:
|
|
description: Read access to `/api/master-data/fcrs`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: fcr
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / fcrs
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/fcrs/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/fcrs/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / fcrs / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/flocks/:
|
|
get:
|
|
description: Read access to `/api/master-data/flocks`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: layer
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / flocks
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/flocks/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/flocks/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / flocks / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/kandang-groups/:
|
|
get:
|
|
description: Read access to `/api/master-data/kandang-groups`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: blok
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Person in charge id filter.
|
|
example: 1
|
|
in: query
|
|
name: pic_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / kandang groups
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/kandang-groups/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/kandang-groups/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / kandang groups / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/kandangs/:
|
|
get:
|
|
description: Read access to `/api/master-data/kandangs`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: kandang
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Person in charge id filter.
|
|
example: 1
|
|
in: query
|
|
name: pic_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / kandangs
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/kandangs/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/kandangs/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / kandangs / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/locations/:
|
|
get:
|
|
description: Read access to `/api/master-data/locations`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: farm
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Filter laying locations only.
|
|
example: false
|
|
in: query
|
|
name: has_laying
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / locations
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/locations/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/locations/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / locations / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/nonstocks/:
|
|
get:
|
|
description: Read access to `/api/master-data/nonstocks`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: vitamin
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Supplier id filter.
|
|
example: 1
|
|
in: query
|
|
name: supplier_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / nonstocks
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/nonstocks/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/nonstocks/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / nonstocks / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/phase-activities/:
|
|
get:
|
|
description: Read access to `/api/master-data/phase-activities`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: cek pakan
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated phase ids.
|
|
example: 1,2
|
|
in: query
|
|
name: phase_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / phase activities
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/phase-activities/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/phase-activities/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / phase activities / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/phases/:
|
|
get:
|
|
description: Read access to `/api/master-data/phases`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: starter
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Phase category filter.
|
|
example: Growing
|
|
in: query
|
|
name: category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / phases
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/phases/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/phases/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / phases / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/product-categories/:
|
|
get:
|
|
description: Read access to `/api/master-data/product-categories`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: pakan
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / product categories
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/product-categories/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/product-categories/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / product categories / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/production-standards/:
|
|
get:
|
|
description: Read access to `/api/master-data/production-standards`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: standar
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Project category filter.
|
|
example: GROWING
|
|
in: query
|
|
name: project_category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / production standards
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/production-standards/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/production-standards/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / production standards / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/products/:
|
|
get:
|
|
description: Read access to `/api/master-data/products`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: jagung
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Product category id filter.
|
|
example: 1
|
|
in: query
|
|
name: product_category_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Filter depletion products.
|
|
example: false
|
|
in: query
|
|
name: is_depletion
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Include all products regardless of status.
|
|
example: false
|
|
in: query
|
|
name: include_all
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / products
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/products/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/products/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / products / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/suppliers/:
|
|
get:
|
|
description: Read access to `/api/master-data/suppliers`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: supplier
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Supplier type flag filter.
|
|
example: ACTIVE
|
|
in: query
|
|
name: flag
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Supplier category filter.
|
|
example: PAKAN
|
|
in: query
|
|
name: category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / suppliers
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/suppliers/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/suppliers/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / suppliers / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/uoms/:
|
|
get:
|
|
description: Read access to `/api/master-data/uoms`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: kg
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / uoms
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/uoms/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/uoms/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / uoms / :id
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/warehouses/:
|
|
get:
|
|
description: Read access to `/api/master-data/warehouses`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: gudang
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Filter only active project flock warehouses.
|
|
example: false
|
|
in: query
|
|
name: active_project_flock
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Transfer context filter.
|
|
example: inventory_transfer
|
|
in: query
|
|
name: transfer_context
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / warehouses
|
|
tags:
|
|
- Master Data
|
|
/api/master-data/warehouses/{id}:
|
|
get:
|
|
description: Read access to `/api/master-data/warehouses/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / master data / warehouses / :id
|
|
tags:
|
|
- Master Data
|
|
/api/production/chickins/{id}:
|
|
get:
|
|
description: Read access to `/api/production/chickins/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / chickins / :id
|
|
tags:
|
|
- Production
|
|
/api/production/project-flock-kandangs/:
|
|
get:
|
|
description: Read access to `/api/production/project-flock-kandangs`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: kandang
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Return name-with-period projection.
|
|
example: false
|
|
in: query
|
|
name: name_with_periode
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Project flock id filter.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Project category filter.
|
|
example: Growing
|
|
in: query
|
|
name: category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Sort field.
|
|
example: created_at
|
|
in: query
|
|
name: sort_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort order.
|
|
example: ASC
|
|
in: query
|
|
name: sort_order
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Approval step name filter.
|
|
example: Pengajuan
|
|
in: query
|
|
name: step_name
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flock kandangs
|
|
tags:
|
|
- Production
|
|
/api/production/project-flock-kandangs/{id}:
|
|
get:
|
|
description: Read access to `/api/production/project-flock-kandangs/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flock kandangs / :id
|
|
tags:
|
|
- Production
|
|
/api/production/project-flock-kandangs/{id}/closing/check:
|
|
get:
|
|
description: Read access to `/api/production/project-flock-kandangs/:id/closing/check`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flock kandangs / :id / closing / check
|
|
tags:
|
|
- Production
|
|
/api/production/project-flocks/:
|
|
get:
|
|
description: Read access to `/api/production/project-flocks`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: flock
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort field.
|
|
example: created_at
|
|
in: query
|
|
name: sort_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort order.
|
|
example: asc
|
|
in: query
|
|
name: sort_order
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Project period filter.
|
|
example: 1
|
|
in: query
|
|
name: period
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Project category filter.
|
|
example: Growing
|
|
in: query
|
|
name: category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Project status filter.
|
|
example: Aktif
|
|
in: query
|
|
name: status
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated kandang ids.
|
|
example: 1,2
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Transfer context filter.
|
|
example: transfer_to_laying
|
|
in: query
|
|
name: transfer_context
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flocks
|
|
tags:
|
|
- Production
|
|
/api/production/project-flocks/{id}:
|
|
get:
|
|
description: Read access to `/api/production/project-flocks/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flocks / :id
|
|
tags:
|
|
- Production
|
|
/api/production/project-flocks/kandangs/lookup:
|
|
get:
|
|
description: Read access to `/api/production/project-flocks/kandangs/lookup`.
|
|
parameters:
|
|
- description: Project flock id.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Kandang id.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Include population value in response.
|
|
example: false
|
|
in: query
|
|
name: withpopulation
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Reference date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: record_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flocks / kandangs / lookup
|
|
tags:
|
|
- Production
|
|
/api/production/project-flocks/locations/{location_id}/periods:
|
|
get:
|
|
description: Read access to `/api/production/project-flocks/locations/:location_id/periods`.
|
|
parameters:
|
|
- description: Path parameter `location_id`.
|
|
in: path
|
|
name: location_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / project flocks / locations / :location_id / periods
|
|
tags:
|
|
- Production
|
|
/api/production/recordings/:
|
|
get:
|
|
description: Read access to `/api/production/recordings`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Project flock kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: record
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Export mode.
|
|
example: excel
|
|
in: query
|
|
name: export
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / recordings
|
|
tags:
|
|
- Production
|
|
/api/production/recordings/{id}:
|
|
get:
|
|
description: Read access to `/api/production/recordings/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / recordings / :id
|
|
tags:
|
|
- Production
|
|
/api/production/recordings/next-day:
|
|
get:
|
|
description: Read access to `/api/production/recordings/next-day`.
|
|
parameters:
|
|
- description: Project flock kandang id.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_kandang_id
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: Recording date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: record_date
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / recordings / next day
|
|
tags:
|
|
- Production
|
|
/api/production/transfer_layings/:
|
|
get:
|
|
description: Read access to `/api/production/transfer_layings`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: transfer
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: End date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated source flock ids.
|
|
example: 1,2
|
|
in: query
|
|
name: flock_source
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated destination flock ids.
|
|
example: 3,4
|
|
in: query
|
|
name: flock_destination
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated status values.
|
|
example: DRAFT,APPROVED
|
|
in: query
|
|
name: status
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / transfer_layings
|
|
tags:
|
|
- Production
|
|
/api/production/transfer_layings/{id}:
|
|
get:
|
|
description: Read access to `/api/production/transfer_layings/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / transfer_layings / :id
|
|
tags:
|
|
- Production
|
|
/api/production/transfer_layings/project-flocks/{project_flock_id}/available-qty:
|
|
get:
|
|
description: Read access to `/api/production/transfer_layings/project-flocks/:project_flock_id/available-qty`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / transfer_layings / project flocks / :project_flock_id / available qty
|
|
tags:
|
|
- Production
|
|
/api/production/transfer_layings/project-flocks/{project_flock_id}/max-target-qty:
|
|
get:
|
|
description: Read access to `/api/production/transfer_layings/project-flocks/:project_flock_id/max-target-qty`.
|
|
parameters:
|
|
- description: Path parameter `project_flock_id`.
|
|
in: path
|
|
name: project_flock_id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / transfer_layings / project flocks / :project_flock_id / max target qty
|
|
tags:
|
|
- Production
|
|
/api/production/uniformities/:
|
|
get:
|
|
description: Read access to `/api/production/uniformities`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Project flock kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Week number filter.
|
|
example: 1
|
|
in: query
|
|
name: week
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: End date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Include chart payload.
|
|
example: false
|
|
in: query
|
|
name: with_chart
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / uniformities
|
|
tags:
|
|
- Production
|
|
/api/production/uniformities/{id}:
|
|
get:
|
|
description: Read access to `/api/production/uniformities/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / production / uniformities / :id
|
|
tags:
|
|
- Production
|
|
/api/purchases/:
|
|
get:
|
|
description: Read access to `/api/purchases`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Supplier id filter.
|
|
example: 1
|
|
in: query
|
|
name: supplier_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Product category id filter.
|
|
example: "1"
|
|
in: query
|
|
name: product_category_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Approval status filter.
|
|
example: PENDING
|
|
in: query
|
|
name: approval_status
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: PO date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: po_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: PO date start (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: po_date_from
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: PO date end (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: po_date_to
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Search keyword.
|
|
example: PO-
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Created date start (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: created_from
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Created date end (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: created_to
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / purchases
|
|
tags:
|
|
- Purchases
|
|
/api/purchases/{id}:
|
|
get:
|
|
description: Read access to `/api/purchases/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / purchases / :id
|
|
tags:
|
|
- Purchases
|
|
/api/reports/customer-payment:
|
|
get:
|
|
description: Read access to `/api/reports/customer-payment`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Period start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period end date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated customer ids.
|
|
example: 1,2
|
|
in: query
|
|
name: customer_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Date field filter.
|
|
example: TRANS_DATE
|
|
in: query
|
|
name: filter_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / customer payment
|
|
tags:
|
|
- Reports
|
|
/api/reports/debt-supplier:
|
|
get:
|
|
description: Read access to `/api/reports/debt-supplier`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Period start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period end date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated supplier ids.
|
|
example: 1,2
|
|
in: query
|
|
name: supplier_ids
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Date field filter.
|
|
example: received_date
|
|
in: query
|
|
name: filter_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort order.
|
|
example: asc
|
|
in: query
|
|
name: sort_order
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / debt supplier
|
|
tags:
|
|
- Reports
|
|
/api/reports/expense:
|
|
get:
|
|
description: Read access to `/api/reports/expense`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: operasional
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Expense category filter.
|
|
example: BOP
|
|
in: query
|
|
name: category
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Supplier id filter.
|
|
example: 1
|
|
in: query
|
|
name: supplier_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Project flock kandang id filter.
|
|
example: 1
|
|
in: query
|
|
name: project_flock_kandang_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Nonstock id filter.
|
|
example: 1
|
|
in: query
|
|
name: nonstock_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Realization date filter (YYYY-MM-DD).
|
|
example: "2026-01-15"
|
|
in: query
|
|
name: realization_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / expense
|
|
tags:
|
|
- Reports
|
|
/api/reports/expense/depreciation:
|
|
get:
|
|
description: Read access to `/api/reports/expense/depreciation`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Daily period filter (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: period
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: Comma separated project flock ids.
|
|
example: 1,2
|
|
in: query
|
|
name: project_flock_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated area ids.
|
|
example: 1,2
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated location ids.
|
|
example: 1,2
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / expense / depreciation
|
|
tags:
|
|
- Reports
|
|
/api/reports/expense/depreciation/manual-inputs:
|
|
get:
|
|
description: Read access to `/api/reports/expense/depreciation/manual-inputs`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Comma separated project flock ids.
|
|
example: 1,2
|
|
in: query
|
|
name: project_flock_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated area ids.
|
|
example: 1,2
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated location ids.
|
|
example: 1,2
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / expense / depreciation / manual inputs
|
|
tags:
|
|
- Reports
|
|
/api/reports/hpp-per-kandang:
|
|
get:
|
|
description: Read access to `/api/reports/hpp-per-kandang`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Daily period filter (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: period
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Include unrecorded data.
|
|
example: false
|
|
in: query
|
|
name: show_unrecorded
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated area ids.
|
|
example: 1,2
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated location ids.
|
|
example: 1,2
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated kandang ids.
|
|
example: 1,2
|
|
in: query
|
|
name: kandang_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Minimum body weight filter.
|
|
example: "1.2"
|
|
in: query
|
|
name: weight_min
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Maximum body weight filter.
|
|
example: "1.8"
|
|
in: query
|
|
name: weight_max
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / hpp per kandang
|
|
tags:
|
|
- Reports
|
|
/api/reports/marketing:
|
|
get:
|
|
description: Read access to `/api/reports/marketing`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: SO-
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Customer id filter.
|
|
example: 1
|
|
in: query
|
|
name: customer_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Product id filter.
|
|
example: 1
|
|
in: query
|
|
name: product_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Warehouse id filter.
|
|
example: 1
|
|
in: query
|
|
name: warehouse_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Sales person id filter.
|
|
example: 1
|
|
in: query
|
|
name: sales_person_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Area id filter.
|
|
example: 1
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Location id filter.
|
|
example: 1
|
|
in: query
|
|
name: location_id
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Marketing type filter.
|
|
example: ayam
|
|
in: query
|
|
name: marketing_type
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Date field filter.
|
|
example: so_date
|
|
in: query
|
|
name: filter_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period end date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort field.
|
|
example: so_date
|
|
in: query
|
|
name: sort_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort order.
|
|
example: asc
|
|
in: query
|
|
name: sort_order
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / marketing
|
|
tags:
|
|
- Reports
|
|
/api/reports/production-result/{idProjectFlockKandang}:
|
|
get:
|
|
description: Read access to `/api/reports/production-result/:idProjectFlockKandang`.
|
|
parameters:
|
|
- description: Path parameter `idProjectFlockKandang`.
|
|
in: path
|
|
name: idProjectFlockKandang
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / production result / :idProjectFlockKandang
|
|
tags:
|
|
- Reports
|
|
/api/reports/purchase-supplier:
|
|
get:
|
|
description: Read access to `/api/reports/purchase-supplier`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Comma separated area ids.
|
|
example: 1,2
|
|
in: query
|
|
name: area_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated supplier ids.
|
|
example: 1,2
|
|
in: query
|
|
name: supplier_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated product ids.
|
|
example: 1,2
|
|
in: query
|
|
name: product_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Comma separated product category ids.
|
|
example: 1,2
|
|
in: query
|
|
name: product_category_id
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period start date (YYYY-MM-DD).
|
|
example: "2026-01-01"
|
|
in: query
|
|
name: start_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Period end date (YYYY-MM-DD).
|
|
example: "2026-01-31"
|
|
in: query
|
|
name: end_date
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Sort field.
|
|
example: created_at
|
|
in: query
|
|
name: sort_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- description: Filter field.
|
|
example: received_date
|
|
in: query
|
|
name: filter_by
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / reports / purchase supplier
|
|
tags:
|
|
- Reports
|
|
/api/sso/callback:
|
|
get:
|
|
description: Read access to `/api/sso/callback`.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: GET api / sso / callback
|
|
tags:
|
|
- SSO
|
|
/api/sso/master/areas:
|
|
get:
|
|
description: Read access to `/api/sso/master/areas`.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: GET api / sso / master / areas
|
|
tags:
|
|
- SSO
|
|
/api/sso/master/locations:
|
|
get:
|
|
description: Read access to `/api/sso/master/locations`.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: GET api / sso / master / locations
|
|
tags:
|
|
- SSO
|
|
/api/sso/start:
|
|
get:
|
|
description: Read access to `/api/sso/start`.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: GET api / sso / start
|
|
tags:
|
|
- SSO
|
|
/api/sso/userinfo:
|
|
get:
|
|
description: Read access to `/api/sso/userinfo`.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- BearerAuth: []
|
|
summary: GET api / sso / userinfo
|
|
tags:
|
|
- SSO
|
|
/api/users/:
|
|
get:
|
|
description: Read access to `/api/users`.
|
|
parameters:
|
|
- description: Page number.
|
|
example: 1
|
|
in: query
|
|
name: page
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Page size.
|
|
example: 10
|
|
in: query
|
|
name: limit
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
- description: Search keyword.
|
|
example: admin
|
|
in: query
|
|
name: search
|
|
required: false
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / users
|
|
tags:
|
|
- Users
|
|
/api/users/{id}:
|
|
get:
|
|
description: Read access to `/api/users/:id`.
|
|
parameters:
|
|
- description: Path parameter `id`.
|
|
in: path
|
|
name: id
|
|
required: true
|
|
schema:
|
|
example: "1"
|
|
type: string
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
security:
|
|
- ApiKeyAuth: []
|
|
- BearerAuth: []
|
|
summary: GET api / users / :id
|
|
tags:
|
|
- Users
|
|
/healthz:
|
|
get:
|
|
description: Simple liveness probe.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: Health check
|
|
tags:
|
|
- System
|
|
/readyz:
|
|
get:
|
|
description: Readiness probe for database and Redis.
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SuccessEnvelope'
|
|
description: Successful response
|
|
"401":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Unauthorized
|
|
"403":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
description: Forbidden
|
|
summary: Readiness check
|
|
tags:
|
|
- System
|
|
servers:
|
|
- url: http://localhost:8081
|