PingOne Platform APIs

Update Verification Document

Required permission:

PUT {{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}

Use the PUT {{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}} request to update a document on a verification transaction.

Request Model
Property Type Required

type

String

Required

value

String

Required

For a list of permitted document types and the format of their values, refer to Document types and values.

Prerequisites

Headers

Authorization      Bearer {{accessToken}}

Content-Type      application/json

Body

raw ( application/json )

{
    "type": "Selfie",
    "value": "{{base64EncodedData}}"
}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff --request PUT '{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
    "type": "Selfie",
    "value": "{{base64EncodedData}}"
}'
var options = new RestClientOptions("{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Put);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@"    ""type"": ""Selfie""," + "\n" +
@"    ""value"": ""{{base64EncodedData}}""" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}"
  method := "PUT"

  payload := strings.NewReader(`{
    "type": "Selfie",
    "value": "{{base64EncodedData}}"
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer {{accessToken}}")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
PUT /v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}} HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}

{
    "type": "Selfie",
    "value": "{{base64EncodedData}}"
}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"type\": \"Selfie\",\n    \"value\": \"{{base64EncodedData}}\"\n}");
Request request = new Request.Builder()
  .url("{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}")
  .method("PUT", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
  "data": JSON.stringify({
    "type": "Selfie",
    "value": "{{base64EncodedData}}"
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'PUT',
  'url': '{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  },
  body: JSON.stringify({
    "type": "Selfie",
    "value": "{{base64EncodedData}}"
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
import json

url = "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}"

payload = json.dumps({
  "type": "Selfie",
  "value": "{{base64EncodedData}}"
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n    "type": "Selfie",\n    "value": "{{base64EncodedData}}"\n}');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"

url = URI("{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
  "type": "Selfie",
  "value": "{{base64EncodedData}}"
})

response = http.request(request)
puts response.read_body
let parameters = "{\n    \"type\": \"Selfie\",\n    \"value\": \"{{base64EncodedData}}\"\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/verifyTransactions/{{transactionID}}/documents/{{documentID}}")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "PUT"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

200 OK

{
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/users/49825b76-e1df-4cdc-b973-0c580f1cb049/verifyTransactions/6ee0af83-c677-43b7-baa0-6c81f9f2eb4a/documents/c44ae1f1-cfb5-4086-abe0-887b4b75ee13"
        },
        "environment": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
        },
        "user": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/users/49825b76-e1df-4cdc-b973-0c580f1cb049"
        },
        "verifyTransaction": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/users/49825b76-e1df-4cdc-b973-0c580f1cb049/verifyTransactions/6ee0af83-c677-43b7-baa0-6c81f9f2eb4a"
        }
    },
    "id": "c44ae1f1-cfb5-4086-abe0-887b4b75ee13",
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "user": {
        "id": "49825b76-e1df-4cdc-b973-0c580f1cb049"
    },
    "verifyTransaction": {
        "id": "6ee0af83-c677-43b7-baa0-6c81f9f2eb4a"
    },
    "type": "Voice Sample",
    "value": "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",
    "status": "COLLECTED",
    "source": {
        "provider": "AUTHENTICATED_CLIENT"
    },
    "createdAt": "2022-08-26T12:35:05.459Z",
    "updatedAt": "2022-08-26T12:35:14.064Z"
}