Jobs, triggers & capabilities
Python SDK reference for async jobs, deployments, triggers, data sources, and the capability plane — every AlgentaClient method with its endpoint and return type.
This reference covers the AlgentaClient methods for long-running work (async jobs and deployments), event-driven automation (triggers and data sources), and the capability plane (providers, bindings, the capability catalog, execution, and skills). Every method is a faithful client over the /v1 HTTP contract; the async client AsyncAlgentaClient exposes the same names to await.
import os
from decision_engine import AlgentaClient
client = AlgentaClient(
api_key=os.environ["ALGENTA_API_KEY"],
base_url="https://api.algenta.ai", # or http://localhost:8000 self-hosted
)Async jobs
submit_job(request=None, callback_url=None, **kwargs)
POST /v1/jobs
dict
get_job(job_id)
GET /v1/jobs/{job_id}
dict
get_job_result(job_id)
GET /v1/jobs/{job_id}/result
dict
list_jobs(*, page=1, limit=25, status=None)
GET /v1/jobs/list
dict
cancel_job(job_id)
POST /v1/jobs/{job_id}/cancel
dict
test_webhook_delivery(callback_url)
POST /v1/webhooks/test
dict
poll_job(job_id, timeout=300.0, poll_interval=2.0)
client-side helper
dict
submit_jobaccepts a jobrequestbody (or keyword fields) and an optionalcallback_urlwebhook for completion. It returns immediately with a job id.poll_jobis a convenience loop: it pollsget_jobuntil the job reachescompleted(then returnsget_job_result) or raises if it endsfailed/cancelledor exceedstimeout.test_webhook_deliverysends a test payload to acallback_urlso you can confirm your endpoint receives deliveries before wiring it to a real job.
Deployments
list_deployment_regions()
GET /v1/deployments/regions
DeploymentRegionsResult
get_deployment()
GET /v1/deployments
DeploymentResult | None
create_deployment(*, provider="algenta_shared", region="algenta-shared", config=None, billing_markup_pct=20.0)
POST /v1/deployments
DeploymentResult
delete_deployment(deployment_id)
DELETE /v1/deployments/{deployment_id}
DeploymentDeleteResult
get_deployment_cost(deployment_id)
GET /v1/deployments/{deployment_id}/cost
DeploymentCostResult
get_deploymentreturns your current deployment, orNoneif none exists yet.list_deployment_regionsenumerates the regions you can pass tocreate_deployment.
Triggers
register_trigger(*, name, condition, simulation_template, webhook_url=None, execution_webhook_url=None, auto_execute=False, description=None)
POST /v1/triggers
TriggerSummaryResult
list_triggers(*, status="all", page=None, limit=None)
GET /v1/triggers
TriggerListResult
fire_trigger(trigger_id, *, force=False)
POST /v1/triggers/{trigger_id}/fire
TriggerFireResult
pause_trigger(trigger_id, *, paused=True)
PATCH /v1/triggers/{trigger_id}/pause
TriggerPauseResult
delete_trigger(trigger_id)
DELETE /v1/triggers/{trigger_id}
TriggerDeleteResult
register_triggerbinds aconditionto asimulation_template; when the condition matches, the trigger runs the template and (ifauto_execute=True) executes the recommended action.webhook_urlandexecution_webhook_urlreceive the results.fire_triggerruns a trigger on demand;force=Trueruns it even if its condition is not currently met.pause_triggertoggles a trigger active/paused viapaused.
Data sources
register_source(source=None, *, description=None, **kwargs)
POST /v1/sources/register
SourceRegistrationResult
refresh_source(dataset_id)
POST /v1/data/{dataset_id}/refresh
SourceRegistrationResult
register_sourceregisters an external data source (passed as asourcemapping or keyword fields) as a governed dataset.refresh_sourcere-pulls the latest data for an already-registered dataset by itsdataset_id.
Capability providers
list_capability_providers()
GET /v1/capability-providers
list[CapabilityProviderResult]
get_capability_provider(provider_id)
GET /v1/capability-providers/{provider_id}
CapabilityProviderResult
list_mcp_providers()
GET /v1/capability-providers (filtered)
list[CapabilityProviderResult]
list_mcp_providersis a client-side convenience that returns only providers whoseprovider_typeismcp_provider.
Capability bindings
list_capability_bindings(*, provider_id=None, scope=None)
GET /v1/capability-bindings
list[CapabilityBindingResult]
create_capability_binding(request)
POST /v1/capability-bindings
CapabilityBindingResult
get_capability_binding(binding_id)
GET /v1/capability-bindings/{binding_id}
CapabilityBindingResult
update_capability_binding(binding_id, request)
PATCH /v1/capability-bindings/{binding_id}
CapabilityBindingResult
delete_capability_binding(binding_id)
DELETE /v1/capability-bindings/{binding_id}
None
preview_test_capability_binding(request)
POST /v1/capability-bindings/test
CapabilityBindingTestResult
test_capability_binding(binding_id)
POST /v1/capability-bindings/{binding_id}/test
CapabilityBindingTestResult
preview_discover_capability_binding(request)
POST /v1/capability-bindings/discover
CapabilityDiscoverResult
discover_capability_binding(binding_id)
POST /v1/capability-bindings/{binding_id}/discover
CapabilityDiscoverResult
start_capability_authorization(binding_id, request)
POST /v1/capability-bindings/{binding_id}/authorize/start
CapabilityAuthorizationStartResult
complete_capability_authorization(binding_id, request)
POST /v1/capability-bindings/{binding_id}/authorize/complete
CapabilityAuthorizationCompleteResult
The
preview_*methods validate or discover against an unsavedrequestbody; the id-taking variants act on a saved binding.start_capability_authorization/complete_capability_authorizationdrive an OAuth-style handshake for bindings that need delegated authorization.
Capability catalog and execution
list_capabilities(*, kinds=None, provider_ids=None, binding_ids=None)
GET /v1/capabilities
list[CapabilityCatalogEntryResult]
get_capability(capability_id, *, include_instruction=False)
GET /v1/capabilities/{capability_id}
CapabilityCatalogEntryResult
route_capabilities(request)
POST /v1/capabilities/route
CapabilityRoutePlanResult
execute_capability(request)
POST /v1/capabilities/execute
CapabilityExecutionResult
record_capability_outcome(request)
POST /v1/capabilities/outcomes
CapabilityOutcomeRecordResult
route_capabilitiesasks the plane which capability best fits an intent;execute_capabilityruns a chosen capability;record_capability_outcomereports back how it went, feeding future routing.
Skills
list_skills()
GET /v1/capabilities (kinds=["skill"])
list[CapabilityCatalogEntryResult]
enable_skill(*, skill_name, instruction, description=None, tags=None, artifact_affinities=None, execution_owner="client_managed")
POST /v1/capability-bindings
CapabilityDiscoverResult
disable_skill(binding_id)
DELETE /v1/capability-bindings/{binding_id}
None
enable_skillis a shorthand: it creates an instruction-only skill capability binding from yourskill_nameandinstruction, then discovers it so it is ready to route.disable_skillremoves the skill by deleting its binding.
Example: submit a job and wait for the result
Example: route and execute a capability
Related references
Account & control planeRun an async jobRoute & execute capabilitiesLast updated
Was this helpful?