Solver jobs¶
Post Solver Jobs¶
POST /sense-api/ext/solver/jobs
Requires a Bearer token. SDK method: client.solver_jobs.submit().
Request body (array of PostSolverJobExt)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | |
objective1 |
ObjectiveFunction |
yes | One of: MIN_LIFE_CYCLE_COST, MIN_ANNUALIZED_COST, MIN_CO2_EMISSIONS, MIN_INVESTMENT, MIN_OM, MIN_FUEL_IMPORTS, MIN_REPLACEMENT, MAX_EXPORTS, MAX_SALVAGE. |
objective2 |
ObjectiveFunction, nullable |
no | |
scenarioGuid |
string, nullable | no | |
scenarioName |
string, nullable | no | |
temporalResolution |
TemporalResolution |
yes | One of: LOW, MEDIUM, HIGH, FULL. |
points |
integer | yes | |
timeLimit |
integer | yes | |
mipGap |
number | yes | |
inputFileId |
string (uuid4), nullable | no |
Example request
curl -X POST "https://eu-north-1-api.sympheny.com/sense-api/ext/solver/jobs" \
-H "Authorization: Bearer $SYMPHENY_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"name": "string",
"objective1": "MIN_LIFE_CYCLE_COST",
"objective2": "MIN_LIFE_CYCLE_COST",
"scenarioGuid": "string",
"scenarioName": "string",
"temporalResolution": "LOW",
"points": 0,
"timeLimit": 0,
"mipGap": 0.0,
"inputFileId": "string"
}
]'
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | array of SolverJob |
| 400 | Bad Request | CustomHTTPException |
| 401 | Unauthorized | CustomHTTPException |
| 404 | Not Found | CustomHTTPException |
| 409 | Conflict | CustomHTTPException |
| 413 | Request Entity Too Large | CustomHTTPException |
| 500 | Internal Server Error | CustomHTTPException |
| 422 | Validation Error | HTTPValidationError |
Example response (200)
[
{
"status": "VALIDATING",
"statusMsg": "Validating",
"batchId": "string",
"pointsCompleted": 0,
"started": "2026-01-01T00:00:00Z",
"terminated": "2026-01-01T00:00:00Z",
"infeasibilityInfo": "string",
"name": "string",
"objective1": "MIN_LIFE_CYCLE_COST",
"objective2": "MIN_LIFE_CYCLE_COST",
"scenarioGuid": "string",
"scenarioName": "string",
"temporalResolution": "LOW",
"points": 0,
"timeLimit": 0,
"mipGap": 0.0,
"accountGuid": "string",
"organizationId": "string",
"subscriptionId": "string",
"id": "string",
"created": "2026-01-01T00:00:00Z"
}
]
Post Get Scenario Jobs¶
POST /sense-api/ext/solver/jobs/get-scenarios
Requires a Bearer token. SDK method: client.solver_jobs.list_for_scenarios().
Request body (GetScenarioGuidsPage)
| Field | Type | Required | Description |
|---|---|---|---|
scenarioGuids |
array of string | yes | |
limit |
integer | no | Default: 200. |
Example request
curl -X POST "https://eu-north-1-api.sympheny.com/sense-api/ext/solver/jobs/get-scenarios" \
-H "Authorization: Bearer $SYMPHENY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"scenarioGuids": [
"string"
],
"limit": 200
}'
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | array of SolverJob |
| 400 | Bad Request | CustomHTTPException |
| 401 | Unauthorized | CustomHTTPException |
| 404 | Not Found | CustomHTTPException |
| 409 | Conflict | CustomHTTPException |
| 413 | Request Entity Too Large | CustomHTTPException |
| 500 | Internal Server Error | CustomHTTPException |
| 422 | Validation Error | HTTPValidationError |
Example response (200)
[
{
"status": "VALIDATING",
"statusMsg": "Validating",
"batchId": "string",
"pointsCompleted": 0,
"started": "2026-01-01T00:00:00Z",
"terminated": "2026-01-01T00:00:00Z",
"infeasibilityInfo": "string",
"name": "string",
"objective1": "MIN_LIFE_CYCLE_COST",
"objective2": "MIN_LIFE_CYCLE_COST",
"scenarioGuid": "string",
"scenarioName": "string",
"temporalResolution": "LOW",
"points": 0,
"timeLimit": 0,
"mipGap": 0.0,
"accountGuid": "string",
"organizationId": "string",
"subscriptionId": "string",
"id": "string",
"created": "2026-01-01T00:00:00Z"
}
]
Get Solver Jobs Usage¶
GET /sense-api/ext/solver/jobs/usage
Requires a Bearer token. SDK method: client.solver_jobs.usage().
Example request
curl -X GET "https://eu-north-1-api.sympheny.com/sense-api/ext/solver/jobs/usage" \
-H "Authorization: Bearer $SYMPHENY_TOKEN"
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | GetUsageExt |
| 400 | Bad Request | CustomHTTPException |
| 401 | Unauthorized | CustomHTTPException |
| 404 | Not Found | CustomHTTPException |
| 409 | Conflict | CustomHTTPException |
| 413 | Request Entity Too Large | CustomHTTPException |
| 500 | Internal Server Error | CustomHTTPException |
Example response (200)
{
"subscription": {
"totalCountOverage": 0,
"totalMinutesOverage": 0,
"weeklyCountOverage": 0,
"weeklyMinutesOverage": 0,
"totalCount": 0,
"totalMinutes": 0,
"currentWeekCount": 0,
"currentWeekMinutes": 0
},
"user": {
"totalCount": 0,
"totalMinutes": 0,
"currentWeekCount": 0,
"currentWeekMinutes": 0,
"historyCount": 0
}
}
Get Solver Job¶
GET /sense-api/ext/solver/jobs/{id}
Requires a Bearer token. SDK method: client.solver_jobs.get().
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | string (uuid) | yes |
Example request
curl -X GET "https://eu-north-1-api.sympheny.com/sense-api/ext/solver/jobs/{id}" \
-H "Authorization: Bearer $SYMPHENY_TOKEN"
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | GetSolverJobExt |
| 400 | Bad Request | CustomHTTPException |
| 401 | Unauthorized | CustomHTTPException |
| 404 | Not Found | CustomHTTPException |
| 409 | Conflict | CustomHTTPException |
| 413 | Request Entity Too Large | CustomHTTPException |
| 500 | Internal Server Error | CustomHTTPException |
| 422 | Validation Error | HTTPValidationError |
Example response (200)
{
"status": "VALIDATING",
"statusMsg": "Validating",
"batchId": "string",
"pointsCompleted": 0,
"started": "2026-01-01T00:00:00Z",
"terminated": "2026-01-01T00:00:00Z",
"infeasibilityInfo": "string",
"name": "string",
"objective1": "MIN_LIFE_CYCLE_COST",
"objective2": "MIN_LIFE_CYCLE_COST",
"scenarioGuid": "string",
"scenarioName": "string",
"temporalResolution": "LOW",
"points": 0,
"timeLimit": 0,
"mipGap": 0.0,
"accountGuid": "string",
"organizationId": "string",
"subscriptionId": "string",
"id": "string",
"created": "2026-01-01T00:00:00Z",
"inputFile": "string",
"outputFile": "string"
}
Delete Solver Job¶
DELETE /sense-api/ext/solver/jobs/{id}
Requires a Bearer token. SDK method: client.solver_jobs.delete().
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | string (uuid) | yes |
Example request
curl -X DELETE "https://eu-north-1-api.sympheny.com/sense-api/ext/solver/jobs/{id}" \
-H "Authorization: Bearer $SYMPHENY_TOKEN"
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | string |
| 400 | Bad Request | CustomHTTPException |
| 401 | Unauthorized | CustomHTTPException |
| 404 | Not Found | CustomHTTPException |
| 409 | Conflict | CustomHTTPException |
| 413 | Request Entity Too Large | CustomHTTPException |
| 500 | Internal Server Error | CustomHTTPException |
| 422 | Validation Error | HTTPValidationError |
Example response (200)
"string"
Stop Job¶
PUT /sense-api/ext/solver/jobs/{id}/stop
Requires a Bearer token. SDK method: client.solver_jobs.stop().
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | string (uuid) | yes |
Example request
curl -X PUT "https://eu-north-1-api.sympheny.com/sense-api/ext/solver/jobs/{id}/stop" \
-H "Authorization: Bearer $SYMPHENY_TOKEN"
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successful Response | string |
| 400 | Bad Request | CustomHTTPException |
| 401 | Unauthorized | CustomHTTPException |
| 404 | Not Found | CustomHTTPException |
| 409 | Conflict | CustomHTTPException |
| 413 | Request Entity Too Large | CustomHTTPException |
| 500 | Internal Server Error | CustomHTTPException |
| 422 | Validation Error | HTTPValidationError |
Example response (200)
"string"