Variables
List a project’s variables, newest first
Page size (1–100, default 20).
Opaque cursor (page.nextCursor).
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables \ -H "Authorization: Bearer kc_your_api_token"{ "data": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ], "page": { "nextCursor": "example", "hasMore": true }}Create a project-scoped variable
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
A literal value (the `opaque` kind). Provide exactly one of value, connection, or aliasTarget.
Source the value from a managed addon’s published key (the `connection` kind).
Point at another variable resolved through the scope chain (the `alias` kind); it inherits the target’s sensitivity.
Withhold the value from ordinary reads (reveal it via the audited endpoint). Only valid with a literal `value` — connection sensitivity is derived and alias sensitivity is inherited.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables \ -X POST \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{ "name": "my-app" }'{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Apply a merge-shaped batch of project variables (atomic)
Variables to create or overwrite, by name.
Names of variables to remove.
Acknowledge that unsetting a project- or environment-scoped variable in this batch affects one or more services (§4.4). Required for that unset; never needed at service scope, and irrelevant to `set`.
The variables that now exist after the batch (the set/overwritten rows), metadata only.
How many variables were created or overwritten.
How many variables were removed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables/batch \ -X POST \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'{ "data": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ], "applied": 0, "removed": 0}Get a project-scoped variable
The variable’s name — its identity within the scope.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables/:variableName \ -H "Authorization: Bearer kc_your_api_token"{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Update a project-scoped variable
The variable’s name — its identity within the scope.
Replace the literal value (opaque variables).
Re-point at a managed addon’s published key.
Re-point the alias at another variable.
Flip whether the value is withheld from ordinary reads. Only valid for a literal-value (opaque) variable.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables/:variableName \ -X PATCH \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Delete a project-scoped variable
The variable’s name — its identity within the scope.
Acknowledge that deleting this project- or environment-scoped variable affects one or more services (they lose the value or fall back to a wider scope). Required for that delete; never needed for a service-scoped one.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables/:variableName \ -X DELETE \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'The services a project-scoped write/delete of this variable reaches (blast radius)
The services that resolve this variable at project scope (excluding services that shadow the name and managed addons). Same scope query the delete confirmImpact guard uses (§8.1).
The variable’s name — its identity within the scope.
Services a write or delete of this variable at the queried scope actually reaches.
How many services are affected.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables/:variableName/impact \ -H "Authorization: Bearer kc_your_api_token"{ "services": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "environmentId": "environment_01example0000000000000000x" } ], "total": 0}Reveal a project-scoped variable’s value (audited)
Returns the plaintext once and writes a `variable.reveal` audit event. Any viewer.
The variable’s name — its identity within the scope.
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
The variable’s plaintext value (returned by the audited reveal endpoint).
curl https://api.koo.io/accounts/:accountId/projects/:projectId/variables/:variableName/reveal \ -X POST \ -H "Authorization: Bearer kc_your_api_token"{ "name": "my-app", "value": "example"}List an environment’s variables, newest first
Page size (1–100, default 20).
Opaque cursor (page.nextCursor).
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables \ -H "Authorization: Bearer kc_your_api_token"{ "data": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ], "page": { "nextCursor": "example", "hasMore": true }}Create an environment-scoped variable
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
A literal value (the `opaque` kind). Provide exactly one of value, connection, or aliasTarget.
Source the value from a managed addon’s published key (the `connection` kind).
Point at another variable resolved through the scope chain (the `alias` kind); it inherits the target’s sensitivity.
Withhold the value from ordinary reads (reveal it via the audited endpoint). Only valid with a literal `value` — connection sensitivity is derived and alias sensitivity is inherited.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables \ -X POST \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{ "name": "my-app" }'{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Apply a merge-shaped batch of environment variables (atomic)
Variables to create or overwrite, by name.
Names of variables to remove.
Acknowledge that unsetting a project- or environment-scoped variable in this batch affects one or more services (§4.4). Required for that unset; never needed at service scope, and irrelevant to `set`.
The variables that now exist after the batch (the set/overwritten rows), metadata only.
How many variables were created or overwritten.
How many variables were removed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables/batch \ -X POST \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'{ "data": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ], "applied": 0, "removed": 0}Get an environment-scoped variable
The variable’s name — its identity within the scope.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables/:variableName \ -H "Authorization: Bearer kc_your_api_token"{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Update an environment-scoped variable
The variable’s name — its identity within the scope.
Replace the literal value (opaque variables).
Re-point at a managed addon’s published key.
Re-point the alias at another variable.
Flip whether the value is withheld from ordinary reads. Only valid for a literal-value (opaque) variable.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables/:variableName \ -X PATCH \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Delete an environment-scoped variable
The variable’s name — its identity within the scope.
Acknowledge that deleting this project- or environment-scoped variable affects one or more services (they lose the value or fall back to a wider scope). Required for that delete; never needed for a service-scoped one.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables/:variableName \ -X DELETE \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'The services an environment-scoped write/delete of this variable reaches (blast radius)
The services that resolve this variable at environment scope (excluding services that shadow the name and managed addons). Same scope query the delete confirmImpact guard uses (§8.1).
The variable’s name — its identity within the scope.
Services a write or delete of this variable at the queried scope actually reaches.
How many services are affected.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables/:variableName/impact \ -H "Authorization: Bearer kc_your_api_token"{ "services": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "environmentId": "environment_01example0000000000000000x" } ], "total": 0}Reveal an environment-scoped variable’s value (audited)
Returns the plaintext once and writes a `variable.reveal` audit event. Any viewer.
The variable’s name — its identity within the scope.
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
The variable’s plaintext value (returned by the audited reveal endpoint).
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/variables/:variableName/reveal \ -X POST \ -H "Authorization: Bearer kc_your_api_token"{ "name": "my-app", "value": "example"}List a service’s variables, newest first
Page size (1–100, default 20).
Opaque cursor (page.nextCursor).
Service name within the environment.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables \ -H "Authorization: Bearer kc_your_api_token"{ "data": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ], "page": { "nextCursor": "example", "hasMore": true }}Create a service-scoped variable
Service name within the environment.
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
A literal value (the `opaque` kind). Provide exactly one of value, connection, or aliasTarget.
Source the value from a managed addon’s published key (the `connection` kind).
Point at another variable resolved through the scope chain (the `alias` kind); it inherits the target’s sensitivity.
Withhold the value from ordinary reads (reveal it via the audited endpoint). Only valid with a literal `value` — connection sensitivity is derived and alias sensitivity is inherited.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables \ -X POST \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{ "name": "my-app" }'{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}The effective variable environment a service receives (project ∪ environment ∪ service, nearest wins)
Connections and aliases are materialised server-side; each entry carries its source scope and what it shadows, plus a dangling array. Sensitive values are withheld. 404 for a managed addon.
Service name within the environment.
The effective variables the service receives (project ∪ environment ∪ service, nearest wins).
Connections and aliases that failed to resolve, each with a typed reason.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/resolved-variables \ -H "Authorization: Bearer kc_your_api_token"{ "data": [ { "name": "my-app", "sensitive": true, "value": "example", "source": "project", "sourceId": "source_01example0000000000000000x", "sourceScopeId": "sourcescope_01example0000000000000000x", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "shadows": [ { "scope": "project", "scopeId": "scope_01example0000000000000000x", "id": "acct_01example0000000000000000x" } ] } ], "dangling": [ { "name": "my-app", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "reason": "service_not_found" } ]}Apply a merge-shaped batch of service variables (atomic)
Service name within the environment.
Variables to create or overwrite, by name.
Names of variables to remove.
Acknowledge that unsetting a project- or environment-scoped variable in this batch affects one or more services (§4.4). Required for that unset; never needed at service scope, and irrelevant to `set`.
The variables that now exist after the batch (the set/overwritten rows), metadata only.
How many variables were created or overwritten.
How many variables were removed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables/batch \ -X POST \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'{ "data": [ { "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z" } ], "applied": 0, "removed": 0}Get a service-scoped variable
The variable’s name — its identity within the scope.
Service name within the environment.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables/:variableName \ -H "Authorization: Bearer kc_your_api_token"{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Update a service-scoped variable
The variable’s name — its identity within the scope.
Service name within the environment.
Replace the literal value (opaque variables).
Re-point at a managed addon’s published key.
Re-point the alias at another variable.
Flip whether the value is withheld from ordinary reads. Only valid for a literal-value (opaque) variable.
Unique identifier of the variable (read-only).
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
Where the variable lives: a project, one environment, or a single service (service overrides environment overrides project).
Id of the resource the variable is scoped to (project, environment, or service).
When true, the value is withheld from ordinary reads and returned only by the audited reveal endpoint.
The value — present only for a non-sensitive variable; a sensitive value is withheld and must be revealed one at a time.
Present for a connection variable — the managed addon and key it injects.
Present for an alias variable — the name of the variable it resolves to through the scope chain.
When the variable was created.
When the variable was last changed.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables/:variableName \ -X PATCH \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "acct_01example0000000000000000x", "name": "my-app", "scope": "project", "scopeId": "scope_01example0000000000000000x", "sensitive": true, "value": "example", "connection": { "service": "example", "key": "example" }, "aliasTarget": "example", "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z"}Delete a service-scoped variable
The variable’s name — its identity within the scope.
Service name within the environment.
Acknowledge that deleting this project- or environment-scoped variable affects one or more services (they lose the value or fall back to a wider scope). Required for that delete; never needed for a service-scoped one.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables/:variableName \ -X DELETE \ -H "Authorization: Bearer kc_your_api_token" \ -H "Content-Type: application/json" \ -d '{}'Reveal a service-scoped variable’s value (audited)
Returns the plaintext once and writes a `variable.reveal` audit event. Any viewer.
The variable’s name — its identity within the scope.
Service name within the environment.
Variable name — the injected environment-variable name: letters, digits and underscores, starting with a letter or underscore (1–128 chars). Unique within its scope. `KOO_VARIABLES_REVISION` is reserved.
The variable’s plaintext value (returned by the audited reveal endpoint).
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/variables/:variableName/reveal \ -X POST \ -H "Authorization: Bearer kc_your_api_token"{ "name": "my-app", "value": "example"}