Client Libraries

BETA API - updated 2017-04-27 (Have a question?)


Download onetime-api.php
by Christopher Murtagh (added 2011-12-21)

Usage Example

  $myOnetime = new OneTimeSecret;
  $myResult = $myOnetime->shareSecret('Jazz, jazz and more jazz.', 'thepassword');
  print $myOnetime->getSecretURI($myResult);


Download onetime-api.rb
by Delano Mandelbaum (added 2011-12-21)

Usage Example

require 'onetime/api'
options = {
  :secret => 'Jazz, jazz and more jazz.',
  :recipient => '',
  :ttl => 7200
ret = '/share', options
puts ret['secret_key']


by Vladislav Stepanov (added 2012-06-26)

Usage Example

from onetimesecret import OneTimeSecret

o = OneTimeSecret("YOUR_EMAIL", "YOUR_OTS_APIKEY")
secret = o.share(u"test")

print o.retrieve_secret(secret["secret_key"])
# {u'secret_key': u'dtr7ixukiolpx1i4i87kahmhyoy2q65',
# u'value': u'test'}


Download Net::OneTimeSecret
by Kyle Dawkins (added 2012-01-06)

Usage Example

#!/usr/bin/env perl

use Net::OneTimeSecret;

# Note: replace these with yours in order for this to work!
my $customerId  = 'YOUR_EMAIL';
my $testApiKey  = 'YOUR_OTS_APIKEY';

my $api = Net::OneTimeSecret->new( $customerId, $testApiKey );
my $result = $api->shareSecret( 'Jazz, jazz and more jazz.',
                   passphrase => 'thepassword',
                   recipient => '',
                   ttl => 7200,
printf( "%s\n", $result->{secret_key} );

my $secret = $api->retrieveSecret( $result->{secret_key}, passphrase => "thepassword" );
printf( "%s\n", $secret->{value} );


Download onetime-java
by Marcin Pawlowski (added 2014-05-22)

Usage Example

OneTimeSecret ots = new OneTimeSecretRestImpl(

GenerateResponse generateResponse = ots.generate(
                new GenerateRequest.Builder()

RetrieveResponse retrieveResponse = ots.retrieve(
                new RetrieveRequest.Builder()

assertEquals(generateResponse.getValue(), retrieveResponse.getValue());


Download OneTimeSharp
by Vladislav Stepanov (added 2014-05-29)

Usage Example

# You can use OneTimeSharp in any of your projects which are compatible with .NET (4.0+) or Mono (2.10.8+).
using VStepanov.OneTimeSharp;

class Test
    static void Main(string[] args)
        var ots = new OneTimeSecret("YOUR_EMAIL", "YOUR_OTS_APIKEY");

        var generated = ots.GenerateSecret();

        Console.WriteLine(generated.Value); // LR*?us*A(UT*

        Console.WriteLine(generated.SecretKey); // ikzx3m77j5by8411cg5lk5fvfylvl0i
        Console.WriteLine(ots.GetSecretLink(generated)); //

        var shared = ots.ShareSecret("Hello, OTS!");

        Console.WriteLine(shared.MetadataKey); // kd6rgsucl98qbgu9eavjq4k5sdxsom0
        Console.WriteLine(ots.GetMetadataLink(shared)); //


Download OneTimeSecret
by Craig Gumbley (updated 2017-04-28)

Usage Example

# Install from the PowerShell gallery
Install-Module -Name OneTimeSecret -Scope CurrentUser

# Set connection information
Set-OTSAuthorizationToken -Username -APIKey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Generate a new shared secret
New-OTSSharedSecret -Secret "Very Secret" -Passphrase 1234 -Recipient

# Retrieve a secret
Get-OTSSecret -SecretKey qqevnp70b4uoiax4knzhwlhros6ne7x -Passphrase 1234

# View all functions that are available
Get-Command -Module OneTimeSecret | Select Name

If you implement another language, let us know and we'll add it here!