Skip to content
Sign in with Google

Save

POST
/v1/workspace/apps/{appId}/save

Publish the working copy exactly as reviewed (fingerprint): the agent’s commits not yet published as they are, plus one commit of what is not committed, authored and committed by the user with an automatic message. When someone published meanwhile, Save builds on what they published. 409 review_stale when the working copy changed since the review: review it again. 409 publish_conflict when they changed the same lines: nothing is published and the working copy is as before, paths naming the files and publishers who published them. 409 app_unregistered for an App Bkper does not know yet: the agent registers it. 403 workspace_forbidden when the user may not publish it; 422 file_invalid (with reason) in context, for what agents would not load; 409 workspace_busy while Git works in the repository. For the App’s owner and developers (403 workspace_forbidden), when Bkper hosts its source: its folder in /workspace/apps. Saving never deploys.

Authorizations

Parameters

Path Parameters

appId
required
string
/^[A-Za-z0-9_-]{1,64}$/

Request Body required

object
fingerprint
required

The fingerprint of the review the user saw. If the working copy changed since, 409 review_stale: review it again.

string
/^[0-9a-f]{40,64}$/

Responses

200

Success

What Save published.

object
commit
required
Any of:
string
paths
required

The files published, compared with the base.

Array<string>

400

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

401

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

403

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

404

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

409

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

410

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

411

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

413

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

422

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>

503

Rejected; never contains credentials or upstream payloads.

object
error
required
object
code
required

Stable code, e.g. not_found, idempotency_conflict, session_working, usage_limit_exceeded. Open.

string
type

Category, e.g. invalid_request_error, authentication_error, usage_limit_error. Open.

string
message
string
host

Host_in_use: the host another service holds.

string
service

Host_in_use: the id of the service that holds the host.

string
reason

File_invalid: why the change, or a picture, was refused. Open: path | text | size | skill | skills | count | type.

string
paths

File_exists from an add: every path of the request where a file is and replace was not set, all at once, so the person can be asked once. publish_conflict: the files someone published changes to the same lines of.

Array<string>
publishers

Publish_conflict: who published those changes, by name.

Array<string>