JavaScript
import Surge from '@surgeapi/node';
const client = new Surge({
apiKey: process.env['SURGE_API_KEY'], // This is the default and can be omitted
});
const userTokenResponse = await client.users.createToken('usr_01jymgdfrpec2asc5m0z3a6fr9');
console.log(userTokenResponse.token);import os
from surge import Surge
client = Surge(
api_key=os.environ.get("SURGE_API_KEY"), # This is the default and can be omitted
)
user_token_response = client.users.create_token(
user_id="usr_01jymgdfrpec2asc5m0z3a6fr9",
)
print(user_token_response.token)package main
import (
"context"
"fmt"
"github.com/stainless-sdks/surge-go"
"github.com/stainless-sdks/surge-go/option"
)
func main() {
client := surge.NewClient(
option.WithAPIKey("My API Key"),
)
userTokenResponse, err := client.Users.NewToken(
context.TODO(),
"usr_01jymgdfrpec2asc5m0z3a6fr9",
surge.UserNewTokenParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", userTokenResponse.Token)
}require "surge_api"
surge = SurgeAPI::Client.new(api_key: "My API Key")
user_token_response = surge.users.create_token("usr_01jymgdfrpec2asc5m0z3a6fr9")
puts(user_token_response)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Surge\Client;
use Surge\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('SURGE_API_KEY') ?: 'My API Key');
try {
$userTokenResponse = $client->users->createToken(
'usr_01jymgdfrpec2asc5m0z3a6fr9', durationSeconds: 900
);
var_dump($userTokenResponse);
} catch (APIException $e) {
echo $e->getMessage();
}curl --request POST \
--url https://api.surge.app/users/{user_id}/tokens \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"duration_seconds": 900
}
'HttpResponse<String> response = Unirest.post("https://api.surge.app/users/{user_id}/tokens")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"duration_seconds\": 900\n}")
.asString();{
"token": "eyJhbGciOiJFZERTQSIsImtpZCI6InNnbl8wMWp5bWowZ3AwZjNidmJmMmpyazRoYnd0ayIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTA4ODkyMDgsInN1YiI6InVzcl8wMWp5bWdkZnJwZWMyYXNjNW0wejNhNmZyOSJ9.zKayo3EDrUm1Hw8URrofuYwajgyTu6dH2H0FEuRExprP1IV66FHa8wC3SfdzV7sR3AjDGAwkuAXztScq6rBnBw"
}{
"error": {
"message": "The requested resource could not be found.",
"type": "not_found"
}
}Users
Create user token
Provides a mechanism for having Surge create a signed token for embeds instead of signing with your own signing key.
POST
/
users
/
{user_id}
/
tokens
JavaScript
import Surge from '@surgeapi/node';
const client = new Surge({
apiKey: process.env['SURGE_API_KEY'], // This is the default and can be omitted
});
const userTokenResponse = await client.users.createToken('usr_01jymgdfrpec2asc5m0z3a6fr9');
console.log(userTokenResponse.token);import os
from surge import Surge
client = Surge(
api_key=os.environ.get("SURGE_API_KEY"), # This is the default and can be omitted
)
user_token_response = client.users.create_token(
user_id="usr_01jymgdfrpec2asc5m0z3a6fr9",
)
print(user_token_response.token)package main
import (
"context"
"fmt"
"github.com/stainless-sdks/surge-go"
"github.com/stainless-sdks/surge-go/option"
)
func main() {
client := surge.NewClient(
option.WithAPIKey("My API Key"),
)
userTokenResponse, err := client.Users.NewToken(
context.TODO(),
"usr_01jymgdfrpec2asc5m0z3a6fr9",
surge.UserNewTokenParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", userTokenResponse.Token)
}require "surge_api"
surge = SurgeAPI::Client.new(api_key: "My API Key")
user_token_response = surge.users.create_token("usr_01jymgdfrpec2asc5m0z3a6fr9")
puts(user_token_response)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Surge\Client;
use Surge\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('SURGE_API_KEY') ?: 'My API Key');
try {
$userTokenResponse = $client->users->createToken(
'usr_01jymgdfrpec2asc5m0z3a6fr9', durationSeconds: 900
);
var_dump($userTokenResponse);
} catch (APIException $e) {
echo $e->getMessage();
}curl --request POST \
--url https://api.surge.app/users/{user_id}/tokens \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"duration_seconds": 900
}
'HttpResponse<String> response = Unirest.post("https://api.surge.app/users/{user_id}/tokens")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"duration_seconds\": 900\n}")
.asString();{
"token": "eyJhbGciOiJFZERTQSIsImtpZCI6InNnbl8wMWp5bWowZ3AwZjNidmJmMmpyazRoYnd0ayIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTA4ODkyMDgsInN1YiI6InVzcl8wMWp5bWdkZnJwZWMyYXNjNW0wejNhNmZyOSJ9.zKayo3EDrUm1Hw8URrofuYwajgyTu6dH2H0FEuRExprP1IV66FHa8wC3SfdzV7sR3AjDGAwkuAXztScq6rBnBw"
}{
"error": {
"message": "The requested resource could not be found.",
"type": "not_found"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The user for which the token represents authentication.
Example:
"usr_01jymgdfrpec2asc5m0z3a6fr9"
Body
application/json
A request to create a token
For how many seconds the token should be accepted. Defaults to 15 minutes.
Required range:
15 <= x <= 3600Example:
900
Response
Created token
Response when token has been created successfully
The created token.
⌘I