Autonomous Agent Integration
This page provides concise guidance for integrating autonomous agents, CI pipelines, or bots that submit jobs to SolarCompute's developer API. It is intended to reduce integration friction and surface required details when requesting sandbox access.
Recommended workflow
- Request sandbox API access (see Developer Quickstart).
- Use the sandbox API key to submit test jobs from your agent or pipeline.
- Validate outputs and scale concurrency in the sandbox before requesting production quotas.
Sample job JSON (agent submission)
Agents should include a short id, human-readable name, and expected resource sizes. Replace placeholders with sandbox values.
{
"client_job_id": "agent-12345-2026-10-20",
"workload": "inference",
"instance": "gpu-24gb-v1",
"concurrency": 4,
"command": "python serve_model.py --port 8080",
"container": {
"image": "registry.example.com/my-model:latest",
"env": {"MODEL_PATH":"/data/model"}
},
"storage": {"type":"s3","path":"s3://my-bucket/input"},
"callback_url": "https://my-agent.example.com/webhook/job-status",
"expected_duration_seconds": 3600
}
Submitting a job cURL example
Use your sandbox API key in the Authorization header. This example posts the sample JSON to the jobs endpoint; replace the URL and fields with your sandbox values.
curl -X POST "https://api.solarcompute.net.au/v1/jobs" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client_job_id": "agent-12345-2026-10-20",
"workload": "inference",
"instance": "gpu-24gb-v1",
"concurrency": 4,
"command": "python serve_model.py --port 8080",
"container": {"image": "registry.example.com/my-model:latest"},
"storage": {"type":"s3","path":"s3://my-bucket/input"},
"callback_url": "https://my-agent.example.com/webhook/job-status",
"expected_duration_seconds": 3600
}'
Webhook callback format
If you provide a callback_url, SolarCompute will POST job status updates. Validate signatures if you require authenticity.
{
"job_id": "sc-abc123",
"client_job_id": "agent-12345-2026-10-20",
"status": "completed",
"exit_code": 0,
"started_at": "2026-10-20T10:12:00Z",
"finished_at": "2026-10-20T11:15:00Z",
"outputs": [{"type":"s3","path":"s3://my-bucket/output/result.tar.gz"}]
}
Polling and retry guidance
- Prefer webhooks for near-real-time updates. If polling, use exponential backoff: start at 2s, then 5s, 15s, 60s, and cap at 60s.
- Limit polling concurrency per API key during peak times to avoid rate limiting.
- Design idempotent submissions using client_job_id to safely retry on transient failures.
Security & headers
Use Authorization: Bearer <API_KEY> in the Authorization header. Protect keys in your agent's secret store and rotate keys regularly.
Agent best practices
- Include a short human-readable description in job metadata to help support triage.
- Batch small tasks to reduce scheduling overhead; use concurrency fields for parallelism.
- Validate storage paths and region compatibility before submitting large datasets.
When requesting sandbox access, include your agent's intended concurrency, expected job sizes, and callback URL in the request. Contact sales and developer support: hello@solarcompute.net.au.