Actors
List an app's actors, read their command history and export their databases, run a command on an actor's files, and erase an actor for good.
List
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/actorsList the app's stored actors a page at a time, across all 300 shards. Pass the previous page's next as after to continue.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
Query parameters
actorstringOnly actors of this name in the app's contract, such as Room.
afterstringWhere a page of actors stopped. Pass the previous page's next unchanged; its contents are not a contract.
environmentstringThe environment whose actors to list, such as prod, when called at the Cloud API's URL. Defaults to prod. An app's own hostname lists its own environment's actors.
limitintegerAt most this many actors, 1 to 500. Defaults to 500.
Response 200ActorPage
actorsExportedActor[]requiredactors[].actorstringrequiredThe actor's name in the app's contract, such as Room.
actors[].keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
nextstringWhere a page of actors stopped. Pass the previous page's next unchanged; its contents are not a contract.
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
History
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/actors/{actor}/{key}/historyRead an actor's command journal, oldest first, a page at a time after a seq, optionally only since a time.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
actorstringrequiredThe actor's name in the app's contract, such as Room.
keystringrequiredThe actor's key, as the app's contract encodes it.
Query parameters
afterintegerOnly commands after this seq. Pass the previous page's next. Defaults to 0, the start.
limitintegerAt most this many commands, 1 to 500. Defaults to 500.
sincestringOnly commands recorded at or after this time.
Response 200CommandHistoryPage
entriesCommandEntry[]requiredentries[].atstringrequiredentries[].commandstringrequiredentries[].commandIdstringrequiredentries[].exitstringrequiredThe command's outcome, as JSON text in the app's contract encoding.
entries[].payloadstringrequiredThe command's payload, as JSON text in the app's contract encoding.
entries[].principalstringrequiredWho sent the command, as JSON text in the app's contract encoding.
entries[].seqintegerrequiredThe command's place in the actor's journal, counting from 1.
nextintegerThe command's place in the actor's journal, counting from 1.
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError410ActorErasedError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
Erase
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/actors/{actor}/{key}Erase an actor for good: its files are released and its key is destroyed, so its database can never be read again and every later call to it answers ActorErasedError. Its forks are untouched. Erasing an erased actor succeeds again, so after a 503 run it again: the erase may have stopped after releasing the files and before destroying the key, which leaves the database readable until it finishes. A person confirms it.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
actorstringrequiredThe actor's name in the app's contract, such as Room.
keystringrequiredThe actor's key, as the app's contract encodes it.
Response 204<No Content>
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError428ConfirmationRequiredError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
Export shard
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/export/shards/{shard}List the actors that have a database on one of the app's 300 shards.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
shardintegerrequiredOne of the app's 300 shards, 1 to 300.
Response 200ExportShardPage
actorsExportedActor[]requiredactors[].actorstringrequiredThe actor's name in the app's contract, such as Room.
actors[].keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
computersExportedComputer[]The computers those actors keep, ordered by actor, key and name. Absent from a host that predates computers.
computers[].actorstringrequiredThe actor's name in the app's contract, such as Room.
computers[].checkpointstringThe computer's newest checkpoint Akter recorded. It stays in Akter Cloud and can't be downloaded; absent before the first.
computers[].egressstring[]requiredThe hosts the computer may reach. Never credentials.
computers[].imagestringrequiredcomputers[].keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
computers[].namestringrequiredThe computer's name, unique within its actor.
computers[].sizeobjectrequiredcomputers[].size.memoryMibintegerrequiredcomputers[].size.vcpunumberrequired
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
Export snapshot
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/export/snapshotsTake a consistent, decrypted snapshot of one actor's database for export, with its size and SHA-256. akter export does this for every actor.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
Request bodyExportedActor
actorstringrequiredThe actor's name in the app's contract, such as Room.
keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
Response 201ExportSnapshot
actorstringrequiredThe actor's name in the app's contract, such as Room.
bytesintegerrequiredkeystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
sha256stringrequiredA SHA-256 digest as 64 lowercase hex characters.
snapshotstringrequiredNames one export snapshot of one actor.
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError410ActorErasedError | ExportSnapshotGoneError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
Export read
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/export/snapshots/{snapshot}Read a range of at most 64 KiB of an export snapshot's bytes.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
snapshotstringrequiredNames one export snapshot of one actor.
Query parameters
actorstringrequiredThe actor's name in the app's contract, such as Room.
keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
lengthintegerrequiredHow many bytes to read, 1 to 65536.
offsetintegerrequiredThe first byte to read.
Response 200binary
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError410ActorErasedError | ExportSnapshotGoneError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
Export files
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/export/snapshots/{snapshot}/filesList the files an export snapshot holds, a page at a time, by SHA-256 and size.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
snapshotstringrequiredNames one export snapshot of one actor.
Query parameters
actorstringrequiredThe actor's name in the app's contract, such as Room.
afterstringA SHA-256 digest as 64 lowercase hex characters.
keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
Response 200ExportFilePage
filesExportedFile[]requiredfiles[].bytesintegerrequiredfiles[].sha256stringrequiredA SHA-256 digest as 64 lowercase hex characters.
nextstringA SHA-256 digest as 64 lowercase hex characters.
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError410ActorErasedError | ExportSnapshotGoneError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError
Export file read
https://api.akter.dev/v1/organizations/{organization}/apps/{app}/export/snapshots/{snapshot}/files/{sha256}Read a range of at most 64 KiB of one file an export snapshot holds, decrypted; its bytes hash to the SHA-256 in the path. ExportSnapshotGoneError means the snapshot has expired or holds no file with that SHA-256.
Path parameters
appstringrequiredAn app's name, unique within its organization. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
organizationstringrequiredAn organization's name, unique across Akter Cloud. 1 to 63 characters: a lowercase letter, then lowercase letters, digits or single hyphens, ending in a letter or digit.
sha256stringrequiredA SHA-256 digest as 64 lowercase hex characters.
snapshotstringrequiredNames one export snapshot of one actor.
Query parameters
actorstringrequiredThe actor's name in the app's contract, such as Room.
keystringrequiredThe actor's key, as the app's contract encodes it. The empty key is allowed.
lengthintegerrequiredHow many bytes to read, 1 to 65536.
offsetintegerrequiredThe first byte to read.
Response 200binary
Errors
401UnauthorizedError403ForbiddenError404NotFoundError | FeatureNotEnabledError410ActorErasedError | ExportSnapshotGoneError503ActorUnavailableError | AuthUnavailableError | BillingUnavailableError | BuildStorageUnavailableError | ExecUnavailableError