Create a secret

To create a new API secret, you must send a POST request to the secret management API.

New API secrets must meet the following rules:

  • Minimum 8 characters
  • Maximum 25 characters
  • Minimum 1 lower case character
  • Minimum 1 upper case character
  • Minimum 1 digit
KeyDescription
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

NEW_SECRET

The new API secret for the API key.

Write the code

Add the following to create-secret.sh:

curl -X POST "https://api.nexmo.com/accounts/$ACCOUNT_ID/secrets" \
     -H 'Content-Type: application/json' \
     -u "$VONAGE_API_KEY:$VONAGE_API_SECRET" \
     -d '{"secret":"'$ACCOUNT_SECRET_VALUE'"}'

View full source

Run your code

Save this file to your machine and run it:

bash create-secret.sh

Prerequisites

npm install @vonage/server-sdk

Create a file named create-api-secret.js and add the following code:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
});

View full source

Write the code

Add the following to create-api-secret.js:

vonage.secrets.createSecret(ACCOUNT_ID, ACCOUNT_SECRET_VALUE)
  .then((resp) => console.log(resp))
  .catch((error) => console.error(error));

View full source

Run your code

Save this file to your machine and run it:

node create-api-secret.js

Prerequisites

Add the following to build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Create a file named CreateSecret and add the following code to the main method:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

View full source

Write the code

Add the following to the main method of the CreateSecret file:

val secret = client.account.secrets(ACCOUNT_ID).create(ACCOUNT_SECRET)
println("ID: ${secret.id} created on: ${secret.created}")

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.account with the package containing CreateSecret:

gradle run -Pmain=com.vonage.quickstart.kt.account.CreateSecret

Prerequisites

Add the following to build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Create a file named CreateSecret and add the following code to the main method:

VonageClient client = VonageClient.builder()
        .apiKey(VONAGE_API_KEY)
        .apiSecret(VONAGE_API_SECRET)
        .build();

View full source

Write the code

Add the following to the main method of the CreateSecret file:

SecretResponse response = client.getAccountClient().createSecret(ACCOUNT_ID, ACCOUNT_SECRET);
System.out.println(response.getId() + " created at " + response.getCreated());

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Run the following gradle command to execute your application, replacing com.vonage.quickstart.account with the package containing CreateSecret:

gradle run -Pmain=com.vonage.quickstart.account.CreateSecret

Prerequisites

Install-Package Vonage

Create a file named CreateSecret.cs and add the following code:

using Vonage.Accounts;
using Vonage;
using Vonage.Request;

View full source

Add the following to CreateSecret.cs:

var client = new VonageClient(credentials);

View full source

Write the code

Add the following to CreateSecret.cs:


var response = await client.AccountClient.CreateApiSecretAsync(request, ACCOUNT_ID);

View full source

Prerequisites

composer require vonage/client

Create a file named create-a-secret.php and add the following code:

$basic  = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

View full source

Write the code

Add the following to create-a-secret.php:

$secret = 'awes0meNewSekret!!;';

$client->account()->createSecret(VONAGE_API_KEY, $secret);

View full source

Run your code

Save this file to your machine and run it:

php create-a-secret.php

Prerequisites

pip install vonage python-dotenv

Write the code

Add the following to create-secret.py:

from vonage import Auth, Vonage
from vonage_account import VonageApiSecret

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

response: VonageApiSecret = client.account.create_secret(ACCOUNT_SECRET)
print(response)

View full source

Run your code

Save this file to your machine and run it:

python account/create-secret.py

Prerequisites

gem install vonage

Create a file named create-a-secret.rb and add the following code:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

View full source

Write the code

Add the following to create-a-secret.rb:

response = client.secrets.create(secret: ACCOUNT_SECRET_VALUE)

View full source

Run your code

Save this file to your machine and run it:

ruby create-a-secret.rb