Verify an ACH Profile

  • Available in Sandbox
  • Available in Production
  • Available to Advisors
  • Supported

Verify an ACH profile using the micro-deposits sent to the account.

PUT

Headers

Header Required Values/Example Default
Authorization Required Basic XXX

Parameters

Parameter Type Param Type Required Values/Example Default
account_id Path String Required
Account number
id Path Int Required 1234
Id of the ACH profile
amount1 Body Double Required 0.17
Amount of first micro-deposit
amount2 Body Double Required 0.12
Amount of second micro-deposit

Code Example

curl -X PUT "https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify" \
     -H 'Authorization: Basic <TOKEN>' \
     -H 'Accept: application/json' \
     -H 'Content-Type: application/json' \
     -d '{ "amount1": 0.17,"amount2": 0.12 }'
// Version 1.8.0_31
import static org.apache.http.entity.ContentType.APPLICATION_JSON;
import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

public class Main {
  public static void main(String[] args) throws IOException {
    final ObjectNode node = new ObjectMapper().createObjectNode();
    node.put("amount1", 0.17);
    node.put("amount2", 0.12);
    final HttpUriRequest request = RequestBuilder
        .put("https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify")
        .addHeader("Authorization", "Basic <TOKEN>")
        .addHeader("Accept", "application/json")
        .setEntity(new StringEntity(node.toString(), APPLICATION_JSON))
        .build();

    final HttpResponse response = HttpClientBuilder.create().build().execute(request);
    final String jsonString = EntityUtils.toString(response.getEntity());
    final JsonNode json = new ObjectMapper().readTree(jsonString);

    System.out.println(response.getStatusLine().getStatusCode());
    System.out.println(json);
  }
}
# Version 2.5.0p0
require 'uri'
require 'net/http'

url = URI("https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <TOKEN>'
request["Accept"] = 'application/json'
request["Content-Type"] = 'application/json'
request.body = '{ "amount1": 0.17,"amount2": 0.12 }'

response = http.request(request)
puts response.code
puts response.read_body
// Version go1.12
package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io/ioutil"
    "log"
    "bytes"
)

func main() {
    apiUrl := "https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify"
    u, _ := url.ParseRequestURI(apiUrl)
    urlStr := u.String()
    var jsonStr = []byte(`{ "amount1": 0.17,"amount2": 0.12 }`)
    client := &http.Client{}
    r, _ := http.NewRequest("PUT", urlStr, bytes.NewBuffer(jsonStr))
    r.Header.Add("Authorization", "Basic <TOKEN>")
    r.Header.Add("Accept", "application/json")
    r.Header.Add("Content-Type", "application/json")

    resp, _ := client.Do(r)
    responseData, err := ioutil.ReadAll(resp.Body)

    if err != nil {
      log.Fatal(err)
    }

    fmt.Println(resp.Status)
    fmt.Println(string(responseData))
}
// Version 4.6.2.0
using System;
using System.Net;
using System.IO;
using System.Text;

public class MainClass {
  public static void Main (string[] args) {
    var request = (HttpWebRequest)WebRequest.Create("https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify");
    var requestData = "{ \"amount1\": 0.17,\"amount2\": 0.12 }";
    var data = Encoding.ASCII.GetBytes(requestData);
    
    request.Method = "PUT";
    request.Headers["Authorization"] = "Basic <TOKEN>";
    request.Accept = "application/json";
    request.ContentType = "application/json";
    request.ContentLength = data.Length;

    using (var stream = request.GetRequestStream())
     {
         stream.Write(data, 0, data.Length);
     }

    var response = (HttpWebResponse)request.GetResponse();

    Console.WriteLine (response.StatusCode);
    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
    Console.WriteLine (responseString);
  }
}
// Version 10.15.2
const request = require('request');

request({
    method: 'put',
    url: 'https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify',
    json: {
     'amount1': 0.17,
     'amount2': 0.12
    },
    headers: {
      'Authorization': 'Basic <TOKEN>',
      'Accept': 'application/json'
    }
  }, (error, response, body) => {
      console.log(response.statusCode);
      console.log(body);
  });
# Version 3.6.1
import requests

response = requests.put('https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify',
    json={'amount1': 0.17, 'amount2': 0.12},
    headers={'Authorization': 'Basic <TOKEN>', 'Accept': 'application/json'}
)
json_response = response.json()
print(response.status_code)
print(json_response)
<?php
// Version 7.2.17-0ubuntu0.18.04.1
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://api.tradier.com/v2/accounts/{account_id}/achprofiles/{id}/verify');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "amount1": 0.17,"amount2": 0.12 }');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');

$headers = array();
$headers[] = 'Authorization: Basic <TOKEN>';
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
echo $http_code;
echo $result;

Response

Response Definition

{
  "id": 4,
  "account": "6YA01234",
  "bankAccount": "********3123",
  "bankAccountOwnerName": "Jane Doe",
  "bankAccountType": "checking",
  "nickname": "Bank of America Checking",
  "method": "MICRO_DEPOSIT",
  "status": "APPROVED",
  "createdAt": 1485881293000,
  "updatedAt": 1485881537208,
  "achRelationshipId": "5890bfcde4b0e1e366683382"
}