Skip to main content

API Versioning

The Palmetto API uses URL path-based versioning that mirrors the upstream Slurm REST API version scheme. The version is embedded in the URL path for both the Slurm and SlurmDB endpoint groups.

Version Format

Versions follow the pattern v0.0.XX, where XX corresponds to the Slurm OpenAPI data parser plugin version:

/slurm/v0.0.44/jobs
/slurmdb/v0.0.44/users

Supported Versions

API VersionSlurm Release
v0.0.42Slurm 24.11
v0.0.43Slurm 25.05
v0.0.44Slurm 25.11

Multiple versions are served simultaneously. Older versions remain available for backward compatibility but may be deprecated in future releases.

Using latest

You can use latest in place of a specific version to automatically use the newest supported version:

curl -s -H "Authorization: Bearer <token>" \
https://api.palmetto.clemson.edu/slurm/latest/jobs

At the time of writing, this resolves to v0.0.44, but latest may point to a newer version as Slurm releases are deployed.

caution

Using latest in production code is convenient but risky. A new API version may change response schemas in ways that break your integration. Pin to a specific version for production use.

Discovering Available Versions

The API provides unauthenticated endpoints to check version availability:

# List all supported versions (returns JSON array)
curl -s https://api.palmetto.clemson.edu/meta/versions/supported
# Get the latest version string (returns plain text)
curl -s https://api.palmetto.clemson.edu/meta/versions/latest

Unsupported Versions

Requests with an unsupported version string return 400 Bad Request with an error message.