## CreateRunnerToken `client.Runners.NewRunnerToken(ctx, body) (*RunnerNewRunnerTokenResponse, error)` **post** `/gitpod.v1.RunnerService/CreateRunnerToken` Creates a new authentication token for a runner. Use this method to: - Generate runner credentials - Renew expired tokens - Set up runner authentication Note: This does not expire previously issued tokens. ### Examples - Create token: Creates a new token for runner authentication. ```yaml runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" ``` ### Parameters - `body RunnerNewRunnerTokenParams` - `RunnerID param.Field[string]` ### Returns - `type RunnerNewRunnerTokenResponse struct{…}` - `AccessToken string` deprecated, will be removed. Use exchange_token instead. - `ExchangeToken string` exchange_token is a one-time use token that should be exchanged by the runner for an access token, using the IdentityService.ExchangeToken rpc. The token expires after 24 hours. ### Example ```go package main import ( "context" "fmt" "github.com/gitpod-io/gitpod-sdk-go" "github.com/gitpod-io/gitpod-sdk-go/option" ) func main() { client := gitpod.NewClient( option.WithBearerToken("My Bearer Token"), ) response, err := client.Runners.NewRunnerToken(context.TODO(), gitpod.RunnerNewRunnerTokenParams{ RunnerID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.AccessToken) } ``` #### Response ```json { "accessToken": "accessToken", "exchangeToken": "exchangeToken" } ```