Child Users Guide

This guide will explain what Child Users are, and why they could be a useful function in your shipping application.

A child User is essentially a dependent clone of a parent User. We've created child User functionality as a way for organizations to organize users with their own carrier credentials. Child Users can not log into the EasyPost website, and they can only be created in production mode with your production API key.

Upon creation, the child User will only have the parent User's USPS account by default. Any other carrier accounts that need to be added to the child User must be built into your application's logic on your end.

Other than organizing activity and CarrierAccounts the central advantage of a child account is that billing flows through the parent's payment information. This prevents the parent User from having to input duplicate billing information.

Child Users can serve a few important purposes within your organization:

  • You want to organize sets of users together, based on different parent User settings as templates.
  • Your consumers want to use your shipping application, but also want to use their own negotiated rates.
  • You want to exert greater control of your billing. All child Users roll their billing up to their parent User.

Of course, if you find another way to leverage child Users, feel free to build it. We love it when our customers use our API in creative ways.

The structure of a child User is identicial to its parent, which means that their representations contain many more properties than are actually used. Also, creating a child User requires almost none of the properties necessary for creating a top-level User.

Here is an example of a child user:

Creating a Child User
curl -X POST https://api.easypost.com/v2/users \
  -u "EASYPOST_API_KEY": \
  -H 'Content-Type: application/json' \
  -d '{
    "user": {
      "name": "Child Account Name"
    }
  }'
Child User JSON Response
{
  "id": "user_d2539e6862fe4f389f735c7c00aaa37a",
  "object": "User",
  "parent_id": "user_060ab38db3c04ffaa60f262e5781a9be",
  "name": "Test User",
  "phone_number": "8005550100",
  "verified": true,
  "created_at": "2024-01-24T00:07:48Z",
  "default_carbon_offset": false,
  "has_elevate_access": false,
  "children": [],
  "api_keys": [
    {
      "object": "ApiKey",
      "key": "<REDACTED>",
      "mode": "test",
      "created_at": "2024-01-24T00:07:48Z",
      "active": true,
      "id": "ak_afdf54db97e24e4aa7354527c8aa3be0"
    },
    {
      "object": "ApiKey",
      "key": "<REDACTED>",
      "mode": "production",
      "created_at": "2024-01-24T00:07:48Z",
      "active": true,
      "id": "ak_da39a3c4afd946e1b77a578ec211e816"
    }
  ]
}