REST API
The OST REST API’s support added for get entities.
Once deployed, the API should be available at <HOST>/ost/api/<MAJOR_VERSION>/<RESOURCE> and the Swagger UI at <HOST>/api/<MAJOR_VERSION>/ui.
The host depends on the environment that the server is deployed to, and may include a k8s namespace - see the README for more details.
The OST API endpoints, with the accepted requests and expected responses, are documented below:
- POST /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue
Create a new observing queue for a subarray with SBD items
Create a new observing queue for a subarray with SBD items.
Parameter request: The queue creation request containing subarray ID, items, and creator info. Parameter oda: UnitOfWork instance for database operations. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response with created queue data. Raises ValidationError: If SBD conflicts exist or targets are not visible. Raises ValidationError: Target source is not visible. Raises ValidationError: SBD not present in ODA. Raises QueueCreationError: If queue creation fails in the service layer.
- Request Headers:
X-Request-ID
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/{queue_id}/subarray/{subarray_id}
Get observing queue by queue_id and subarray_id
Retrieve a specific queue by queue ID and subarray ID.
Parameter queue_id: The unique identifier of the queue to retrieve. Parameter subarray_id: The subarray ID to filter the queue. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response with queue data and items. Returns empty array with 200 status if queue not found or invalid ID.
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
subarray_id (integer, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- PUT /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/{queue_id}/subarray/{subarray_id}
Replace all items in an observing queue
Replace all items in an existing queue with new SBD items.
Parameter queue_id: The unique identifier of the queue to update. Parameter subarray_id: The subarray ID for validation. Parameter request: The update request containing new items and modifier info. Parameter oda: UnitOfWork instance for database operations. Parameter queue_service: Injected queue service for business logic operations. Raises ValidationError: If SBD conflicts exist or targets are not visible. Raises ValidationError: Target source is not visible. Raises ValidationError: SBD not present in ODA. Returns: The API response with updated queue data. Returns empty array with 200 status if queue not found or invalid ID.
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
subarray_id (integer, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- DELETE /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/{queue_id}/subarray/{subarray_id}
Delete observing queue and all its items
Delete a queue and all its items.
Parameter queue_id: The unique identifier of the queue to delete. Parameter subarray_id: The subarray ID for validation. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response confirming deletion. Raises HTTPException: If queue not found (404) or deletion fails (500).
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
subarray_id (integer, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- PATCH /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/{queue_id}/subarray/{subarray_id}
Patch queue by adding or updating specific SBD items
Patch queue by adding or updating specific SBD items.
Parameter queue_id: The unique identifier of the queue to patch. Parameter subarray_id: The subarray ID for validation. Parameter request: The patch request containing items to add or update. Parameter oda: UnitOfWork instance for database operations. Parameter queue_service: Injected queue service for business logic operations. Raises ValidationError: If SBD conflicts exist or targets are not visible. Raises ValidationError: Target source is not visible. Raises ValidationError: SBD not present in ODA. Returns: The API response with patched queue data. Returns empty array with 200 status if queue not found or invalid ID.
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
subarray_id (integer, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/subarray/{subarray_id}
Get all observing queues by subarray_id
Retrieve all queues for a subarray.
Parameter subarray_id: The subarray ID to filter queues. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response with first queue data and items. Raises HTTPException: If no queues found (404) or validation errors (400).
- Request Headers:
X-Request-ID
- Parameters:
subarray_id (integer, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/{queue_id}/subarray/{subarray_id}/current
Get currently executing item from observing queue
Get the queue with currently executing SBD items.
Parameter queue_id: The unique identifier of the queue. Parameter subarray_id: The subarray ID for validation. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response with queue containing executing items. Returns empty array with 200 status if not found.
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
subarray_id (integer, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- DELETE /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue/{queue_id}/subarray/{subarray_id}/items/{item_id}
Delete a specific item from the observing queue
Delete a specific item from a queue.
Parameter queue_id: The unique identifier of the queue. Parameter subarray_id: The subarray ID for validation. Parameter item_id: The ID of the item to delete. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response confirming item deletion. Raises HTTPException: If queue/item not found (404) or deletion fails (500).
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
subarray_id (integer, required)
item_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- PUT /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue_items/{item_id}/queue/{queue_id}
Updates queue item in an observing queue
Update queue items in the observing queue.
Parameter queue_id: The unique identifier of the queue to update. Parameter item_id: The item ID of queue item. Parameter item: The update request containing updated items data. Parameter queue_service: Injected queue service for business logic operations. Raises ValidationError: If SBD conflicts exist or targets are not visible. Raises ValidationError: Target source is not visible. Raises ValidationError: SBD not present in ODA. Returns: The API response with updated queue data. Returns empty array with 200 status if queue not found or invalid ID.
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
item_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/observing_queue_items/{item_id}/queue/{queue_id}
Get Queue item info
Get the queue item.
Parameter queue_id: The unique identifier of the queue. Parameter item_id: The item ID to retrieve queue item. Parameter queue_service: Injected queue service for business logic operations. Returns: The API response with queue containing executing items. Returns empty array with 200 status if not found.
- Request Headers:
X-Request-ID
- Parameters:
queue_id (string, required)
item_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- POST /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/oet/{queue_id}/{subarray_id}/start
Start queue execution on subarray
Start execution of queue items on a subarray via OET.
Items are executed sequentially, with real-time updates sent via WebSocket.
Parameter queue_id: The unique identifier of the queue to execute. Parameter subarray_id: The subarray ID for validation and execution. Parameter oet_tasks: FastAPI background tasks for async execution. Parameter queue_service: Injected queue service for business logic operations. Parameter oet_service: Injected OET service for execution operations. Returns: The API response confirming execution start. Raises HTTPException: If queue not found (404) or execution fails (500).
- Request Headers:
X-Request-ID
- Parameters:
queue_id (required)
subarray_id (required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/oet/stream
Stream Queue Execution
Real-time SSE stream of queue execution status.
This endpoint provides Server-Sent Events (SSE) streaming of real-time execution status for all OET instances. Clients can connect to receive live updates about queue progress, item completion, and errors.
Event Types: - QUEUE_STARTED: Queue execution begins - ITEM_STARTED: Individual item execution begins - PROGRESS_UPDATE: Item progress update (every 2 seconds) - ITEM_FINISHED: Item execution completes - QUEUE_FINISHED: Queue execution completes - QUEUE_ERROR: Queue execution error
Example Event:
data: { "timestamp": "2024-01-01T10:00:00Z", "data": { "oet_instance_1": { "queue": { "queue_id": "queue_1", "status": "RUNNING", "progress_percentage": 45.5, "total_items": 10, "completed_items": 4, "failed_items": 1, "running_items": 1 }, "items": [...] } } }
Parameter request: FastAPI request object for disconnect detection Parameter streaming_service: Injected streaming service Returns: SSE stream with real-time updates Return type: StreamingResponse
- Request Headers:
X-Request-ID
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- PUT /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/oet/{subarray_id}/abort
Abort queue execution on subarray
Abort execution of queue items on a subarray via OET.
Parameter procedure_id: The unique identifier of the procedure to abort. Parameter oet_service: Injected OET service for execution operations. Returns: The API response confirming execution start.
- Request Headers:
X-Request-ID
- Parameters:
subarray_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- PUT /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/oet/{queue_id}/{subarray_id}/stop
Stop queue execution on subarray
stop queue execution of queue items on a subarray via OET.
Parameter queue_id: The unique identifier of the queue to execute. Parameter subarray_id: The subarray ID for validation and execution. Parameter oet_tasks: FastAPI background tasks for async execution. Parameter queue_service: Injected queue service for business logic operations. Parameter oet_service: Injected OET service for execution operations. Returns: The API response confirming execution start. Raises HTTPException: If queue not found (404) or execution fails (500).
- Request Headers:
X-Request-ID
- Parameters:
subarray_id (integer, required)
queue_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- POST /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/scheduler/confirmations/{sbd_fk}/confirm
Confirm Execution
Confirm execution of a scheduled item by sbd_fk.
Parameter sbd_fk: SBD reference string Returns: Confirmation message dictionary Raises HTTPException: If confirmation not found (404) or execution fails (500)
- Request Headers:
X-Request-ID
- Parameters:
sbd_fk (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- POST /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/scheduler/confirmations/{sbd_fk}/override
Override And Execute
Override validation and force execution (operator override).
Parameter sbd_fk: SBD reference string Returns: Override confirmation message dictionary Raises HTTPException: If confirmation not found (404)
- Request Headers:
X-Request-ID
- Parameters:
sbd_fk (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- POST /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/scheduler/confirmations/{sbd_fk}/reject
Reject Execution
Reject execution of a scheduled item by sbd_fk.
Parameter sbd_fk: SBD reference string Returns: Rejection message dictionary Raises HTTPException: If confirmation not found (404)
- Request Headers:
X-Request-ID
- Parameters:
sbd_fk (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/sbds
Get All SB Definition with status appended, filter by the query parameter like created_before, created_after and user namer
Function that a GET /sbds request is routed to.
Parameter query_params: Parameters to query the ODA by. Returns: All SBDefinitions present with status wrapped in a Response, or appropriate error Response
- Request Headers:
X-Request-ID
- Query Parameters:
user
match_type
query_type
created_before
created_after
last_modified_before
last_modified_after
entity_id
purpose
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/sbds/{sbd_id}
Get specific SB Definition by identifier with status appended
Function that a GET /sbds/<sbd_id> request is routed to.
Parameter oda: Unit of Work for database operations. Parameter sbd_id: Requested identifier from the path parameter Returns: The SBDefinition with status wrapped in a Response, or appropriate error Response Return type: ApiResponse[SBDefinitionStatusModel]
- Request Headers:
X-Request-ID
- Parameters:
sbd_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/ebs
Get All Execution Block with status appended, filter by the query parameter like created_before, created_after and user name
Function that a GET /ebs request is routed to.
Parameter oda: Unit of Work for database operations. Parameter query_params: Parameters to query the ODA by. Returns: All ExecutionBlocks present with status wrapped in a Response, or appropriate error Response Return type: ApiResponse[EBStatusModel]
- Request Headers:
X-Request-ID
- Query Parameters:
user
match_type
query_type
created_before
created_after
last_modified_before
last_modified_after
entity_id
purpose
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/ebs/{eb_id}
Get specific Execution Block by identifier with status appended
Function that a GET /ebs/<eb_id> request is routed to.
Parameter oda: Unit of Work for database operations. Parameter eb_id: Requested identifier from the path parameter Returns: The ExecutionBlock with status wrapped in a Response, or appropriate error Response Return type: ApiResponse[EBStatusModel]
- Request Headers:
X-Request-ID
- Parameters:
eb_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/prjs/{prj_id}
Get specific Project by identifier with status appended
Function that a GET /prjs/<prj_id> request is routed to.
Parameter oda: Unit of Work for database operations. Parameter prj_id: Requested identifier from the path parameter Returns: The Project with status wrapped in a Response, or appropriate error Response Return type: ApiResponse[ProjectStatusModel]
- Request Headers:
X-Request-ID
- Parameters:
prj_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error
- GET /dev-ska-oso-ost-services-nak-1747-move-oda-rest-layer/ost/api/v1/sbis/{sbi_id}
Get specific SB Instance by identifier with status appended
Function that a GET /sbis/<sbi_id> request is routed to.
Parameter oda: Unit of Work for database operations. Parameter sbi_id: Requested identifier from the path parameter Returns: The SBInstance with status wrapped in a Response, or appropriate error Response Return type: ApiResponse[SBInstanceStatusModel]
- Request Headers:
X-Request-ID
- Parameters:
sbi_id (string, required)
- Status Codes:
200 OK – Successful Response
422 Unprocessable Entity – Validation Error