docs(api): regenerate Scribe API documentation
Update auto-generated API documentation: - New endpoints: ProjectMonthPlan, Reports, Roles - Updated endpoint docs for Allocations and Projects - Regenerated Scribe index with new endpoints Documentation now reflects enhanced-allocation features.
This commit is contained in:
493
backend/.scribe/endpoints/05.yaml
Normal file
493
backend/.scribe/endpoints/05.yaml
Normal file
@@ -0,0 +1,493 @@
|
||||
name: 'Resource Allocation'
|
||||
description: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
endpoints:
|
||||
-
|
||||
custom: []
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/allocations
|
||||
metadata:
|
||||
custom: []
|
||||
groupName: 'Resource Allocation'
|
||||
groupDescription: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List allocations / Get allocation matrix'
|
||||
description: 'Get all allocations, optionally filtered by month.'
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
month:
|
||||
custom: []
|
||||
name: month
|
||||
description: 'Filter by month (YYYY-MM format).'
|
||||
required: false
|
||||
example: 2026-02
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanQueryParameters:
|
||||
month: 2026-02
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
custom: []
|
||||
status: 200
|
||||
content: |-
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"project_id": "550e8400-e29b-41d4-a716-446655440001",
|
||||
"team_member_id": "550e8400-e29b-41d4-a716-446655440002",
|
||||
"month": "2026-02",
|
||||
"allocated_hours": 40.00
|
||||
}
|
||||
]
|
||||
}
|
||||
headers: []
|
||||
description: ''
|
||||
responseFields: []
|
||||
auth: []
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
-
|
||||
custom: []
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/allocations
|
||||
metadata:
|
||||
custom: []
|
||||
groupName: 'Resource Allocation'
|
||||
groupDescription: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create a new allocation'
|
||||
description: 'Allocate hours for a team member to a project for a specific month.'
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
project_id:
|
||||
custom: []
|
||||
name: project_id
|
||||
description: 'Project UUID.'
|
||||
required: true
|
||||
example: 550e8400-e29b-41d4-a716-446655440001
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
team_member_id:
|
||||
custom: []
|
||||
name: team_member_id
|
||||
description: 'Team member UUID.'
|
||||
required: true
|
||||
example: 550e8400-e29b-41d4-a716-446655440002
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: true
|
||||
deprecated: false
|
||||
month:
|
||||
custom: []
|
||||
name: month
|
||||
description: 'Month (YYYY-MM format).'
|
||||
required: true
|
||||
example: 2026-02
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
allocated_hours:
|
||||
custom: []
|
||||
name: allocated_hours
|
||||
description: 'Hours to allocate (must be >= 0).'
|
||||
required: true
|
||||
example: '40'
|
||||
type: numeric
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanBodyParameters:
|
||||
project_id: 550e8400-e29b-41d4-a716-446655440001
|
||||
team_member_id: 550e8400-e29b-41d4-a716-446655440002
|
||||
month: 2026-02
|
||||
allocated_hours: '40'
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
custom: []
|
||||
status: 201
|
||||
content: |-
|
||||
{
|
||||
"data": {
|
||||
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"project_id": "550e8400-e29b-41d4-a716-446655440001",
|
||||
"team_member_id": "550e8400-e29b-41d4-a716-446655440002",
|
||||
"month": "2026-02",
|
||||
"allocated_hours": 40.00
|
||||
}
|
||||
}
|
||||
headers: []
|
||||
description: ''
|
||||
-
|
||||
custom: []
|
||||
status: 422
|
||||
content: '{"message":"Validation failed","errors":{"allocated_hours":["Allocated hours must be greater than or equal to 0"]}}'
|
||||
headers: []
|
||||
description: ''
|
||||
responseFields: []
|
||||
auth: []
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
-
|
||||
custom: []
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/allocations/{id}'
|
||||
metadata:
|
||||
custom: []
|
||||
groupName: 'Resource Allocation'
|
||||
groupDescription: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Get a single allocation'
|
||||
description: 'Get details of a specific allocation by ID.'
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
custom: []
|
||||
name: id
|
||||
description: 'Allocation UUID.'
|
||||
required: true
|
||||
example: 550e8400-e29b-41d4-a716-446655440000
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanUrlParameters:
|
||||
id: 550e8400-e29b-41d4-a716-446655440000
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
custom: []
|
||||
status: 200
|
||||
content: |-
|
||||
{
|
||||
"data": {
|
||||
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"project_id": "550e8400-e29b-41d4-a716-446655440001",
|
||||
"team_member_id": "550e8400-e29b-41d4-a716-446655440002",
|
||||
"month": "2026-02",
|
||||
"allocated_hours": 40.00
|
||||
}
|
||||
}
|
||||
headers: []
|
||||
description: ''
|
||||
-
|
||||
custom: []
|
||||
status: 404
|
||||
content: '{"message": "Allocation not found"}'
|
||||
headers: []
|
||||
description: ''
|
||||
responseFields: []
|
||||
auth: []
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
-
|
||||
custom: []
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/allocations/{id}'
|
||||
metadata:
|
||||
custom: []
|
||||
groupName: 'Resource Allocation'
|
||||
groupDescription: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update an allocation'
|
||||
description: "Update an existing allocation's hours."
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
custom: []
|
||||
name: id
|
||||
description: 'Allocation UUID.'
|
||||
required: true
|
||||
example: 550e8400-e29b-41d4-a716-446655440000
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanUrlParameters:
|
||||
id: 550e8400-e29b-41d4-a716-446655440000
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
allocated_hours:
|
||||
custom: []
|
||||
name: allocated_hours
|
||||
description: 'Hours to allocate (must be >= 0).'
|
||||
required: true
|
||||
example: '60'
|
||||
type: numeric
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanBodyParameters:
|
||||
allocated_hours: '60'
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
custom: []
|
||||
status: 200
|
||||
content: |-
|
||||
{
|
||||
"data": {
|
||||
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"project_id": "550e8400-e29b-41d4-a716-446655440001",
|
||||
"team_member_id": "550e8400-e29b-41d4-a716-446655440002",
|
||||
"month": "2026-02",
|
||||
"allocated_hours": 60.00
|
||||
}
|
||||
}
|
||||
headers: []
|
||||
description: ''
|
||||
-
|
||||
custom: []
|
||||
status: 404
|
||||
content: '{"message": "Allocation not found"}'
|
||||
headers: []
|
||||
description: ''
|
||||
-
|
||||
custom: []
|
||||
status: 422
|
||||
content: '{"message":"Validation failed","errors":{"allocated_hours":["Allocated hours must be greater than or equal to 0"]}}'
|
||||
headers: []
|
||||
description: ''
|
||||
responseFields: []
|
||||
auth: []
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
-
|
||||
custom: []
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/allocations/{id}'
|
||||
metadata:
|
||||
custom: []
|
||||
groupName: 'Resource Allocation'
|
||||
groupDescription: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete an allocation'
|
||||
description: 'Remove an allocation.'
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
custom: []
|
||||
name: id
|
||||
description: 'Allocation UUID.'
|
||||
required: true
|
||||
example: 550e8400-e29b-41d4-a716-446655440000
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanUrlParameters:
|
||||
id: 550e8400-e29b-41d4-a716-446655440000
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
custom: []
|
||||
status: 200
|
||||
content: '{"message": "Allocation deleted successfully"}'
|
||||
headers: []
|
||||
description: ''
|
||||
-
|
||||
custom: []
|
||||
status: 404
|
||||
content: '{"message": "Allocation not found"}'
|
||||
headers: []
|
||||
description: ''
|
||||
responseFields: []
|
||||
auth: []
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
-
|
||||
custom: []
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/allocations/bulk
|
||||
metadata:
|
||||
custom: []
|
||||
groupName: 'Resource Allocation'
|
||||
groupDescription: |-
|
||||
|
||||
Endpoints for managing resource allocations.
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Bulk create allocations'
|
||||
description: 'Create or update multiple allocations in a single request.'
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
headers:
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
allocations:
|
||||
custom: []
|
||||
name: allocations
|
||||
description: 'Array of allocations.'
|
||||
required: true
|
||||
example:
|
||||
-
|
||||
project_id: ...
|
||||
team_member_id: ...
|
||||
month: 2026-02
|
||||
allocated_hours: 40
|
||||
type: 'string[]'
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
deprecated: false
|
||||
'allocations[].project_id':
|
||||
custom: []
|
||||
name: 'allocations[].project_id'
|
||||
description: 'Must be a valid UUID. The <code>id</code> of an existing record in the projects table.'
|
||||
required: true
|
||||
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
deprecated: false
|
||||
'allocations[].team_member_id':
|
||||
custom: []
|
||||
name: 'allocations[].team_member_id'
|
||||
description: 'Must be a valid UUID. The <code>id</code> of an existing record in the team_members table.'
|
||||
required: true
|
||||
example: 6b72fe4a-5b40-307c-bc24-f79acf9a1bb9
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
deprecated: false
|
||||
'allocations[].month':
|
||||
custom: []
|
||||
name: 'allocations[].month'
|
||||
description: 'Must be a valid date in the format <code>Y-m</code>.'
|
||||
required: true
|
||||
example: 2026-02
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
deprecated: false
|
||||
'allocations[].allocated_hours':
|
||||
custom: []
|
||||
name: 'allocations[].allocated_hours'
|
||||
description: 'Must be at least 0.'
|
||||
required: true
|
||||
example: 77
|
||||
type: number
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
deprecated: false
|
||||
cleanBodyParameters:
|
||||
allocations:
|
||||
-
|
||||
project_id: ...
|
||||
team_member_id: ...
|
||||
month: 2026-02
|
||||
allocated_hours: 40
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
custom: []
|
||||
status: 201
|
||||
content: |-
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"id": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"project_id": "550e8400-e29b-41d4-a716-446655440001",
|
||||
"team_member_id": "550e8400-e29b-41d4-a716-446655440002",
|
||||
"month": "2026-02",
|
||||
"allocated_hours": 40.00
|
||||
}
|
||||
]
|
||||
}
|
||||
headers: []
|
||||
description: ''
|
||||
responseFields: []
|
||||
auth: []
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
Reference in New Issue
Block a user