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/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
