Detokenize
POST https://%7B%7Bvault_uri%7D%7D.vault.skyflowapis.com/v1/vaults/{vaultID}/detokenizeContent-Type: application/jsonReturns records that correspond to the specified tokens.
Authentication
Section titled “Authentication”Authorizationheader (bearer token, required) — Access token, prefixed byBearer.
Servers
Section titled “Servers”https://%7B%7Bvault_uri%7D%7D.vault.skyflowapis.com(Production, default)https://%7B%7Bvault_uri%7D%7D.vault.skyflowapis-preview.com(Sandbox)
Request
Section titled “Request”Path parameters
Section titled “Path parameters”vaultID(string, required)
Body (application/json)
Section titled “Body (application/json)”This endpoint expects an object.
detokenizationParameters(list of object, required) — Detokenization details.token(string, required) — Token that identifies the record to detokenize.redaction(enum, optional, default: DEFAULT) — Redaction level to enforce for the returned record. Subject to policies assigned to the API caller.- Allowed values:
DEFAULT,REDACTED,MASKED,PLAIN_TEXT
- Allowed values:
downloadURL(boolean, optional, default: false) — Iftrue, returns download URLs for fields with a file data type. URLs are valid for 15 minutes. If virus scanning is enabled, only returns if the file is clean.continueOnError(boolean, optional, default: false) — Iftrue, the detokenization request continues even if an error occurs.
Response
Section titled “Response”OK
records(list of object, optional) — Records corresponding to the specified tokens.token(string, optional) — Token of the record.valueType(enum, optional) — Data type of thevalue.- Allowed values:
STRING,INTEGER,FLOAT,BOOL,DATETIME,JSON,ARRAY,DATE,TIME
- Allowed values:
value(string, optional) — Data corresponding to the token.error(string, optional) — Error if token isn’t found.
Returned when a bulk request partially succeeds. Check per-record status codes and error messages in the response body.
map from string to any
Errors
Section titled “Errors”400 Bad Request Error
Section titled “400 Bad Request Error”Returned when the request is invalid or cannot be served.
error(object, required)grpc_code(integer, required) — gRPC status codes. See https://grpc.io/docs/guides/status-codes.http_code(integer, required) — HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.http_status(string, required)message(string, required)details(list of map from string to any, optional)
401 Unauthorized Error
Section titled “401 Unauthorized Error”Returned when the request is unauthorized.
error(object, required)grpc_code(integer, required) — gRPC status codes. See https://grpc.io/docs/guides/status-codes.http_code(integer, required) — HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.http_status(string, required)message(string, required)details(list of map from string to any, optional)
404 Not Found Error
Section titled “404 Not Found Error”Returned when a resource doesn’t exist.
error(object, required)grpc_code(integer, required) — gRPC status codes. See https://grpc.io/docs/guides/status-codes.http_code(integer, required) — HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.http_status(string, required)message(string, required)details(list of map from string to any, optional)
422 Unprocessable Entity Error
Section titled “422 Unprocessable Entity Error”Returned when the request is well-formed but contains semantic errors that prevent it from being processed.
error(object, required)grpc_code(integer, required) — gRPC status codes. See https://grpc.io/docs/guides/status-codes.http_code(integer, required) — HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.http_status(string, required)message(string, required)details(list of map from string to any, optional)
500 Internal Server Error
Section titled “500 Internal Server Error”An unexpected error response.
error(object, required)grpc_code(integer, required) — gRPC status codes. See https://grpc.io/docs/guides/status-codes.http_code(integer, required) — HTTP status codes. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.http_status(string, required)message(string, required)details(list of map from string to any, optional)
Examples
Section titled “Examples”Example 1
Section titled “Example 1”Request
{ "detokenizationParameters": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" } ], "downloadURL": false}Response
{ "records": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "valueType": "STRING", "value": "Robin" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "valueType": "STRING", "value": "*REDACTED*" } ]}SDK Code
import requests
url = "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize"
payload = { "detokenizationParameters": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" } ], "downloadURL": False}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())const url = 'https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"detokenizationParameters":[{"token":"afbd1074-51c1-4a16-9eee-e2c0ecb52125","redaction":"PLAIN_TEXT"},{"token":"05383487-fcae-42e5-a48e-5bd62a51af12","redaction":"DEFAULT"}],"downloadURL":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize"
payload := strings.NewReader("{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}require 'uri'require 'net/http'
url = URI("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize")
http = Net::HTTP.new(url.host, url.port)http.use_ssl = true
request = Net::HTTP::Post.new(url)request["Authorization"] = 'Bearer <token>'request["Content-Type"] = 'application/json'request.body = "{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}"
response = http.request(request)puts response.read_bodyimport com.mashape.unirest.http.HttpResponse;import com.mashape.unirest.http.Unirest;
HttpResponse<String> response = Unirest.post("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize") .header("Authorization", "Bearer <token>") .header("Content-Type", "application/json") .body("{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}") .asString();<?phprequire_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize', [ 'body' => '{ "detokenizationParameters": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" } ], "downloadURL": false}', 'headers' => [ 'Authorization' => 'Bearer <token>', 'Content-Type' => 'application/json', ],]);
echo $response->getBody();using RestSharp;
var client = new RestClient("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize");var request = new RestRequest(Method.POST);request.AddHeader("Authorization", "Bearer <token>");request.AddHeader("Content-Type", "application/json");request.AddParameter("application/json", "{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import Foundation
let headers = [ "Authorization": "Bearer <token>", "Content-Type": "application/json"]let parameters = [ "detokenizationParameters": [ [ "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" ], [ "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" ] ], "downloadURL": false] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)request.httpMethod = "POST"request.allHTTPHeaderFields = headersrequest.httpBody = postData as Data
let session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) }})
dataTask.resume()Example 2
Section titled “Example 2”Request
{ "detokenizationParameters": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" } ], "downloadURL": false}Response
{}SDK Code
import requests
url = "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize"
payload = { "detokenizationParameters": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" } ], "downloadURL": False}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())const url = 'https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"detokenizationParameters":[{"token":"afbd1074-51c1-4a16-9eee-e2c0ecb52125","redaction":"PLAIN_TEXT"},{"token":"05383487-fcae-42e5-a48e-5bd62a51af12","redaction":"DEFAULT"}],"downloadURL":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize"
payload := strings.NewReader("{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}require 'uri'require 'net/http'
url = URI("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize")
http = Net::HTTP.new(url.host, url.port)http.use_ssl = true
request = Net::HTTP::Post.new(url)request["Authorization"] = 'Bearer <token>'request["Content-Type"] = 'application/json'request.body = "{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}"
response = http.request(request)puts response.read_bodyimport com.mashape.unirest.http.HttpResponse;import com.mashape.unirest.http.Unirest;
HttpResponse<String> response = Unirest.post("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize") .header("Authorization", "Bearer <token>") .header("Content-Type", "application/json") .body("{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}") .asString();<?phprequire_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize', [ 'body' => '{ "detokenizationParameters": [ { "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" }, { "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" } ], "downloadURL": false}', 'headers' => [ 'Authorization' => 'Bearer <token>', 'Content-Type' => 'application/json', ],]);
echo $response->getBody();using RestSharp;
var client = new RestClient("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize");var request = new RestRequest(Method.POST);request.AddHeader("Authorization", "Bearer <token>");request.AddHeader("Content-Type", "application/json");request.AddParameter("application/json", "{\n \"detokenizationParameters\": [\n {\n \"token\": \"afbd1074-51c1-4a16-9eee-e2c0ecb52125\",\n \"redaction\": \"PLAIN_TEXT\"\n },\n {\n \"token\": \"05383487-fcae-42e5-a48e-5bd62a51af12\",\n \"redaction\": \"DEFAULT\"\n }\n ],\n \"downloadURL\": false\n}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import Foundation
let headers = [ "Authorization": "Bearer <token>", "Content-Type": "application/json"]let parameters = [ "detokenizationParameters": [ [ "token": "afbd1074-51c1-4a16-9eee-e2c0ecb52125", "redaction": "PLAIN_TEXT" ], [ "token": "05383487-fcae-42e5-a48e-5bd62a51af12", "redaction": "DEFAULT" ] ], "downloadURL": false] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/detokenize")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)request.httpMethod = "POST"request.allHTTPHeaderFields = headersrequest.httpBody = postData as Data
let session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) }})
dataTask.resume()