API Reference
A compact reference of every method on every resource in the Strongly Python SDK.
Client Constructor
from strongly import Strongly, AsyncStrongly
client = Strongly(
api_key=None, # str — auto-resolved if not provided
base_url=None, # str — your Strongly instance URL
timeout=60.0, # float — request timeout in seconds
max_retries=3, # int — retries on server errors
default_headers=None, # dict — extra headers
http_client=None, # httpx.Client — custom HTTP client
on_request=None, # Callable — hook called before each request
on_response=None, # Callable — hook called after each response
)
AsyncStrongly accepts the same parameters and exposes identical resources and methods with async/await.
client.auth
API key management and session verification.
| Method | Return Type | Description |
|---|---|---|
whoami() | WhoamiResponse | Get current session info |
create_key(*, name, scopes, expires_in_days=None) | ApiKeyCreateResponse | Create a new API key |
list_keys(*, status=None, limit=50) | SyncPaginator[ApiKey] | List API keys |
get_key(key_id) | ApiKey | Get a key by ID |
revoke_key(key_id) | dict | Revoke a key |
rotate_key(key_id) | ApiKeyRotateResponse | Rotate a key (new secret) |
client.apps
Deploy, manage, and monitor containerized applications.
| Method | Return Type | Description |
|---|---|---|
list(*, status=None, environment=None, search=None, limit=50) | SyncPaginator[App] | List apps with filters |
create(body) | App | Create a new app |
retrieve(app_id) | App | Get an app by ID |
update(app_id, body) | App | Update app fields |
delete(app_id) | dict | Delete an app |
deploy(app_id, **kwargs) | dict | Deploy the app |
start(app_id) | dict | Start a stopped app |
stop(app_id) | dict | Stop a running app |
restart(app_id) | dict | Restart the app |
status(app_id) | AppStatus | Get deployment status |
logs(app_id, *, lines=None, since=None, container=None) | Any | Retrieve container logs |
create_with_upload(file, *, name=None, description=None, framework=None, runtime=None, **kwargs) | dict | Create an app from a file upload |
deploy_upload(app_id, file, **kwargs) | dict | Deploy from a file upload |
metrics(app_id) | dict | Get resource usage metrics |
client.addons
Managed databases and services (PostgreSQL, Redis, MySQL, etc.).
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, type=None, status=None, environment=None, limit=50) | SyncPaginator[Addon] | List addons with filters |
create(body) | Addon | Create a new addon |
retrieve(addon_id) | Addon | Get an addon by ID |
update(addon_id, body) | Addon | Update addon fields |
delete(addon_id) | dict | Delete an addon |
start(addon_id) | dict | Start a stopped addon |
stop(addon_id) | dict | Stop a running addon |
restart(addon_id) | dict | Restart an addon |
recover(addon_id) | dict | Recover a failed addon |
status(addon_id) | dict | Get addon status |
credentials(addon_id) | AddonCredentials | Get connection credentials |
metrics(addon_id) | dict | Get resource usage metrics |
logs(addon_id, *, lines=None, since=None, container=None) | Any | Retrieve addon logs |
backup(addon_id) | dict | Trigger a manual backup |
update_backup_config(addon_id, body) | dict | Configure automatic backups |
connect_app(addon_id, app_id) | dict | Connect addon to an app |
disconnect_app(addon_id, app_id) | dict | Disconnect addon from app |
update_permissions(addon_id, body) | dict | Update access permissions |
client.datasources
External data connections.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, type=None, category=None, status=None, limit=50) | SyncPaginator[DataSource] | List data sources with filters |
create(body) | DataSource | Register a new data source |
retrieve(datasource_id) | DataSource | Get a data source by ID |
update(datasource_id, body) | DataSource | Update data source fields |
delete(datasource_id) | dict | Delete a data source |
test_connection(datasource_id) | dict | Test connectivity |
metadata(datasource_id) | dict | Discover tables and schemas |
credentials(datasource_id) | dict | Get stored credentials |
update_permissions(datasource_id, body) | dict | Update access permissions |
client.workflows
Create, configure, deploy, version, and share workflow pipelines.
| Method | Return Type | Description |
|---|---|---|
list(*, status=None, search=None, tag=None, limit=50) | SyncPaginator[Workflow] | List workflows with filters |
create(body) | Workflow | Create a new workflow |
retrieve(workflow_id) | Workflow | Get a workflow by ID |
update(workflow_id, body) | Workflow | Update workflow fields |
delete(workflow_id) | dict | Delete a workflow |
duplicate(workflow_id) | dict | Duplicate a workflow |
execute(workflow_id, *, config=None) | dict | Execute the workflow |
deploy(workflow_id, **kwargs) | dict | Deploy the workflow |
undeploy(workflow_id) | dict | Undeploy the workflow |
update_status(workflow_id, *, status) | dict | Change workflow status |
versions(workflow_id) | WorkflowVersionInfo | List all versions |
create_version(workflow_id, *, version_tag, description=None) | dict | Create a version tag |
share(workflow_id, *, user_id, permission=None) | dict | Share with a user |
unshare(workflow_id, *, user_id) | dict | Revoke sharing |
shared_users(workflow_id) | List[WorkflowSharedUser] | List users with access |
templates() | List[Workflow] | List workflow templates |
stats() | WorkflowStats | Get workflow statistics |
client.executions
Execution history, node traces, logs, and progress.
| Method | Return Type | Description |
|---|---|---|
list(*, workflow_id=None, status=None, since=None, until=None, trigger_type=None, limit=50) | SyncPaginator[Execution] | List executions with filters |
retrieve(execution_id) | Execution | Get an execution by ID |
stop(execution_id) | dict | Stop a running execution |
resume(execution_id, *, trigger_data=None) | dict | Resume a paused execution |
spans(execution_id, *, node_id=None) | List[ExecutionSpan] | Get node-level traces |
logs(execution_id, *, level=None, limit=None) | List[ExecutionLog] | Get execution logs |
progress(execution_id) | ExecutionProgress | Get real-time progress |
client.workflow_nodes
Node catalog for the workflow builder.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, category=None, type=None, is_system=None, limit=50) | SyncPaginator[WorkflowNode] | List node types |
create(body) | WorkflowNode | Register a custom node type |
retrieve(node_id) | WorkflowNode | Get a node type by ID |
update(node_id, body) | WorkflowNode | Update a node type |
delete(node_id) | dict | Delete a custom node type |
services_datasources(*, type=None, category=None) | ServiceDataSourcesResponse | Discover available data sources |
services_addons(*, type=None) | ServiceAddonsResponse | Discover available addons |
services_models(*, provider=None, type=None) | ServiceModelsResponse | Discover available AI models |
client.projects
Project management and collaboration.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, category=None, tag=None, limit=50) | SyncPaginator[Project] | List projects with filters |
create(body) | Project | Create a new project |
retrieve(project_id) | Project | Get a project by ID |
update(project_id, body) | Project | Update project fields |
delete(project_id) | dict | Delete a project |
archive(project_id) | dict | Archive a project |
restore(project_id) | dict | Restore an archived project |
stats(project_id) | ProjectStats | Get project statistics |
activity(project_id, *, limit=50, offset=0) | SyncPaginator[ProjectActivity] | Get project activity feed |
collaborators(project_id) | List[ProjectCollaborator] | List project collaborators |
add_collaborator(project_id, *, email, role, user_id=None) | dict | Add a collaborator |
remove_collaborator(project_id, user_id) | dict | Remove a collaborator |
update_collaborator_role(project_id, user_id, *, role) | dict | Change collaborator role |
volumes(project_id) | List[Volume] | List project volumes |
workspaces(project_id, *, limit=50) | SyncPaginator[Workspace] | List project workspaces |
client.workspaces
Development environments.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, project_id=None, limit=50) | SyncPaginator[Workspace] | List workspaces with filters |
create(body) | Workspace | Create a new workspace |
retrieve(workspace_id) | Workspace | Get a workspace by ID |
update(workspace_id, body) | Workspace | Update workspace fields |
delete(workspace_id) | dict | Delete a workspace |
start(workspace_id) | dict | Start a stopped workspace |
stop(workspace_id) | dict | Stop a running workspace |
restart(workspace_id) | dict | Restart a workspace |
status(workspace_id) | WorkspaceStatus | Get workspace status |
metrics(workspace_id) | WorkspaceMetrics | Get resource usage metrics |
logs(workspace_id, *, type=None) | WorkspaceLogs | Retrieve workspace logs |
sync(workspace_id) | dict | Sync workspace files |
client.volumes
Persistent storage.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, type=None, project_id=None, limit=50) | SyncPaginator[Volume] | List volumes with filters |
create(body) | Volume | Create a new volume |
retrieve(volume_id) | Volume | Get a volume by ID |
update(volume_id, body) | Volume | Update volume fields |
delete(volume_id) | dict | Delete a volume |
sync(volume_id) | dict | Sync volume contents |
make_shared(volume_id) | dict | Share with the organization |
list_shared(*, search=None, limit=50) | SyncPaginator[Volume] | List shared volumes |
client.ai.models
AI model catalog and lifecycle.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, type=None, status=None, provider=None, model_type=None, limit=50) | SyncPaginator[AIModel] | List models with filters |
overview() | AIModelOverview | Get model count summary |
create(body) | AIModel | Register a new model |
retrieve(model_id) | AIModel | Get a model by ID |
update(model_id, body) | AIModel | Update model fields |
delete(model_id) | dict | Delete a model |
deploy(model_id, **kwargs) | dict | Deploy a self-hosted model |
start(model_id) | dict | Start a stopped model |
stop(model_id) | dict | Stop a running model |
status(model_id) | AIModelStatus | Get deployment status |
metrics(model_id) | dict | Get model metrics |
logs(model_id, *, lines=None, since=None, container=None) | dict | Get model logs |
get_permissions(model_id) | AIModelPermissions | Get model permissions |
update_permissions(model_id, *, is_shared=None, shared_with=None) | dict | Update model permissions |
client.ai.provider_keys
Provider API key management (OpenAI, Anthropic, etc.).
| Method | Return Type | Description |
|---|---|---|
list(*, provider=None, status=None, search=None, limit=50) | SyncPaginator[ProviderKey] | List provider keys |
create(body) | ProviderKey | Create a new provider key |
retrieve(key_id) | ProviderKey | Get a key by ID |
update(key_id, body) | ProviderKey | Update key fields |
delete(key_id) | dict | Delete a key |
test(key_id) | ProviderKeyTestResult | Test if a key is valid |
client.ai.inference
Chat completions, text completions, and embeddings.
| Method | Return Type | Description |
|---|---|---|
chat_completion(*, model, messages, stream=False, max_tokens=None, temperature=0.7, top_p=1.0, stop=None, **kwargs) | ChatCompletion | Iterator[StreamChunk] | Generate chat response |
completion(*, model, prompt, stream=False, max_tokens=None, temperature=0.7, **kwargs) | Completion | Iterator[StreamChunk] | Generate text completion |
embedding(*, model, input, **kwargs) | EmbeddingResponse | Generate text embeddings |
client.ai.analytics
AI usage, cost, and performance analytics.
| Method | Return Type | Description |
|---|---|---|
usage(*, start_date=None, end_date=None, model_id=None, provider=None, granularity=None) | UsageStats | Get usage statistics |
costs(*, start_date=None, end_date=None, model_id=None, provider=None, group_by=None) | CostBreakdown | Get cost breakdown |
performance(*, start_date=None, end_date=None, model_id=None, provider=None) | PerformanceStats | Get performance metrics |
time_series(*, start_date=None, end_date=None, model_id=None, metric=None, granularity=None, provider=None) | TimeSeriesData | Get time series data |
providers(*, start_date=None, end_date=None) | ProviderStats | Get per-provider statistics |
client.fine_tuning
Fine-tune language models.
| Method | Return Type | Description |
|---|---|---|
list_jobs(*, status=None, base_model=None, search=None, limit=50) | SyncPaginator[FineTuningJob] | List fine-tuning jobs |
stats() | FineTuningStats | Get job count summary |
base_models() | List[dict] | List available base models |
hardware() | List[dict] | List available hardware |
estimate_cost(*, base_model, dataset_size, **kwargs) | FineTuningCostEstimate | Estimate job cost and time |
create_job(body) | FineTuningJob | Create a fine-tuning job |
retrieve_job(job_id) | FineTuningJob | Get a job by ID |
delete_job(job_id) | dict | Delete a job |
stop_job(job_id) | dict | Stop a running job |
restart_job(job_id) | dict | Restart a stopped job |
deploy_model(job_id, **kwargs) | dict | Deploy fine-tuned model |
job_logs(job_id, *, lines=None, since=None) | dict | Get training logs |
job_metrics(job_id) | dict | Get training metrics |
client.experiments
ML experiment tracking and management.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, tag=None, pinned=None, limit=50) | SyncPaginator[Experiment] | List experiments with filters |
create(body) | Experiment | Create a new experiment |
retrieve(experiment_id) | Experiment | Get an experiment by ID |
update(experiment_id, body) | Experiment | Update experiment fields |
delete(experiment_id) | dict | Delete an experiment |
stats() | ExperimentStats | Get experiment statistics |
compare(ids) | dict | Compare multiple experiments |
pin(experiment_id) | dict | Pin an experiment |
update_tags(experiment_id, tags) | dict | Update experiment tags |
Experiment tracking convenience functions are also available at the module level: import strongly; strongly.set_experiment(...), strongly.start_run(...), strongly.log_params(...), etc. See Experiments for full details on both the resource API and the module-level helpers.
client.automl
Automated machine learning.
| Method | Return Type | Description |
|---|---|---|
list_jobs(*, status=None, search=None, limit=50) | SyncPaginator[AutoMLJob] | List AutoML jobs with filters |
stats() | AutoMLStats | Get job statistics |
datasets() | List[dict] | List available datasets |
create_job(body) | AutoMLJob | Create an AutoML job |
retrieve_job(job_id) | AutoMLJob | Get a job by ID |
delete_job(job_id) | dict | Delete a job |
stop_job(job_id) | dict | Stop a running job |
deploy_best_model(job_id, **kwargs) | dict | Deploy the best model from a job |
job_logs(job_id, *, lines=None, since=None) | dict | Get training logs |
AutoML convenience helpers are also available via from strongly.mlops import automl. See AutoML for full details on both the resource API and the module-level helpers.
client.model_registry
Model versioning and deployment.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, framework=None, source=None, deployment_status=None, tag=None, workspace_id=None, limit=50) | SyncPaginator[RegisteredModel] | List registered models with filters |
create(body) | RegisteredModel | Register a new model |
retrieve(model_id) | RegisteredModel | Get a model by ID |
update(model_id, body) | RegisteredModel | Update model fields |
delete(model_id) | dict | Delete a model |
deploy(model_id, **kwargs) | dict | Deploy a registered model |
Model registry convenience helpers are also available via from strongly.mlops import register_model, get_model, list_models. See Model Registry for full details on both the resource API and the module-level helpers.
client.governance.policies
Policy management and enforcement.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, category=None, is_active=None, limit=50) | SyncPaginator[Policy] | List policies with filters |
create(body) | Policy | Create a new policy |
retrieve(policy_id) | Policy | Get a policy by ID |
update(policy_id, body) | Policy | Update policy fields |
delete(policy_id) | dict | Delete a policy |
import_yaml(yaml_content) | Policy | Import policy from YAML |
list_instances(*, policy_id=None, status=None, resource_type=None, resource_id=None, limit=50) | SyncPaginator[PolicyInstance] | List policy instances |
create_instance(body) | PolicyInstance | Create a policy instance |
submit_instance(instance_id) | PolicyInstance | Submit for review |
approve_instance(instance_id, body=None) | PolicyInstance | Approve an instance |
deny_instance(instance_id, body=None) | PolicyInstance | Deny an instance |
comment_instance(instance_id, comment) | PolicyInstance | Add a comment |
enforcement_check(*, resource_id, resource_type, environment=None) | dict | Run enforcement check |
metrics() | dict | Get policy metrics |
resource_types() | list | List resource types |
client.governance.solutions
Compliance solutions and snapshots.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, team=None, limit=50) | SyncPaginator[Solution] | List solutions with filters |
create(body) | Solution | Create a new solution |
retrieve(solution_id) | Solution | Get a solution by ID |
update(solution_id, body) | Solution | Update solution fields |
delete(solution_id) | dict | Delete a solution |
export(solution_id, body=None) | dict | Export documentation |
list_snapshots(*, solution_id=None, snapshot_type=None, frozen=None, limit=50) | SyncPaginator[ComplianceSnapshot] | List compliance snapshots |
create_snapshot(body) | ComplianceSnapshot | Create a snapshot |
retrieve_snapshot(snapshot_id) | ComplianceSnapshot | Get a snapshot by ID |
freeze_snapshot(snapshot_id) | ComplianceSnapshot | Freeze snapshot |
approve_snapshot(snapshot_id, body=None) | ComplianceSnapshot | Approve frozen snapshot |
compliance_dashboard() | dict | Get compliance dashboard |
compliance_history(*, solution_id=None, days=None) | dict | Get score history |
client.governance.attestations
Compliance attestations.
| Method | Return Type | Description |
|---|---|---|
list(*, solution_id=None, snapshot_id=None, type=None, revoked=None, limit=50) | SyncPaginator[Attestation] | List attestations with filters |
create(body) | Attestation | Create an attestation |
revoke(attestation_id, body=None) | Attestation | Revoke an attestation |
summary() | dict | Get attestation summary |
client.governance.templates
Reusable policy templates.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, category=None, resource_type=None, verified=None, framework=None, limit=50) | SyncPaginator[PolicyTemplate] | List templates with filters |
create(body) | PolicyTemplate | Create a new template |
retrieve(template_id) | PolicyTemplate | Get a template by ID |
update(template_id, body) | PolicyTemplate | Update template fields |
delete(template_id) | dict | Delete a template |
use_template(template_id, body=None) | dict | Apply template as policy |
publish(template_id) | PolicyTemplate | Publish a template |
review(template_id, *, rating, comment=None) | dict | Leave a review |
client.finops.costs
Cost tracking, forecasting, and anomaly detection.
| Method | Return Type | Description |
|---|---|---|
monthly(*, months=None, year=None) | dict | Get monthly cost breakdown |
daily(*, start_date=None, end_date=None, resource_type=None) | dict | Get daily cost breakdown |
forecast(*, months=None, model=None) | dict | Forecast future costs |
services(*, period=None, start_date=None, end_date=None) | dict | Get costs by service |
anomalies(*, days=None, threshold=None) | dict | Detect cost anomalies |
savings(*, category=None, min_savings=None) | dict | Get savings recommendations |
dashboard() | dict | Get the cost dashboard |
dashboard_stats(*, period=None) | dict | Get dashboard statistics |
top_drivers(*, limit=None, period=None) | dict | Get top cost drivers |
client.finops.budgets
Budget management and alerts.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, scope_level=None, enabled=None, limit=50) | SyncPaginator[Budget] | List budgets with filters |
create(body) | Budget | Create a new budget |
retrieve(budget_id) | Budget | Get a budget by ID |
update(budget_id, body) | Budget | Update budget fields |
delete(budget_id) | dict | Delete a budget |
pause(budget_id) | Budget | Pause budget tracking |
resume(budget_id) | Budget | Resume budget tracking |
reset(budget_id) | Budget | Reset spend counter |
summary() | dict | Get budget summary stats |
client.finops.schedules
Cost optimization schedules.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, scope_level=None, enabled=None, limit=50) | SyncPaginator[Schedule] | List schedules with filters |
create(body) | Schedule | Create a new schedule |
retrieve(schedule_id) | Schedule | Get a schedule by ID |
update(schedule_id, body) | Schedule | Update schedule fields |
delete(schedule_id) | dict | Delete a schedule |
pause(schedule_id) | Schedule | Pause a schedule |
resume(schedule_id) | Schedule | Resume a schedule |
execute(schedule_id, body=None) | dict | Trigger manual execution |
history(schedule_id) | dict | Get execution history |
client.finops.resource_groups
Resource grouping for aggregated cost tracking.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, status=None, limit=50) | SyncPaginator[ResourceGroup] | List resource groups |
create(body) | ResourceGroup | Create a resource group |
retrieve(group_id) | ResourceGroup | Get a group by ID |
update(group_id, body) | ResourceGroup | Update group fields |
delete(group_id) | dict | Delete a group |
add_resource(group_id, *, type, resource_id, name) | dict | Add resource to group |
remove_resource(group_id, resource_id) | dict | Remove resource from group |
client.users
User management.
| Method | Return Type | Description |
|---|---|---|
list(*, search=None, archived=None, active=None, limit=50) | SyncPaginator[User] | List users with filters |
me() | User | Get your own profile |
update_me(body) | dict | Update your profile |
retrieve(user_id) | User | Get a user by ID |
create(body) | User | Create a new user |
update(user_id, body) | User | Update a user |
archive(user_id) | dict | Archive a user |
reset_password(user_id) | dict | Send password reset |
api_keys() | List[ApiKeyInfo] | List your API keys |
create_api_key(body) | dict | Create an API key |
revoke_api_key(key_id) | dict | Revoke an API key |
client.organizations
Organization management, members, and invitations.
| Method | Return Type | Description |
|---|---|---|
list() | SyncPaginator[Organization] | List organizations |
retrieve(org_id) | Organization | Get an organization by ID |
update(org_id, body) | Organization | Update organization fields |
members(org_id) | List[Member] | List organization members |
add_member(org_id, *, user_id, role="member") | dict | Add a member |
remove_member(org_id, user_id) | dict | Remove a member |
update_member_role(org_id, user_id, *, role) | dict | Change member role |
invite(org_id, *, email, role="member") | dict | Send an invitation |
list_invitations(org_id) | List[Invitation] | List pending invitations |
cancel_invitation(org_id, invite_id) | dict | Cancel an invitation |
credits(org_id) | OrganizationCredits | Get credit balance |
transactions(org_id, *, limit=50) | List[CreditTransaction] | Get transaction history |