API Reference
All S3M services are accessible as RESTful APIs, via curl or any HTTP client. Python and Go client libraries are
also available for more complex integrations.
Most endpoints require authentication via the Authorization header with your S3M token. See Get a Token
to obtain one.
API |
Description |
Authentication |
Example |
|---|---|---|---|
Resource status and scheduled downtimes |
None required |
Response: {
"resources": [
{
"name": "defiant",
"description": "Defiant",
"systemType": "resource",
"securityEnclave": "open",
"organization": "olcf",
"status": "OPERATIONAL",
"downtimeScheduleAvailable": true,
"upcomingDowntimes": [
{
"resourceName": "defiant",
"status": "UNAVAILABLE",
"start": "2024-04-20T11:40:00Z",
"end": "2024-04-21T11:40:00Z",
"description": "Compute system hardware maintenance"
}
],
"retrievedAt": "2024-04-19T13:45:01Z"
}
]
}
|
|
Token introspection and revocation |
Required |
Response: |
|
SLURM job submission and management |
Required ( |
Response: See SLURM REST API |
|
RabbitMQ and Redis cluster provisioning |
Required ( |
Response: {
"backends": [
{
"engine": "redis",
"kind": "valkey-general",
"description": "Valkey cluster (Redis-compatible)",
"resourceOptions": [
{
"key": "cpus",
"description": "CPUs per node/replica",
"min": 1,
"max": 4,
"default": 2
},
{
"key": "ram-gbs",
"description": "RAM per node/replica in GBs",
"min": 1,
"max": 4,
"default": 2
}
],
"featureFlags": []
}
]
}
|