Set Integration Secret
Creates or overwrites (upsert by name) a secret on the integration. The plaintext value is encrypted with the pipeline's active RSA-OAEP (SHA-256) public key before storage and is never returned by any read. The value is encrypted in a single RSA-OAEP block, so values larger than the configured key allows fail with Internal. Returns FailedPrecondition when no public key is configured, NotFound for an unknown integration. A bind audit-log row is appended (best-effort).
Access: any authenticated caller who owns the integration's OAuth client (or, when the client belongs to an application, is a member of that application), or a token with the upl:admin scope. System integrations require upl:admin.
JWT access token obtained via OAuth2 flow or service account
In: header
Header Parameters
Define the version of the Connect protocol
Define the timeout, in ms
Request Body
application/json
uuidLocal name (e.g. "openai_api_key"). Steps reference as
${{ secrets.openai_api_key }}. Pattern matches our other
name-style validators.
^[a-z][a-z0-9_]{0,63}$Plaintext. Upsert: setting an existing name overwrites; no version history v1. Max 64KB — covers PEMs / service-account JSONs.
length <= 65536Response Body
application/json
application/json
curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.IntegrationSecretsService/SetIntegrationSecret" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}