Docs
API 1.39
Status
Reference

SDKs

Every API operation by its name in the TypeScript, Python and Go SDKs.

The three SDKs are generated from the same OpenAPI document and name every operation the same way: a resource, then a method. TypeScript keeps the name, Python snake-cases it, Go capitalises it. Install and configure them with the SDKs guide.

#Packages

LanguagePackageClient
TypeScript@kaabist/sdknew Kaab()
PythonkaabistKaab() and AsyncKaab()
Gogithub.com/kaabist/kaab-go/kaabkaab.New("")

Every client reads KAAB_API_KEY and, when it is set, KAAB_BASE_URL.

#Helpers

WhatTypeScriptPythonGo
Wait for a job to end, answering inputs on the waykaab.jobs.wait(id, { onInput })kaab.jobs.wait(id, on_input=…)client.Jobs.Wait(ctx, id, kaab.WaitOptions{…})
Iterate every item of a list, page after pagefor await (const job of kaab.jobs.list())for job in kaab.jobs.list()client.Jobs.ListAll(ctx, params)
Verify a webhook deliverykaab.webhooks.verify(body, header, secret)kaab.webhooks.verify(body, header, secret)webhooks.Verify(body, header, secret)

#Operations

OperationTypeScriptPythonGo
Create a job from a program reference or the url + extract shorthandkaab.jobs.create()kaab.jobs.create()client.Jobs.Create()
List jobs, newest firstkaab.jobs.list()kaab.jobs.list()client.Jobs.List()
Create up to 1000 jobs from one programkaab.jobs.batch()kaab.jobs.batch()client.Jobs.Batch()
Estimate the credit cost of a job without enqueuing itkaab.jobs.estimate()kaab.jobs.estimate()client.Jobs.Estimate()
Read the job envelope; Prefer: wait long-polls for a state changekaab.jobs.get()kaab.jobs.get()client.Jobs.Get()
Per-step records with timings, snapshots and healing informationkaab.jobs.steps()kaab.jobs.steps()client.Jobs.Steps()
Redirect to a presigned snapshot JSON URLkaab.jobs.snapshot()kaab.jobs.snapshot()client.Jobs.Snapshot()
Redirect to a presigned screenshot URLkaab.jobs.screenshot()kaab.jobs.screenshot()client.Jobs.Screenshot()
Redirect to a presigned artifact URLkaab.jobs.artifact()kaab.jobs.artifact()client.Jobs.Artifact()
Supply the value an await_input step is waiting forkaab.jobs.input()kaab.jobs.input()client.Jobs.Input()
Apply a proposal, skip a step, retry from a checkpoint, continue or abortkaab.jobs.resume()kaab.jobs.resume()client.Jobs.Resume()
Open a live browser session on a parked jobkaab.jobs.takeover()kaab.jobs.takeover()client.Jobs.Takeover()
Cancel a job and release its reserved creditskaab.jobs.cancel()kaab.jobs.cancel()client.Jobs.Cancel()
Read batch counterskaab.batches.get()kaab.batches.get()client.Batches.Get()
List the jobs of a batchkaab.batches.jobs()kaab.batches.jobs()client.Batches.Jobs()
Create a program and its first versionkaab.programs.create()kaab.programs.create()client.Programs.Create()
List programskaab.programs.list()kaab.programs.list()client.Programs.List()
Lint a program definition and return the normalized documentkaab.programs.lint()kaab.programs.lint()client.Programs.Lint()
Read a program by id or namekaab.programs.get()kaab.programs.get()client.Programs.Get()
Rename a program or change its description and canary settingskaab.programs.update()kaab.programs.update()client.Programs.Update()
Soft-delete a programkaab.programs.delete()kaab.programs.delete()client.Programs.Delete()
List the versions of a programkaab.programs.versions.list()kaab.programs.versions.list()client.Programs.Versions.List()
Add a version to a programkaab.programs.versions.create()kaab.programs.versions.create()client.Programs.Versions.Create()
Replace a draft version's definition in place; published versions are immutablekaab.programs.versions.update()kaab.programs.versions.update()client.Programs.Versions.Update()
Delete a draft version (it is archived); published versions are immutablekaab.programs.versions.delete()kaab.programs.versions.delete()client.Programs.Versions.Delete()
Read one version including its definitionkaab.programs.versions.get()kaab.programs.versions.get()client.Programs.Versions.Get()
Publish a draft version and move the latest aliaskaab.programs.versions.publish()kaab.programs.versions.publish()client.Programs.Versions.Publish()
RFC 6902 JSON Patch between two versionskaab.programs.versions.diff()kaab.programs.versions.diff()client.Programs.Versions.Diff()
Run extraction against a stored snapshot without fetchingkaab.programs.versions.replay()kaab.programs.versions.replay()client.Programs.Versions.Replay()
Point an alias at a versionkaab.programs.aliases.set()kaab.programs.aliases.set()client.Programs.Aliases.Set()
Remove an aliaskaab.programs.aliases.delete()kaab.programs.aliases.delete()client.Programs.Aliases.Delete()
Store a browser storage state as a reusable sessionkaab.sessions.create()kaab.sessions.create()client.Sessions.Create()
List sessionskaab.sessions.list()kaab.sessions.list()client.Sessions.List()
Read a session by id or namekaab.sessions.get()kaab.sessions.get()client.Sessions.Get()
Rename a session or replace its storage statekaab.sessions.update()kaab.sessions.update()client.Sessions.Update()
Delete a sessionkaab.sessions.delete()kaab.sessions.delete()client.Sessions.Delete()
Run the validity probekaab.sessions.verify()kaab.sessions.verify()client.Sessions.Verify()
Enqueue the session's refresh programkaab.sessions.refresh()kaab.sessions.refresh()client.Sessions.Refresh()
List proposalskaab.proposals.list()kaab.proposals.list()client.Proposals.List()
Read a proposalkaab.proposals.get()kaab.proposals.get()client.Proposals.Get()
Approve a proposal, optionally promoting it to a new versionkaab.proposals.approve()kaab.proposals.approve()client.Proposals.Approve()
Reject a proposalkaab.proposals.reject()kaab.proposals.reject()client.Proposals.Reject()
Replace the proposed change before approvalkaab.proposals.edit()kaab.proposals.edit()client.Proposals.Edit()
Create a cron schedule for a programkaab.schedules.create()kaab.schedules.create()client.Schedules.Create()
List scheduleskaab.schedules.list()kaab.schedules.list()client.Schedules.List()
Read a schedulekaab.schedules.get()kaab.schedules.get()client.Schedules.Get()
Change a schedulekaab.schedules.update()kaab.schedules.update()client.Schedules.Update()
Delete a schedulekaab.schedules.delete()kaab.schedules.delete()client.Schedules.Delete()
Pause a schedulekaab.schedules.pause()kaab.schedules.pause()client.Schedules.Pause()
Resume a paused schedulekaab.schedules.resume()kaab.schedules.resume()client.Schedules.Resume()
List the runs of a schedulekaab.schedules.runs()kaab.schedules.runs()client.Schedules.Runs()
Redirect to a presigned URL of a run's JSON Patch against the previous runkaab.schedules.runDiff()kaab.schedules.run_diff()client.Schedules.RunDiff()
Register a webhook endpoint; the secret is shown oncekaab.webhooks.create()kaab.webhooks.create()client.Webhooks.Create()
List webhook endpointskaab.webhooks.list()kaab.webhooks.list()client.Webhooks.List()
Read a webhook endpointkaab.webhooks.get()kaab.webhooks.get()client.Webhooks.Get()
Change a webhook endpointkaab.webhooks.update()kaab.webhooks.update()client.Webhooks.Update()
Delete a webhook endpointkaab.webhooks.delete()kaab.webhooks.delete()client.Webhooks.Delete()
Rotate the signing secretkaab.webhooks.rotateSecret()kaab.webhooks.rotate_secret()client.Webhooks.RotateSecret()
List delivery attemptskaab.webhooks.deliveries()kaab.webhooks.deliveries()client.Webhooks.Deliveries()
Resend one delivery as a new attempt row; the original is never changedkaab.webhooks.resendDelivery()kaab.webhooks.resend_delivery()client.Webhooks.ResendDelivery()
Send a ping event to the endpoint and wait up to 10 s for its answerkaab.webhooks.test()kaab.webhooks.test()client.Webhooks.Test()
Rotate the secret ad-hoc webhook_url deliveries are signed with; shown oncekaab.org.rotateWebhookSecret()kaab.org.rotate_webhook_secret()client.Org.RotateWebhookSecret()
Read the calling organisationkaab.org.get()kaab.org.get()client.Org.Get()
Read credit balance and poolskaab.credits.get()kaab.credits.get()client.Credits.Get()
List ledger entrieskaab.ledger.list()kaab.ledger.list()client.Ledger.List()
Aggregated usage over a periodkaab.usage.get()kaab.usage.get()client.Usage.Get()
List API keyskaab.apiKeys.list()kaab.api_keys.list()client.APIKeys.List()
Create an API key; the secret is shown oncekaab.apiKeys.create()kaab.api_keys.create()client.APIKeys.Create()
Rotate an API key with an optional grace periodkaab.apiKeys.rotate()kaab.api_keys.rotate()client.APIKeys.Rotate()
Revoke an API keykaab.apiKeys.revoke()kaab.api_keys.revoke()client.APIKeys.Revoke()
List bring-your-own providerskaab.byoProviders.list()kaab.byo_providers.list()client.BYOProviders.List()
Register a bring-your-own providerkaab.byoProviders.create()kaab.byo_providers.create()client.BYOProviders.Create()
Read a bring-your-own providerkaab.byoProviders.get()kaab.byo_providers.get()client.BYOProviders.Get()
Change a bring-your-own providerkaab.byoProviders.update()kaab.byo_providers.update()client.BYOProviders.Update()
Delete a bring-your-own providerkaab.byoProviders.delete()kaab.byo_providers.delete()client.BYOProviders.Delete()
Health-check a bring-your-own providerkaab.byoProviders.test()kaab.byo_providers.test()client.BYOProviders.Test()
Purge the organisation's data within 24 hourskaab.org.requestDataDeletion()kaab.org.request_data_deletion()client.Org.RequestDataDeletion()
Read the learned site profile visible to the organisationkaab.sites.get()kaab.sites.get()client.Sites.Get()

Was this page helpful?