{"openapi":"3.0.4","info":{"title":"Interfere API","termsOfService":"https://interfere.com/legal/terms-of-service","contact":{"email":"support@interfere.com","name":"Interfere Support","url":"https://interfere.com/~/*/settings/support"},"license":{"name":"All Rights Reserved","url":"https://interfere.com/legal/terms-of-service"},"description":"Register builds, ingest telemetry, and inspect application issues. Build operations authenticate with a secret surface key; SDK ingestion uses a publishable surface key. Dashboard operations require a Clerk session, and investigation endpoints require workload identity. Authentication alternatives are listed on each operation. Retry only when the operation contract permits it, preserving the original idempotency key.","version":"3.0.0"},"externalDocs":{"url":"https://interfere.com/docs","description":"Interfere Documentation"},"tags":[{"name":"Releases","description":"Build registration and source-map uploads"},{"name":"Sessions","description":"Session identity, activity, and events"},{"name":"tenants","x-displayName":"Companies"}],"components":{"securitySchemes":{"publicKeyHeader":{"description":"Public key of the receiving surface; preferred for OTel Collector exporters, whose endpoint config cannot carry query strings","in":"header","name":"x-interfere-public-key","type":"apiKey"},"publicKey":{"description":"Public key of the receiving surface","in":"query","name":"public_key","type":"apiKey"},"apiKey":{"description":"Build-time secret key of the surface, as issued in the Interfere dashboard","scheme":"bearer","type":"http"},"apiKeyHeader":{"description":"Build-time secret key of the surface, unwrapped; for clients that cannot set an Authorization header","in":"header","name":"x-api-key","type":"apiKey"},"clerkSession":{"description":"Clerk session or delegated OAuth access token of an Interfere user. Workspace routes also accept API keys with explicit permission scopes.","scheme":"bearer","type":"http"}},"schemas":{"AuthProblem":{"properties":{"code":{"enum":["AUTH_MISSING","AUTH_PK_INVALID"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"SourceMapUploadBatchResponse":{"properties":{"ok":{"enum":[true],"type":"boolean"},"fileCount":{"minimum":0,"type":"integer"}},"required":["ok","fileCount"],"type":"object"},"ApiKeyAuthProblem":{"properties":{"code":{"enum":["AUTH_MISSING","AUTH_AK_INVALID"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"ApiKeyScopeProblem":{"anyOf":[{"properties":{"code":{"enum":["AUTH_AK_SCOPE_MISMATCH"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},{"properties":{"code":{"enum":["NETWORK_ACCESS_DENIED"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}]},"UploadSourceMapBatchProblem":{"properties":{"code":{"enum":["RELEASE_SIGN_FILE_TOO_LARGE","RELEASE_UPLOAD_INVALID"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"ReleaseUnavailableProblem":{"anyOf":[{"properties":{"code":{"enum":["INGEST_INFRA_UNAVAILABLE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},{"properties":{"code":{"enum":["NETWORK_ACCESS_UNAVAILABLE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}]},"SourceMapUploadBatch":{"properties":{"chunks":{"items":{"properties":{"path":{"minLength":1,"type":"string"},"offset":{"minimum":0,"type":"integer"},"bytes":{"minLength":1,"type":"string"}},"required":["path","offset","bytes"],"additionalProperties":false,"type":"object"},"minItems":1,"maxItems":32,"type":"array"}},"required":["chunks"],"additionalProperties":false,"type":"object"},"SourceMapPublicationStatus":{"properties":{"releaseSlug":{"pattern":"^rel_.*$","type":"string"},"environment":{"type":"string","nullable":true},"sessionId":{"format":"uuid","type":"string","nullable":true},"state":{"enum":["absent","uploading","accepted","ready","expiring","expired"],"type":"string"},"fileCount":{"minimum":0,"type":"integer"},"publishedFileCount":{"minimum":0,"type":"integer"},"batchDigest":{"pattern":"^[a-f0-9]{64}$","type":"string","nullable":true},"manifestReady":{"type":"boolean"},"diagnostics":{"properties":{"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true},"scheduledAtMs":{"minimum":0,"type":"integer","nullable":true},"startedAtMs":{"minimum":0,"type":"integer"},"completedAtMs":{"minimum":0,"type":"integer","nullable":true},"phase":{"enum":["files","manifest","release","continuation","completion","complete"],"type":"string"},"publishedAtStart":{"minimum":0,"type":"integer"},"progressObservedAtMs":{"minimum":0,"type":"integer","nullable":true},"nativeRetryCount":{"minimum":0,"type":"integer"},"interruptedAttempts":{"minimum":0,"type":"integer"},"longestAttempt":{"properties":{"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true},"durationMs":{"minimum":0,"type":"integer"}},"required":["attempt","durationMs"],"type":"object","nullable":true},"longestAlarmDelay":{"properties":{"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true},"durationMs":{"minimum":0,"type":"integer"}},"required":["attempt","durationMs"],"type":"object","nullable":true},"nextAlarmAtMs":{"minimum":0,"type":"integer","nullable":true},"lastFailure":{"properties":{"attempt":{"type":"integer","minimum":0,"exclusiveMinimum":true},"atMs":{"minimum":0,"type":"integer"},"phase":{"enum":["files","manifest","release","continuation","completion","complete"],"type":"string"},"kind":{"enum":["timeout","aborted","error","non-error"],"type":"string"}},"required":["attempt","atMs","phase","kind"],"type":"object","nullable":true}},"required":["attempt","scheduledAtMs","startedAtMs","completedAtMs","phase","publishedAtStart","progressObservedAtMs","nativeRetryCount","interruptedAttempts","longestAttempt","longestAlarmDelay","nextAlarmAtMs","lastFailure"],"type":"object"}},"required":["releaseSlug","environment","sessionId","state","fileCount","publishedFileCount","batchDigest","manifestReady"],"description":"Source map publication status","type":"object"},"ReleasesConfigResponse":{"properties":{"surface":{"properties":{"id":{"format":"uuid","type":"string"},"slug":{"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Surface URL slug, using lowercase letters, numbers, and hyphens.","type":"string"},"environmentFiltering":{"type":"boolean"},"sourceProvider":{"$ref":"#/components/schemas/ConfiguredSourceProvider"},"destinationProvider":{"$ref":"#/components/schemas/ConfiguredDestinationProvider"},"sdkConfig":{"properties":{"plugins":{"properties":{"errors":{"type":"boolean"},"device":{"type":"boolean"},"pageEvents":{"type":"boolean"},"rageClick":{"type":"boolean"},"replay":{"type":"boolean"},"logs":{"type":"boolean"}},"type":"object"},"serverTracing":{"enum":["full","drain"],"type":"string"},"logSourcing":{"enum":["sdk","drain"],"type":"string"}},"type":"object","nullable":true}},"required":["id","slug","environmentFiltering","sourceProvider","destinationProvider","sdkConfig"],"type":"object"},"org":{"properties":{"id":{"format":"uuid","type":"string"},"slug":{"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Workspace URL slug, using lowercase letters, numbers, and hyphens.","type":"string"}},"required":["id","slug"],"type":"object"}},"required":["surface","org"],"description":"Surface and organization a build-time API key resolves to, with the source provider collapsed to the family the build tooling understands.","type":"object"},"ConfiguredSourceProvider":{"enum":["github","ghe_cloud","ghe_server",null],"description":"ConfiguredSourceProvider","type":"string","nullable":true},"ConfiguredDestinationProvider":{"enum":["vercel","cloudflare","cli",null],"description":"ConfiguredDestinationProvider","type":"string","nullable":true},"CreateReleaseResponse":{"properties":{"build":{"$ref":"#/components/schemas/ReleaseBuildRef"},"destination":{"$ref":"#/components/schemas/ReleaseDestinationRef"},"org":{"$ref":"#/components/schemas/OrgRef"},"source":{"$ref":"#/components/schemas/ReleaseSourceRef"},"surface":{"$ref":"#/components/schemas/SurfaceRef"}},"required":["build","destination","org","source","surface"],"description":"Response body returned after creating a release.","type":"object"},"ReleaseBuildRef":{"properties":{"hash":{"type":"string"}},"required":["hash"],"description":"ReleaseBuildRef","type":"object"},"ReleaseDestinationRef":{"properties":{"id":{"type":"string"},"slug":{"pattern":"^rel_.*$","type":"string"},"environment":{"type":"string","nullable":true}},"required":["id","slug","environment"],"description":"ReleaseDestinationRef","type":"object"},"OrgRef":{"properties":{"id":{"type":"string"},"slug":{"type":"string"}},"required":["id","slug"],"description":"OrgRef","type":"object"},"ReleaseSourceRef":{"properties":{"id":{"type":"string"}},"required":["id"],"description":"ReleaseSourceRef","type":"object"},"SurfaceRef":{"properties":{"id":{"type":"string"},"slug":{"type":"string"}},"required":["id","slug"],"description":"SurfaceRef","type":"object"},"CreateReleaseRequest":{"properties":{"buildId":{"type":"string"},"destination":{"$ref":"#/components/schemas/ReleaseDestination"},"producerVersion":{"type":"string"},"slug":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"source":{"$ref":"#/components/schemas/ReleaseSource"}},"required":["buildId","destination","source"],"description":"Request body for creating a release.","type":"object"},"ReleaseDestination":{"oneOf":[{"$ref":"#/components/schemas/VercelReleaseDestination"},{"$ref":"#/components/schemas/CloudflareReleaseDestination"},{"$ref":"#/components/schemas/CliReleaseDestination"},{"enum":[null]}],"description":"ReleaseDestination"},"VercelReleaseDestination":{"properties":{"deploymentId":{"type":"string","nullable":true},"deploymentUrl":{"type":"string","nullable":true},"destinationReleaseId":{"type":"string","nullable":true},"environment":{"type":"string","nullable":true},"environmentName":{"type":"string","nullable":true},"environmentTarget":{"type":"string","nullable":true},"provider":{"enum":["vercel"],"type":"string"}},"required":["deploymentId","deploymentUrl","destinationReleaseId","environment","environmentName","environmentTarget","provider"],"description":"Release destination metadata for a Vercel deployment.","type":"object"},"CloudflareReleaseDestination":{"properties":{"accountId":{"type":"string","nullable":true},"deploymentUrl":{"type":"string","nullable":true},"destinationReleaseId":{"type":"string","nullable":true},"environment":{"type":"string","nullable":true},"environmentName":{"type":"string","nullable":true},"environmentTarget":{"type":"string","nullable":true},"provider":{"enum":["cloudflare"],"type":"string"},"deploymentId":{"type":"string","nullable":true},"trafficPercentage":{"minimum":0,"maximum":100,"type":"number","nullable":true},"scriptName":{"type":"string","nullable":true},"versionId":{"type":"string","nullable":true}},"required":["accountId","deploymentUrl","destinationReleaseId","environment","environmentName","environmentTarget","provider","scriptName","versionId"],"description":"Release destination metadata for a Cloudflare Workers deployment.","type":"object"},"CliReleaseDestination":{"properties":{"deploymentUrl":{"type":"string","nullable":true},"destinationReleaseId":{"type":"string","nullable":true},"environment":{"type":"string","nullable":true},"provider":{"enum":["cli"],"type":"string"}},"required":["deploymentUrl","destinationReleaseId","environment","provider"],"description":"Release destination metadata from the Interfere CLI.","type":"object"},"ReleaseSource":{"oneOf":[{"$ref":"#/components/schemas/GithubReleaseSource"},{"$ref":"#/components/schemas/CliReleaseSource"}],"discriminator":{"propertyName":"provider","mapping":{"github":"#/components/schemas/GithubReleaseSource","cli":"#/components/schemas/CliReleaseSource"}},"description":"ReleaseSource"},"GithubReleaseSource":{"properties":{"branch":{"type":"string"},"commitMessage":{"type":"string"},"commitSha":{"type":"string","nullable":true},"provider":{"enum":["github"],"type":"string"},"runId":{"type":"string","nullable":true},"runUrl":{"type":"string","nullable":true},"runnerName":{"type":"string","nullable":true}},"required":["branch","commitMessage","commitSha","provider"],"description":"Release source metadata coming from GitHub.","type":"object"},"CliReleaseSource":{"properties":{"commitMessage":{"type":"string","nullable":true},"commitRef":{"type":"string","nullable":true},"commitSha":{"type":"string","nullable":true},"commitUrl":{"type":"string","nullable":true},"deploymentUrl":{"type":"string","nullable":true},"environment":{"type":"string","nullable":true},"provider":{"enum":["cli"],"type":"string"},"runId":{"type":"string","nullable":true},"runUrl":{"type":"string","nullable":true},"runnerName":{"type":"string","nullable":true}},"required":["commitMessage","commitRef","commitSha","commitUrl","provider","runId","runUrl","runnerName"],"description":"Release source metadata from the Interfere CLI.","type":"object"},"SourceMapUploadSessionResponse":{"properties":{"batchUpload":{"$ref":"#/components/schemas/SourceMapBatchCapability"},"expiresAt":{"type":"integer"},"uploads":{"items":{"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},"type":"array"}},"required":["expiresAt","uploads"],"type":"object"},"SourceMapBatchCapability":{"properties":{"version":{"enum":[1],"type":"number"},"compression":{"enum":["gzip"],"type":"string"},"maxBodyBytes":{"maximum":524288,"type":"integer","minimum":0,"exclusiveMinimum":true},"maxFiles":{"maximum":32,"type":"integer","minimum":0,"exclusiveMinimum":true}},"required":["version","maxBodyBytes","maxFiles"],"additionalProperties":false,"type":"object"},"SignSourceMapsProblem":{"properties":{"code":{"enum":["RELEASE_NOT_FOUND","RELEASE_SIGN_EMPTY","RELEASE_SIGN_TOO_MANY_FILES","RELEASE_SIGN_FILE_TOO_LARGE","RELEASE_SIGN_DUPLICATE_PATH","RELEASE_UPLOAD_INVALID"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"SignSourceMapsRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/SignSourceMapFile"},"type":"array"}},"required":["files"],"description":"Initializes an upload session with the file inventory and declared sizes. Upload each file through the source-map endpoint using ordered byte offsets, then finalize the complete batch before the session expires.","type":"object"},"SignSourceMapFile":{"properties":{"hasFile":{"type":"boolean"},"hasNames":{"type":"boolean"},"hasSourcesContent":{"type":"boolean"},"mappingsPresent":{"type":"boolean"},"path":{"minLength":1,"type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["hasFile","hasNames","hasSourcesContent","mappingsPresent","path","sizeBytes"],"description":"SignSourceMapFile","type":"object"},"UploadSourceMapResponse":{"properties":{"objectKey":{"type":"string"}},"required":["objectKey"],"type":"object"},"UploadSourceMapProblem":{"properties":{"code":{"enum":["RELEASE_SIGN_FILE_TOO_LARGE","RELEASE_UPLOAD_INVALID"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"CompleteSourceMapsResponse":{"properties":{"fileCount":{"minimum":0,"type":"integer"},"ok":{"type":"boolean"}},"required":["fileCount","ok"],"description":"CompleteSourceMapsResponse","type":"object"},"CompleteSourceMapsProblem":{"properties":{"code":{"enum":["RELEASE_NOT_FOUND","RELEASE_UPLOAD_INVALID"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"CompleteSourceMapsRequest":{"properties":{"bundler":{"$ref":"#/components/schemas/ManifestBundler"},"files":{"items":{"$ref":"#/components/schemas/CompleteSourceMapFile"},"type":"array"},"sourceFileCount":{"minimum":0,"type":"integer"}},"required":["bundler","files"],"description":"Finalizes an upload session after all file chunks are durably accepted. Verifies the complete file inventory and schedules publication of the source-map manifest. Safe to retry.","type":"object"},"ManifestBundler":{"enum":["webpack","turbopack","rollup","tsc"],"description":"ManifestBundler","type":"string"},"CompleteSourceMapFile":{"properties":{"chunkUrl":{"type":"string"},"debugId":{"type":"string"},"hash":{"type":"string"},"path":{"minLength":1,"type":"string"}},"required":["chunkUrl","debugId","hash","path"],"description":"CompleteSourceMapFile","type":"object"},"TelemetryResponse":{"properties":{"ok":{"type":"boolean"}},"required":["ok"],"description":"TelemetryResponse","type":"object"},"TelemetryRequest":{"properties":{"cleanup":{"type":"number"},"createRelease":{"type":"number"},"discover":{"type":"number"},"fileCount":{"type":"number"},"preflight":{"type":"number"},"result":{"$ref":"#/components/schemas/ReleaseBuildResult"},"total":{"type":"number"},"totalBytes":{"type":"number"},"upload":{"type":"number"}},"required":["cleanup","createRelease","discover","fileCount","total","totalBytes","upload"],"description":"Timings and counters reported after a source-map upload.","type":"object"},"ReleaseBuildResult":{"enum":["ok","api_key_wrong_prefix","api_key_unreadable","api_key_rejected","api_key_scope_mismatch","pipeline_failed","no_source_maps","client_maps_unmapped"],"description":"ReleaseBuildResult","type":"string"},"SessionResponse":{"properties":{"ok":{"type":"boolean"}},"required":["ok"],"description":"SessionResponse","type":"object"},"SessionUnavailableProblem":{"properties":{"code":{"enum":["INGEST_INFRA_UNAVAILABLE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"},"IdentifySessionRequest":{"properties":{"deviceId":{"format":"uuid","type":"string","nullable":true},"fpHash":{"type":"string","nullable":true},"sessionId":{"minLength":1,"type":"string"},"visitorId":{"format":"uuid","type":"string","nullable":true},"avatar":{"type":"string"},"email":{"format":"email","type":"string"},"identifier":{"type":"string"},"name":{"type":"string"},"source":{"$ref":"#/components/schemas/IdentifySource"},"traits":{"$ref":"#/components/schemas/IdentifyTraits"},"country":{"maxLength":2,"type":"string"}},"required":["sessionId","identifier","source"],"description":"Request body for identifying the consumer associated with a session.","type":"object"},"IdentifySource":{"oneOf":[{"$ref":"#/components/schemas/ClerkIdentifySource"},{"$ref":"#/components/schemas/Auth0IdentifySource"},{"$ref":"#/components/schemas/WorkOSIdentifySource"},{"$ref":"#/components/schemas/CustomIdentifySource"}],"discriminator":{"propertyName":"type","mapping":{"clerk":"#/components/schemas/ClerkIdentifySource","auth0":"#/components/schemas/Auth0IdentifySource","workos":"#/components/schemas/WorkOSIdentifySource","custom":"#/components/schemas/CustomIdentifySource"}},"description":"Auth provider that surfaced this identification."},"ClerkIdentifySource":{"properties":{"name":{"enum":["Clerk"],"type":"string"},"type":{"enum":["clerk"],"type":"string"}},"required":["name","type"],"description":"ClerkIdentifySource","type":"object"},"Auth0IdentifySource":{"properties":{"name":{"enum":["Auth0"],"type":"string"},"type":{"enum":["auth0"],"type":"string"}},"required":["name","type"],"description":"Auth0IdentifySource","type":"object"},"WorkOSIdentifySource":{"properties":{"name":{"enum":["WorkOS"],"type":"string"},"type":{"enum":["workos"],"type":"string"}},"required":["name","type"],"description":"WorkOSIdentifySource","type":"object"},"CustomIdentifySource":{"properties":{"name":{"type":"string"},"type":{"enum":["custom"],"type":"string"}},"required":["name","type"],"description":"CustomIdentifySource","type":"object"},"IdentifyTraits":{"additionalProperties":{},"description":"Free-form key/value bag of user attributes attached when identifying a session.","type":"object"},"RpcUnexpectedError":{"properties":{"defined":{"enum":[false]},"code":{"type":"string"},"status":{"type":"number"},"message":{"type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},"GetTenantContextResponse":{"properties":{"endUserOrgId":{"format":"uuid","type":"string"},"arr":{"anyOf":[{"properties":{"amount":{"pattern":"^(?:0|[1-9]\\d{0,15})(?:\\.\\d{1,4})?$","type":"string"},"currency":{"pattern":"^[A-Z]{3}$","type":"string"}},"required":["amount","currency"],"additionalProperties":false,"type":"object"},{"enum":[null]}]},"tier":{"anyOf":[{"type":"string"},{"enum":[null]}]}},"required":["endUserOrgId","arr","tier"],"type":"object"},"GetTenantContextsResponse":{"properties":{"tenants":{"items":{"$ref":"#/components/schemas/GetTenantContextResponse"},"type":"array"}},"required":["tenants"],"type":"object"}},"headers":{"RetryAfter":{"description":"Seconds to wait before retrying this request","schema":{"pattern":"^[0-9]+$","example":"30","type":"string"}}},"responses":{"RpcValidationError":{"description":"Request parameters or body failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RpcUnexpectedError"}}}}}},"paths":{"/v3/releases/{releaseSlug}/source-maps/batch":{"put":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Atomically uploads source-map chunks from the signed inventory. Accepts Content-Encoding: gzip. The encoded and decoded JSON bodies must each fit within 8 MiB.","operationId":"uploadSourceMapBatch","x-interfere-api-shield-body-validation":"origin-large-json","summary":"Upload source-map batch","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"schema":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"required":true,"name":"releaseSlug","in":"path"},{"schema":{"minLength":1,"maxLength":64,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","example":"production","type":"string"},"required":false,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","name":"environment","in":"query"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceMapUploadBatch"}}}},"responses":{"200":{"description":"All chunks durably accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceMapUploadBatchResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"409":{"description":"A chunk conflicts with the upload session","content":{"application/json":{"schema":{"properties":{"code":{"enum":["RELEASE_UPLOAD_CONFLICT"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"422":{"description":"The batch was rejected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSourceMapBatchProblem"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/releases/{releaseSlug}/source-maps":{"get":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Reads the exact environment upload session and verifies its published manifest without changing upload state.","operationId":"getSourceMapPublicationStatus","summary":"Get source-map publication status","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"schema":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"required":true,"name":"releaseSlug","in":"path"},{"schema":{"minLength":1,"maxLength":64,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","example":"production","type":"string"},"required":false,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","name":"environment","in":"query"}],"responses":{"200":{"description":"Source-map publication progress and exact manifest readiness","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceMapPublicationStatus"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"422":{"description":"Release not found","content":{"application/json":{"schema":{"properties":{"code":{"enum":["RELEASE_NOT_FOUND"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":true},"put":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Uploads a source-map chunk declared to the sign call. Accepts Content-Encoding: gzip; encoded and decoded chunks must each fit within 8 MiB. Offsets refer to decoded bytes.","operationId":"uploadSourceMap","x-interfere-api-shield-body-validation":"origin-binary","summary":"Upload source map","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"schema":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"required":true,"name":"releaseSlug","in":"path"},{"schema":{"minLength":1,"maxLength":64,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","example":"production","type":"string"},"required":false,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","name":"environment","in":"query"},{"schema":{"minimum":0,"default":0,"type":"integer","nullable":true},"required":false,"name":"offset","in":"query"},{"schema":{"minLength":1,"description":"Build-relative path of the source map, as declared to the sign call","example":"static/chunks/4f2a.js.map","type":"string"},"required":true,"description":"Build-relative path of the source map, as declared to the sign call","name":"path","in":"query"}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"format":"binary","description":"Source-map bytes, up to 8 MiB per request","type":"string"}}}},"responses":{"200":{"description":"Source map stored","links":{"finalize":{"operationId":"finalizeSourceMaps","parameters":{"releaseSlug":"$request.path.releaseSlug"},"description":"After uploading every file, submit the complete manifest to finalize this release."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSourceMapResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"409":{"description":"Release already has different source maps","content":{"application/json":{"schema":{"properties":{"code":{"enum":["RELEASE_UPLOAD_CONFLICT"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"422":{"description":"The source map exceeds the per-file size limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadSourceMapProblem"}}}},"429":{"description":"Upload capacity is unavailable","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"properties":{"code":{"enum":["INGEST_BACKPRESSURE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/releases/config":{"get":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Resolves the surface and organization a build-time key belongs to.","operationId":"getReleasesConfig","summary":"Get release config","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"responses":{"200":{"description":"Surface and organization for this key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleasesConfigResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"503":{"description":"Network policy unavailable","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"properties":{"code":{"enum":["NETWORK_ACCESS_UNAVAILABLE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}}},"x-interfere-read-only":true}},"/v3/releases":{"post":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Registers a release for the surface the build-time key belongs to.","operationId":"createRelease","summary":"Create release","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"examples":{"github":{"summary":"GitHub build without a deployment destination","value":{"buildId":"0123456789abcdef0123456789abcdef01234567","destination":null,"source":{"provider":"github","branch":"main","commitMessage":"Fix checkout validation","commitSha":"0123456789abcdef0123456789abcdef01234567"}}}},"schema":{"$ref":"#/components/schemas/CreateReleaseRequest"}}}},"responses":{"200":{"description":"Release recorded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReleaseResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/releases/{releaseSlug}/source-maps/sign":{"post":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Initializes a source-map upload session and returns its expiry and file inventory.","operationId":"signSourceMapUploads","x-interfere-api-shield-body-validation":"origin-large-json","summary":"Sign source maps","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"schema":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"required":true,"name":"releaseSlug","in":"path"},{"schema":{"minLength":1,"maxLength":64,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","example":"production","type":"string"},"required":false,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","name":"environment","in":"query"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignSourceMapsRequest"}}}},"responses":{"200":{"description":"Upload session expiry and file inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceMapUploadSessionResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"409":{"description":"Release already has different source maps","content":{"application/json":{"schema":{"properties":{"code":{"enum":["RELEASE_UPLOAD_CONFLICT"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"413":{"description":"Source maps exceed the total release size limit","content":{"application/json":{"schema":{"properties":{"code":{"enum":["RELEASE_SIGN_BATCH_TOO_LARGE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"422":{"description":"The sign request was rejected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignSourceMapsProblem"}}}},"429":{"description":"Upload capacity is unavailable","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"properties":{"code":{"enum":["INGEST_BACKPRESSURE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/releases/{releaseSlug}/source-maps/finalize":{"post":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Durably accepts all signed files and their verified manifest. R2 publication retries in the background.","operationId":"finalizeSourceMaps","x-interfere-api-shield-body-validation":"origin-large-json","summary":"Finalize source maps","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"schema":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"required":true,"name":"releaseSlug","in":"path"},{"schema":{"minLength":1,"maxLength":64,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","example":"production","type":"string"},"required":false,"description":"Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.","name":"environment","in":"query"}],"requestBody":{"required":true,"content":{"application/json":{"examples":{"emptyBuild":{"summary":"Finalize a build with no source maps","value":{"bundler":"rollup","files":[],"sourceFileCount":0}}},"schema":{"$ref":"#/components/schemas/CompleteSourceMapsRequest"}}}},"responses":{"200":{"description":"Source maps durably accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteSourceMapsResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"409":{"description":"Release already has different source maps","content":{"application/json":{"schema":{"properties":{"code":{"enum":["RELEASE_UPLOAD_CONFLICT"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"422":{"description":"The release is unknown","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteSourceMapsProblem"}}}},"429":{"description":"Upload capacity is unavailable","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"properties":{"code":{"enum":["INGEST_BACKPRESSURE"],"type":"string"},"message":{"type":"string"},"service":{"enum":["collector","gateway","operation","intelligence","frontier-auth","frontier-drain","frontier-runtime","frontier-buildtime","api-tinybird","api-findings","api-updates"],"type":"string"}},"required":["code"],"type":"object"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/releases/{releaseSlug}/telemetry":{"post":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Records source-map upload timings for a release.","operationId":"reportTelemetry","summary":"Report telemetry","tags":["Releases"],"security":[{"apiKey":[]},{"apiKeyHeader":[]}],"parameters":[{"schema":{"pattern":"^rel_[0-9a-f]{16}$","type":"string"},"required":true,"name":"releaseSlug","in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryRequest"}}}},"responses":{"200":{"description":"Timings recorded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryResponse"}}}},"401":{"description":"Missing or invalid secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyAuthProblem"}}}},"403":{"description":"Secret key lacks the required scope or its network is blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyScopeProblem"}}}},"503":{"description":"A dependency failed while recording the release; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/session/identify":{"post":{"x-cloudflare-labels":["cf-api-endpoint"],"description":"Attaches an application user identity to a session.","operationId":"identifySession","summary":"Identify session","tags":["Sessions"],"security":[{"publicKeyHeader":[]},{"publicKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"examples":{"customIdentity":{"value":{"sessionId":"01991111-1111-7111-8111-111111111111","identifier":"customer-123","email":"customer@example.com","source":{"type":"custom","name":"account-service"}}}},"schema":{"$ref":"#/components/schemas/IdentifySessionRequest"}}}},"responses":{"200":{"description":"Identity attached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}},"401":{"description":"Missing or invalid public key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthProblem"}}}},"503":{"description":"A dependency failed while accepting the request; retry with backoff after the Retry-After delay","headers":{"Retry-After":{"schema":{"description":"Seconds to wait before retrying","type":"string"},"required":true,"description":"Seconds to wait before retrying"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionUnavailableProblem"}}}}},"x-interfere-read-only":false}},"/v3/workspaces/{workspaceSlug}/tenants/{endUserOrgId}/context":{"get":{"operationId":"tenants_getContext","summary":"companies getContext","description":"Returns exact decimal ARR with currency and the company's workspace tier. Unknown revenue is null.","tags":["tenants"],"parameters":[{"name":"workspaceSlug","in":"path","required":true,"schema":{"minLength":1,"type":"string"}},{"name":"endUserOrgId","in":"path","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenantContextResponse"}}}},"400":{"$ref":"#/components/responses/RpcValidationError"},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_MISSING"]},"status":{"enum":[401]},"message":{"default":"Request is missing session credentials.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_SESSION_INVALID"]},"status":{"enum":[401]},"message":{"default":"Session token is missing, expired, or not valid here.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_ORG_REQUIRED"]},"status":{"enum":[401]},"message":{"default":"An active workspace session is required.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["NETWORK_ACCESS_DENIED"]},"status":{"enum":[403]},"message":{"default":"This network is not allowed to access the workspace. Connect to an allowed network and try again.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["WORKSPACE_ACCESS_DENIED"]},"status":{"enum":[403]},"message":{"default":"Workspace access is unavailable for this session.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["COMPANY_NOT_FOUND"]},"status":{"enum":[404]},"message":{"default":"Company not found.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["WORKSPACE_NOT_FOUND"]},"status":{"enum":[404]},"message":{"default":"Workspace not found.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"503":{"description":"Service temporarily unavailable; retry after the indicated delay","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["NETWORK_ACCESS_UNAVAILABLE"]},"status":{"enum":[503]},"message":{"default":"Network access could not be checked. Try again shortly.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["OPERATION_UNAVAILABLE"]},"status":{"enum":[503]},"message":{"default":"Operation is temporarily unavailable.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}},"headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}}}},"x-cloudflare-labels":["cf-api-endpoint"],"security":[{"clerkSession":[]}],"x-interfere-read-only":true,"x-fern-sdk-group-name":["tenants"],"x-fern-sdk-method-name":"getContext"},"patch":{"operationId":"tenants_updateContext","summary":"companies updateContext","description":"Updates ARR and tier. ARR uses decimal major units and an ISO currency. Omitted fields remain unchanged; null clears a field. Tier names are created within the workspace when first assigned.","tags":["tenants"],"parameters":[{"name":"workspaceSlug","in":"path","required":true,"schema":{"minLength":1,"type":"string"}},{"name":"endUserOrgId","in":"path","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"properties":{"arr":{"anyOf":[{"properties":{"amount":{"pattern":"^(?:0|[1-9]\\d{0,15})(?:\\.\\d{1,4})?$","type":"string"},"currency":{"pattern":"^[A-Z]{3}$","type":"string"}},"required":["amount","currency"],"additionalProperties":false,"type":"object"},{"enum":[null]}]},"tier":{"anyOf":[{"minLength":1,"maxLength":100,"type":"string"},{"enum":[null]}]}},"additionalProperties":false,"type":"object"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenantContextResponse"}}}},"400":{"$ref":"#/components/responses/RpcValidationError"},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_MISSING"]},"status":{"enum":[401]},"message":{"default":"Request is missing session credentials.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_SESSION_INVALID"]},"status":{"enum":[401]},"message":{"default":"Session token is missing, expired, or not valid here.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_ORG_REQUIRED"]},"status":{"enum":[401]},"message":{"default":"An active workspace session is required.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["NETWORK_ACCESS_DENIED"]},"status":{"enum":[403]},"message":{"default":"This network is not allowed to access the workspace. Connect to an allowed network and try again.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["WORKSPACE_ACCESS_DENIED"]},"status":{"enum":[403]},"message":{"default":"Workspace access is unavailable for this session.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["COMPANY_NOT_FOUND"]},"status":{"enum":[404]},"message":{"default":"Company not found.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["WORKSPACE_NOT_FOUND"]},"status":{"enum":[404]},"message":{"default":"Workspace not found.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"503":{"description":"Service temporarily unavailable; retry after the indicated delay","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["NETWORK_ACCESS_UNAVAILABLE"]},"status":{"enum":[503]},"message":{"default":"Network access could not be checked. Try again shortly.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["OPERATION_UNAVAILABLE"]},"status":{"enum":[503]},"message":{"default":"Operation is temporarily unavailable.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}},"headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}}}},"x-cloudflare-labels":["cf-api-endpoint"],"security":[{"clerkSession":[]}],"x-interfere-read-only":false,"x-fern-sdk-group-name":["tenants"],"x-fern-sdk-method-name":"updateContext"}},"/v3/workspaces/{workspaceSlug}/tenants/context":{"patch":{"operationId":"tenants_updateContexts","summary":"companies updateContexts","description":"Atomically patches up to 100 distinct companies. Unknown, deleted, or foreign companies reject the entire batch. Omitted fields remain unchanged; null clears a field.","tags":["tenants"],"parameters":[{"name":"workspaceSlug","in":"path","required":true,"schema":{"minLength":1,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenants":{"minItems":1,"maxItems":100,"items":{"properties":{"arr":{"anyOf":[{"properties":{"amount":{"pattern":"^(?:0|[1-9]\\d{0,15})(?:\\.\\d{1,4})?$","type":"string"},"currency":{"pattern":"^[A-Z]{3}$","type":"string"}},"required":["amount","currency"],"additionalProperties":false,"type":"object"},{"enum":[null]}]},"tier":{"anyOf":[{"minLength":1,"maxLength":100,"type":"string"},{"enum":[null]}]},"endUserOrgId":{"format":"uuid","type":"string"}},"required":["endUserOrgId"],"additionalProperties":false,"type":"object"},"type":"array"}},"required":["tenants"],"type":"object"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTenantContextsResponse"}}}},"400":{"$ref":"#/components/responses/RpcValidationError"},"401":{"description":"Missing or invalid credentials","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_MISSING"]},"status":{"enum":[401]},"message":{"default":"Request is missing session credentials.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_SESSION_INVALID"]},"status":{"enum":[401]},"message":{"default":"Session token is missing, expired, or not valid here.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["AUTH_ORG_REQUIRED"]},"status":{"enum":[401]},"message":{"default":"An active workspace session is required.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["NETWORK_ACCESS_DENIED"]},"status":{"enum":[403]},"message":{"default":"This network is not allowed to access the workspace. Connect to an allowed network and try again.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["WORKSPACE_ACCESS_DENIED"]},"status":{"enum":[403]},"message":{"default":"Workspace access is unavailable for this session.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["COMPANY_NOT_FOUND"]},"status":{"enum":[404]},"message":{"default":"Company not found.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["WORKSPACE_NOT_FOUND"]},"status":{"enum":[404]},"message":{"default":"Workspace not found.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}}},"503":{"description":"Service temporarily unavailable; retry after the indicated delay","content":{"application/json":{"schema":{"oneOf":[{"properties":{"defined":{"enum":[true]},"code":{"enum":["NETWORK_ACCESS_UNAVAILABLE"]},"status":{"enum":[503]},"message":{"default":"Network access could not be checked. Try again shortly.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"properties":{"defined":{"enum":[true]},"code":{"enum":["OPERATION_UNAVAILABLE"]},"status":{"enum":[503]},"message":{"default":"Operation is temporarily unavailable.","type":"string"},"data":{}},"required":["defined","code","status","message"],"type":"object"},{"$ref":"#/components/schemas/RpcUnexpectedError"}]}}},"headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}}}},"x-cloudflare-labels":["cf-api-endpoint"],"security":[{"clerkSession":[]}],"x-interfere-read-only":false,"x-fern-sdk-group-name":["tenants"],"x-fern-sdk-method-name":"updateContexts"}}},"x-fern-groups":{"audit":{"summary":"Inspect workspace audit events"},"billing":{"summary":"Manage billing and view invoices"},"invoices":{"summary":"View invoice history and payment status"},"tenants":{"summary":"Inspect companies using your application"},"configuration":{"summary":"Read SDK configuration"},"domains":{"summary":"Manage workspace domains and DNS"},"drain":{"summary":"Submit telemetry"},"consumers":{"summary":"Inspect application users and their activity"},"feedback":{"summary":"Submit workspace or problem feedback"},"findings":{"summary":"Inspect findings associated with a problem"},"integrations":{"summary":"Manage connected services and repositories"},"keys":{"summary":"Manage public and private API keys"},"public":{"summary":"Create, rotate, and revoke publishable keys"},"private":{"summary":"Create, inspect, rotate, and revoke private keys"},"network":{"summary":"Manage workspace network access"},"notifications":{"summary":"Manage notification settings"},"problems":{"summary":"Investigate and manage application problems"},"releases":{"summary":"Register builds and upload source maps"},"replay":{"summary":"Inspect and manage recorded sessions"},"scim":{"summary":"Manage provisioning directories and groups"},"sessions":{"summary":"Inspect sessions and their events"},"sso":{"summary":"Manage enterprise sign-in connections"},"support":{"summary":"Read and manage support conversations"},"surfaces":{"summary":"Manage applications and environments"},"traces":{"summary":"Inspect traces, spans, and stack frames"},"users":{"summary":"Manage workspace members, invitations, and your profile"},"invitations":{"summary":"Invite members and manage pending invitations"},"workspaces":{"summary":"Manage workspaces and their settings"}},"servers":[{"url":"https://api.interfere.com","description":"This environment"}]}