---
title: "Puts a version of a lambda online"
method: POST
path: "/admin/lambdas/{publicKey}/deployment/start"
tags: ["Administration"]
---

# Puts a version of a lambda online

`POST /admin/lambdas/{publicKey}/deployment/start`

## Request

- Base URL: `https://genhttp.dev/api/v1`
- URL: `https://genhttp.dev/api/v1/admin/lambdas/{publicKey}/deployment/start`
- Auth: none declared. Required headers: `X-Admin-Token`

The newest, unless another is named - as its owner would, but for demos as well, and recorded as the operator's.

## Path parameters

- `publicKey` string, required

## Headers

- `X-Admin-Token` string, required

## Request body

- DeploymentRequest: Which version to put online.
  - `Version` integer, nullable: The number of the version; left out, the newest

## Response `200`

The version is online.

- DeploymentOutcomeResponse: What came of an attempt to put a version online.
  - `Success` boolean: Whether it compiled and is online now. Where it is not, whatever was online before still is.
  - `Lambda` LambdaResponse: A lambda, as whoever holds its editor key sees it.
    - `PublicKey` string: Names its address below the hosting domain. Not a secret; its owner may change it.
    - `PrivateKey` string: The editor key, which authorizes every call about the lambda. Treat it like a password.
    - `Tier` string: `Free`, `Premium` or `Demo`, assigned by the operator. Decides its limits, whether it is kept online while nobody uses it, and whether it may answer at a domain of its own.
    - `Created` string, date-time: When it was created
    - `Modified` string, date-time: When something about it last changed: a save, a deployment, a setting
    - `ActiveVersion` integer, nullable: The version that is online; absent while nothing is
    - `LatestVersion` integer, nullable: The newest version saved, which may be ahead of the one online
    - `PublicUrl` string: Its address below the hosting domain, named after its public key: `https://quiz.genhttp.run/`. While it answers at a domain of its own, this address sends its visitors on to the domain.
    - `EditorPath` string: Where its editor is on this site: `/editor/{privateKey}`. Holds the editor key.
    - `DeployedAt` string, date-time, nullable: When the version online went online; absent while nothing is
    - `DeployedUntil` string, date-time, nullable: When it is taken offline unless it is visited or edited before then - each visit and each edit moves this on. Absent while it is offline, and for a tier that keeps it online.
    - `KeptUntil` string, date-time, nullable: When it is deleted unless it is visited or edited before then. Absent for a tier that keeps it.
    - `Domain` string, nullable: The domain of its own it is configured to answer at, whether or not its tier lets it
    - `DomainServed` boolean: Whether it answers at that domain: it has one, and its tier includes it
    - `Address` string: Where to link to it: its domain while that is served, `publicUrl` otherwise
    - `View` string: How its editor opens for somebody who has not chosen a view of their own: `Full` or `Simple`
    - `GitPath` string: Where it is cloned with git and pushed to, on this site. The versions are the commits of `main`, the features the other branches. Holds the editor key, like the editor's path.
  - `Diagnostics` CompilationDiagnostic[]: What the compiler said: the errors that kept it offline, or the warnings of a version that went online
    - `Severity` string: `Error`, which keeps the code from going online, or `Warning`
    - `Id` string: What kind of message it is: the C# compiler's (`CS1002`), `LAMBDA0001` for something lambdas may not do, `LAMBDA0002` for a handler the platform cannot serve, or `LAMBDA` for anything else the platform refused
    - `Message` string: What is wrong, and often what to do about it
    - `Line` integer: The line in the file, counting from 1; 0 when it is about no line
    - `Column` integer: The column in the line, counting from 1; 0 when it is about no line
    - `File` string, nullable: The name of the file it is in, as the lambda names it; absent when it is about none of them

## Other responses

- `401`: The token is missing.
- `403`: The token is wrong.
- `404`: No lambda has this public key, or it has no such version.
- `422`: The code does not compile. `diagnostics` holds what the compiler said, with the file, line and column of each problem; nothing was put online, and whatever was online before still is.

---

[API](https://skmtc.dev/genhttp/apis/genhttp-lambda-api.md) · [All operations](https://skmtc.dev/genhttp/apis/genhttp-lambda-api/llms.txt) · [OpenAPI document](https://skmtc.dev/genhttp/apis/genhttp-lambda-api/revisions/8b36699e03df?raw)
