---
title: "Signup"
method: POST
path: "/gitpod.v1.RunnerInteractionService/Signup"
tags: ["gitpod.v1.RunnerInteractionService"]
---

# Signup

`POST /gitpod.v1.RunnerInteractionService/Signup`

Establishes initial connection between a runner and the Gitpod backend. This is the first
 call a runner makes to register itself and establish its identity.

 Use this method to:
 - Register new runners with the platform
 - Exchange cryptographic keys for secure communication
 - Declare supported environment classes and capabilities
 - Initialize runner configuration

 ### Examples

 - Register runner:

   Registers a new runner with its public key and supported environment classes.

   ```yaml
   publicKey: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"  # 32 bytes of zeros, base64 encoded
   environmentClasses:
     - id: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
       runnerId: "f53d2330-3795-4c5d-a1f3-453121af9c60"
       displayName: "Large Instance"
       description: "8 CPU, 16GB RAM"
       enabled: true
       configuration:
         - key: "cpu"
           value: "8"
         - key: "memory"
           value: "16384"
   ```

## Request body

- GitpodV1SignupRequest
  - `environmentClasses` GitpodV1EnvironmentClass[] — The environment classes this runner has to offer
    - `configuration` GitpodV1FieldValue[] — configuration describes the configuration of the environment class
      - `key` string
      - `value` string
      - `values` string[] — values is an ordered list value. A field uses either value or values.
    - `description` string — description is a human readable description of the environment class
    - `displayName` string — display_name is the human readable name of the environment class
    - `enabled` boolean — enabled indicates whether the environment class can be used to create new environments.
    - `id` string, required — id is the unique identifier of the environment class
    - `runnerId` string, required — runner_id is the unique identifier of the runner the environment class belongs to
  - `publicKey` string, byte — The runner's public key. Must be an ECDH public key encoded in PKIX, ASN.1 DER format.

## Response `200`

Success

- GitpodV1SignupResponse
  - `runnerId` string, uuid — The runner's identity

## Other responses

- `default` — Error

---

[API](https://skmtc.net/gitpod-io/apis/gitpod-v1.md) · [All operations](https://skmtc.net/gitpod-io/apis/gitpod-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gitpod-io/gitpod-v1/versions/44d50c2ac284/schema)
