Update function
Applies only the fields present in the request. Settings that do not apply to the function's kind are refused rather than stored.
Authorization
BearerAuth A team API key, created by a team admin in the console and presented as
Authorization: Bearer xk_…. Xeonr Auth issues and verifies it; the
secret is shown once at creation and stored only as a hash, and a
revoked key stops working within 30 seconds. An existing fnt_… token
is accepted the same way.
In: header
Header Parameters
Define the version of the Connect protocol
1Define the timeout, in ms
Request Body
application/json
Only the fields present are applied; the rest are left alone.
owner_team moves the function to another team (URN). Requires the functions admin role in BOTH teams, and the destination must be entitled to the product.
BuildConfig is the author's declared intent. Every field is optional, and each applies to only some kinds.
ScalingSpec is passed through to the platform. Ignored for static functions, which have nothing to scale. An unset field means the platform's default.
env is replaced wholesale, because a client can round-trip it.
set_secrets is merged in rather than replacing, because a client can never read a secret back and so has nothing to send in a whole-map write. Secrets win over env on a key collision.
clear_secrets removes secrets by name.
git carries branch and subdirectory. Provider and repository are fixed once chosen.
git_access_token and git_webhook_secret are write-only: stored encrypted and never read back. Absent means "leave alone"; an empty string clears.
Response Body
application/json
application/json
curl -X POST "https://functions.xeonr.io/xeonr.functions.v1.FunctionService/UpdateFunction" \ -H "Connect-Protocol-Version: 1" \ -H "Content-Type: application/json" \ -d '{}'{
"function": {
"functionId": "string",
"name": "string",
"displayName": "string",
"ownerTeam": "string",
"kind": "KIND_UNSPECIFIED",
"build": {
"packages": [
"string"
],
"entrypoint": [
"string"
],
"port": 0,
"staticDir": "string",
"mainPackage": "string"
},
"scaling": {
"minInstances": 0,
"maxInstances": 0,
"concurrency": 0,
"idleTimeoutSec": 0,
"activationTimeoutSec": 0
},
"env": {
"property1": "string",
"property2": "string"
},
"secretKeys": [
"string"
],
"git": {
"provider": "GIT_PROVIDER_UNSPECIFIED",
"repo": "string",
"branch": "string",
"subdirectory": "string",
"webhookUrl": "string",
"credentialsSet": true,
"authMode": "AUTH_MODE_UNSPECIFIED",
"installationId": 0,
"credentialExpiresAtUnix": 0
},
"activeVersionId": "string",
"filesReadOnly": true,
"createdAtUnix": 0,
"updatedAtUnix": 0,
"activeVersion": {
"versionId": "string",
"functionId": "string",
"state": "VERSION_STATE_UNSPECIFIED",
"snapshotId": "string",
"environmentId": "string",
"appId": "string",
"staticRoot": "string",
"gitCommit": "string",
"gitRef": "string",
"failureMessage": "string",
"createdAtUnix": 0
},
"latestVersion": {
"versionId": "string",
"functionId": "string",
"state": "VERSION_STATE_UNSPECIFIED",
"snapshotId": "string",
"environmentId": "string",
"appId": "string",
"staticRoot": "string",
"gitCommit": "string",
"gitRef": "string",
"failureMessage": "string",
"createdAtUnix": 0
}
}
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}