Xeonr Developer Docs

Create integration archive upload intent

POST
/uplim.api.v1.IntegrationAdminService/CreateIntegrationArchiveUploadIntent

Creates a signed upload intent for uploading an integration configuration archive.

Authorization

OAuth2 upl:private
AuthorizationBearer <token>

OAuth 2.0 authorization

In: header

Scope: upl:private

Header Parameters

Connect-Protocol-Version*number

Define the version of the Connect protocol

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

clientId?string|null

OAuth client ID the archive will be filed under. Optional — when omitted, the server derives client_id from the bearer token's scope. Renderer deploys against system integrations use the deploying admin's own client; setting client_id explicitly is only required when filing the archive under a different client the caller has access to.

Formatuuid
integrationId?string|null

Integration the archive belongs to, as a UUID or slug. When set, the archive is filed under /integration// and the caller must own the integration (the natural owner of a renderer archive). Preferred over client_id: it scopes the archive to the integration so the renderer bind authorises by integration permission rather than OAuth-client prefix — which is what lets custom-integration renderers (e.g. gta) publish from CI without threading a --client-id that matches the target integration.

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.IntegrationAdminService/CreateIntegrationArchiveUploadIntent" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "signedToken": "string",
  "uploadPath": "string",
  "expiresAt": "2023-01-15T01:30:15.01Z"
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}