Skip to main content
POST
/
v1
/
phones
/
{phoneId}
/
accounts
curl -X POST https://api.infinipost.co/v1/phones/phone_abc123/accounts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "tiktok",
    "name": "Fashion Insider",
    "bio": "Daily fashion tips and trends 👗",
    "password": "Secure1!",
    "warmupKeywords": ["fashion", "ootd", "style"]
  }'
{
  "accountId": "acc_1a2b3c4d5e",
  "platform": "tiktok",
  "name": "Fashion Insider",
  "username": null,
  "bio": "Daily fashion tips and trends 👗",
  "accountStatus": "created_pending_warmup",
  "createdAt": "2024-04-21T19:30:00Z"
}

Path Parameters

phoneId
string
required
The ID of the phone to create the account on.One account per platform per phone: Each phone supports one TikTok account and one Instagram account. Attempting to create a second account on the same platform will return an error.

Request Body

platform
string
required
The platform to create an account on. Either tiktok or instagram.
name
string
required
The display name for the account (e.g., “John Smith”).
username
string
The desired username. If not provided, one will be auto-generated.Note: TikTok usernames can only be set after Day 5 of warmup.
password
string
required
Password for the account.Requirements: Minimum 8 characters, must include at least 1 uppercase letter, 1 lowercase letter, 1 number, and 1 special character (!, @, #, $, %, etc.).
bio
string
Account bio/description.
warmupKeywords
array
Array of keywords to use for content discovery during warmup (e.g., ["fashion", "style", "outfit"]).Optional: If not provided, platform-appropriate trending keywords will be used automatically.
profilePictureUrl
string
URL of the profile picture to use. Must be a publicly accessible image URL.Requirements: Image must have a 1:1 aspect ratio (square). Non-square images will return an error.

Response

accountId
string
Unique identifier for the account.
platform
string
The platform (tiktok or instagram).
name
string
The account’s display name.
username
string
The account’s username (may be null for new TikTok accounts).
accountStatus
string
Current status: awaiting_creation, created_pending_warmup, warming_up, or ready.
createdAt
string
ISO 8601 timestamp of when the account was created.
curl -X POST https://api.infinipost.co/v1/phones/phone_abc123/accounts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "tiktok",
    "name": "Fashion Insider",
    "bio": "Daily fashion tips and trends 👗",
    "password": "Secure1!",
    "warmupKeywords": ["fashion", "ootd", "style"]
  }'
{
  "accountId": "acc_1a2b3c4d5e",
  "platform": "tiktok",
  "name": "Fashion Insider",
  "username": null,
  "bio": "Daily fashion tips and trends 👗",
  "accountStatus": "created_pending_warmup",
  "createdAt": "2024-04-21T19:30:00Z"
}

Account Creation Process

  1. Account Setup (a few hours): TikTok/Instagram account is created on the phone
  2. Status Update: Account status changes from created_pending_warmup to warming_up
  3. Warmup (7 days): Gradual engagement ramp-up to avoid platform restrictions
TikTok Username Restriction: New TikTok accounts cannot set a custom username until Day 5 of warmup. The username field will be null until then.

Error Responses

Username Already Taken
{
  "error": {
    "code": "username_taken",
    "message": "The username 'fashioninsider' is already taken"
  }
}
Account Limit Reached
{
  "error": {
    "code": "account_limit_exceeded",
    "message": "You have reached your account limit. Upgrade your plan to create more accounts."
  }
}
Invalid Profile Picture Ratio
{
  "error": {
    "code": "invalid_image_ratio",
    "message": "Profile picture must have a 1:1 aspect ratio (square). Provided image is 1920x1080."
  }
}
Invalid Profile Picture URL
{
  "error": {
    "code": "invalid_image_url",
    "message": "Unable to access the profile picture URL. Please ensure the URL is publicly accessible."
  }
}
Missing Required Fields
{
  "error": {
    "code": "missing_required_fields",
    "message": "Missing required field: platform"
  }
}
Invalid Platform
{
  "error": {
    "code": "invalid_platform",
    "message": "Platform must be either 'tiktok' or 'instagram'"
  }
}
Account Already Exists
{
  "error": {
    "code": "account_exists",
    "message": "This phone already has a TikTok account"
  }
}
Phone Not Found
{
  "error": {
    "code": "not_found",
    "message": "Phone phone_abc123 not found"
  }
}
Invalid Password
{
  "error": {
    "code": "invalid_password",
    "message": "Password must be at least 8 characters with uppercase, lowercase, number, and special character"
  }
}