Skip to main content
POST
/
v1
/
partners
/
createCheckout
curl -X POST https://api.infinipost.co/v1/partners/createCheckout \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quantity": 2,
    "partnerUserId": "user_abc123",
    "email": "customer@example.com",
    "successUrl": "https://yourapp.com/success",
    "cancelUrl": "https://yourapp.com/cancel",
    "accounts": [
      {
        "name": "Fashion Creator",
        "bio": "Daily fashion tips and trends 👗",
        "profilePicUrl": "https://example.com/pic1.jpg",
        "warmupKeywords": ["fashion", "style", "ootd"]
      },
      {
        "name": "Style Insider",
        "bio": "Your daily dose of style inspo ✨",
        "profilePicUrl": "https://example.com/pic2.jpg",
        "warmupKeywords": ["style", "trend", "lookbook"]
      }
    ]
  }'
{
  "checkoutUrl": "https://checkout.stripe.com/c/pay/cs_live_..."
}

Request Body

quantity
number
required
Number of TikTok accounts to purchase. Must be 1 or greater.
partnerUserId
string
required
Your internal user ID for the customer purchasing the accounts. Used to retrieve accounts later via the Get Accounts endpoint.
email
string
required
The customer’s email address. Used to pre-fill the Stripe Checkout form.
successUrl
string
required
URL to redirect the customer to after a successful payment.
cancelUrl
string
required
URL to redirect the customer to if they cancel the checkout.
accounts
array
required
Array of account objects. Must contain exactly quantity items.

Response

checkoutUrl
string
Stripe Checkout URL. Redirect your customer to this URL to complete payment.
curl -X POST https://api.infinipost.co/v1/partners/createCheckout \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quantity": 2,
    "partnerUserId": "user_abc123",
    "email": "customer@example.com",
    "successUrl": "https://yourapp.com/success",
    "cancelUrl": "https://yourapp.com/cancel",
    "accounts": [
      {
        "name": "Fashion Creator",
        "bio": "Daily fashion tips and trends 👗",
        "profilePicUrl": "https://example.com/pic1.jpg",
        "warmupKeywords": ["fashion", "style", "ootd"]
      },
      {
        "name": "Style Insider",
        "bio": "Your daily dose of style inspo ✨",
        "profilePicUrl": "https://example.com/pic2.jpg",
        "warmupKeywords": ["style", "trend", "lookbook"]
      }
    ]
  }'
{
  "checkoutUrl": "https://checkout.stripe.com/c/pay/cs_live_..."
}

Account Provisioning Process

After the customer completes payment:
  1. Payment confirmed: Stripe processes the payment and notifies Infinipost
  2. Phone provisioning: Phones are created and configured with proxies
  3. Account creation (a few hours): TikTok accounts are set up on each phone with the provided details
  4. Warmup (7 days): Accounts go through a gradual warmup period before posting
You can poll the Get Accounts endpoint to check account status.
Pricing: Each TikTok account is billed at $20/month as a recurring subscription. Subscriptions are managed per account and can be cancelled individually via the Cancel Account endpoint.

Error Responses

Invalid API Key
{
  "error": "This API key does not have partner access"
}
Missing Required Fields
{
  "error": "quantity must be >= 1"
}
Accounts Array Mismatch
{
  "error": "accounts array must have exactly 2 items"
}