Creating a User

The UserUser - A single end-user of your application. Each user has a unique userId, which should be stored in your database and used to make API requests on behalf of this individual. is the foundational resource of every API call. In this guide, we will show you how to create a UserUser - A single end-user of your application. Each user has a unique userId, which should be stored in your database and used to make API requests on behalf of this individual. in two steps:

  1. Creating a User
  2. Saving the userId

1. Creating a User

To create a new UserUser - A single end-user of your application. Each user has a unique userId, which should be stored in your database and used to make API requests on behalf of this individual., call the POST /users API endpoint. The UserUser - A single end-user of your application. Each user has a unique userId, which should be stored in your database and used to make API requests on behalf of this individual. allows you to provide profile information, some of which are required to perform such activities as a tax payment submission.

curl \
  --request POST \
  --url https://sandbox-api.withabound.com/v2/users \
  --header 'Authorization: Bearer <<apiKey>>' \
  --header 'Content-Type: application/json' \
  --data '{
    "user": {
      "email": "[email protected]",
      "profile": {
        "firstName": "Sam",
        "lastName": "Wilson",
        "address": "1500 Pennsylvania Ave NW",
        "address2": "Suite 1776",
        "city": "Washington",
        "state": "DC",
        "zipcode": "20220",
        "phoneNumber": "2026229979",
        "dateOfBirth": "1776-07-04",
        "socialSecurityNumber": "123456789"
      }
    }
  }'
const { default: Abound, Environment } = require("@withabound/node-sdk");

const abound = new Abound({
  appId: "<<sandbox_app_id>>",
  appSecret: "<<sandbox_app_secret>>",
  environment: Environment.SANDBOX,
  apiVersion: "v2",
});

(async () => {
  const response = await abound.users.create({
    email: "[email protected]",
    profile: {
      firstName: "Sam",
      lastName: "Wilson",
      address: "1500 Pennsylvania Ave NW",
      address2: "Suite 1776",
      city: "Washington",
      state: "DC",
      zipcode: "20220",
      phoneNumber: "2026229979",
      dateOfBirth: "1776-07-04",
      socialSecurityNumber: "123456789",
    },
  });

  console.log(response);
})();
import requests

url = "https://sandbox-api.withabound.com/v2/users"

payload = {"user": {
        "profile": {
            "firstName": "Sam",
            "lastName": "Wilson",
            "address": "1500 Pennsylvania Ave NW",
            "address2": "Suite 1776",
            "city": "Washington",
            "state": "DC",
            "zipcode": "20220",
            "phoneNumber": "2026229979",
            "dateOfBirth": "1776-07-04",
            "socialSecurityNumber": "123456789"
        },
        "email": "[email protected]"
    }}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer <<apiKey>>"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
// import com.squareup.okhttp.*;
// import com.google.gson.JsonObject;

OkHttpClient client = new OkHttpClient();

JsonObject requestBody = new JsonObject();
JsonObject user = new JsonObject();
JsonObject profile = new JsonObject();

user.addProperty("email", "[email protected]");

profile.addProperty("firstName", "Sam");
profile.addProperty("lastName", "Wilson");
profile.addProperty("addPropertyress", "1500 Pennsylvania Ave NW");
profile.addProperty("addPropertyress2", "Suite 1776");
profile.addProperty("city", "Washington");
profile.addProperty("state", "DC");
profile.addProperty("zipcode", "20220");
profile.addProperty("phoneNumber", "2026229979");
profile.addProperty("dateOfBirth", "1776-07-04");
profile.addProperty("socialSecurityNumber", "123456789");

user.add("profile", profile);

requestBody.add("user", user);

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, requestBody.toString());
Request request = new Request.Builder()
  .url("https://sandbox-api.withabound.com/v2/users")
  .post(body)
  .addHeader("Accept", "application/json")
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer <<apiKey>>")
  .build();

Response response = client.newCall(request).execute();
package main

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

func main() {

    url := "https://sandbox-api.withabound.com/v2/users"

    var requestBody = []byte(`{
        "user": {
            "email": "[email protected]",
            "profile": {
                "firstName": "Sam",
                "lastName": "Wilson",
                "address": "1500 Pennsylvania Ave NW",
                "address2": "Suite 1776",
                "city": "Washington",
                "state": "DC",
                "zipcode": "20220",
                "phoneNumber": "2026229979",
                "dateOfBirth": "1776-07-04",
                "socialSecurityNumber": "123456789"
            }
        }
    }`)

    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(requestBody))

    req.Header.Add("Accept", "application/json")
    req.Header.Add("Content-Type", "application/json")
    req.Header.Add("Authorization", "Bearer <<apiKey>>")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
// using RestSharp;

var client = new RestClient("https://sandbox-api.withabound.com/v2/users");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer <<apiKey>>");
request.AddJsonBody(new {
  user = new {
    email = "[email protected]",
    profile = new {
      firstName =  "Sam",
      lastName = "Wilson",
      address = "1500 Pennsylvania Ave NW",
      address2 = "Suite 1776",
      city = "Washington",
      state = "DC",
      zipcode = "20220",
      phoneNumber = "2026229979",
      dateOfBirth = "1776-07-04",
      socialSecurityNumber = "123456789"
    }
  }
});
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'
require 'json'

url = URI("https://sandbox-api.withabound.com/v2/users")
requestBody = {
  user: {
    email: '[email protected]',
    profile: {
      firstName: 'Sam',
      lastName: 'Wilson',
      address: '1500 Pennsylvania Ave NW',
      address2: 'Suite 1776',
      city: 'Washington',
      state: 'DC',
      zipcode: '20220',
      phoneNumber: '2026229979',
      dateOfBirth: '1776-07-04',
      socialSecurityNumber: '123456789'
    }
  }
}

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

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Content-Type"] = 'application/json'
request["Authorization"] = 'Bearer <<apiKey>>'
request.body = requestBody.to_json

response = http.request(request)
puts response.read_body

Field

Description

email

Your user's email address. Abound assume's you have taken the proper steps to verify the ownership of this email address.

firstName

The user's legal first name.

lastName

The user's legal last name.

address

The user's legal street address. This CANNOT be a P.O. Box.

address2

The second part of the user's legal street address like an apartment or suite number.

city

The user's city, associated with a street address.

state

The two-letter character code for this user's state ("ca" for California).

zipcode

The user's zip code, associated with the street address.

phoneNumber

The user's phone number. No country code. Numerical digits only.

dateOfBirth

The user's date of birth in the following format: YYYY-MM-DD

socialSecurityNumber

The user's social security number (SSN). No hyphens. Numerical digits only.

2. Saving the userId

The response from POST /users is shown below. It's crucial that you save the userId to your own database for future reference.

{
  "data": {
    "userId": "<<testUserId>>",
    "email": "[email protected]"
  }
}

And that’s it! You’ve created a UserUser - A single end-user of your application. Each user has a unique userId, which should be stored in your database and used to make API requests on behalf of this individual..


What’s Next
Did this page help you?