Service registry
4 endpoints in this group. All paths are prefixed with /api/v1.
Endpoints in this group#
POST /api/v1/registry/heartbeat— HeartbeatDELETE /api/v1/registry/register— Deregister ServicePOST /api/v1/registry/register— Register ServicePUT /api/v1/registry/register— Reregister Service
POST /api/v1/registry/heartbeat — Heartbeat {#post-api-v1-registry-heartbeat}#
Process a service heartbeat.
Updates the service's last heartbeat timestamp, resets failure count, and restores degraded services to active status.
Parameters:
authorization(header, string, optional)
Body: HeartbeatRequest — {slug, status, version, uptime_seconds + 5 more}
Responses:
200— Successful Response. Returns:ApiResponse_HeartbeatResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
DELETE /api/v1/registry/register — Deregister Service {#delete-api-v1-registry-register}#
Deregister a service from ScaiControl.
Checks that no active subscriptions exist before deregistering.
Parameters:
authorization(header, string, optional)
Body: DeregistrationRequest — {slug, reason}
Responses:
204— Successful Response. Returns: —422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/registry/register — Register Service {#post-api-v1-registry-register}#
Register a new service with ScaiControl.
The calling service must authenticate as a service account. Auto-approval is granted to known ScaiLabs internal services.
Parameters:
authorization(header, string, optional)
Body: RegistrationRequest — {slug, name, version, description + 9 more}
Responses:
201— Successful Response. Returns:ApiResponse_RegistrationResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
PUT /api/v1/registry/register — Reregister Service {#put-api-v1-registry-register}#
Re-register (update) an existing service.
Idempotent: updates service metadata, endpoints, and capabilities. Tracks version changes.
Parameters:
authorization(header, string, optional)
Body: RegistrationRequest — {slug, name, version, description + 9 more}
Responses:
200— Successful Response. Returns:ApiResponse_RegistrationResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}