Account Configuration
Configure the account details for a bundle. Account configuration is required before a bundle can be published.
Configure Account
Set or update the account details for a bundle.
PUT /bundles/:id/account
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
username | string | Yes | Account username. 1-24 characters, alphanumeric plus . and _. |
visible_name | string | Yes | Display name. 1-30 characters. |
biography | string | Yes | Account biography. Max 80 characters. |
profile_picture_url | string | Yes | URL to the profile picture image. |
link_in_bio | string | No | Link displayed in the bio. Instagram only. |
niche_warming_instructions | string | No | Instructions for niche warming behavior. Only applies when niche_warming is enabled. |
Validation Rules
| Field | Rule |
|---|---|
username | 1-24 characters. Allowed: [a-zA-Z0-9_.] |
visible_name | 1-30 characters. |
biography | Max 80 characters. |
profile_picture_url | Must be a valid URL. |
link_in_bio | Must be a valid URL. Instagram only. |
Requirements
- Bundle must be in
pending_setuporconfiguredstatus. - You cannot modify account configuration after the bundle has been published (unpublish first).
Example
curl -X PUT https://app.tokportal.com/api/ext/bundles/bnd_abc123/account \
-H "X-API-Key: tok_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"username": "streetstyle.nyc",
"visible_name": "Street Style NYC",
"biography": "Daily street fashion from New York City.",
"profile_picture_url": "https://cdn.example.com/profiles/streetstyle.jpg",
"niche_warming_instructions": "Engage with fashion and streetwear content in NYC area."
}'
Response
{
"data": {
"id": "bnd_abc123",
"account": {
"username": "streetstyle.nyc",
"visible_name": "Street Style NYC",
"biography": "Daily street fashion from New York City.",
"profile_picture_url": "https://cdn.example.com/profiles/streetstyle.jpg",
"link_in_bio": null,
"niche_warming_instructions": "Engage with fashion and streetwear content in NYC area.",
"configured_at": "2026-02-10T10:00:00Z"
}
}
}
Instagram Example with Link in Bio
curl -X PUT https://app.tokportal.com/api/ext/bundles/bnd_d4e5f6/account \
-H "X-API-Key: tok_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"username": "cafe.paris_",
"visible_name": "Caf\u00e9 Paris",
"biography": "Les meilleurs caf\u00e9s parisiens.",
"profile_picture_url": "https://cdn.example.com/profiles/cafeparis.jpg",
"link_in_bio": "https://cafeparis.example.com"
}'
Response
{
"data": {
"id": "bnd_d4e5f6",
"account": {
"username": "cafe.paris_",
"visible_name": "Caf\u00e9 Paris",
"biography": "Les meilleurs caf\u00e9s parisiens.",
"profile_picture_url": "https://cdn.example.com/profiles/cafeparis.jpg",
"link_in_bio": "https://cafeparis.example.com",
"niche_warming_instructions": null,
"configured_at": "2026-02-10T10:15:00Z"
}
}
}
Get Account
Retrieve the current account configuration for a bundle.
GET /bundles/:id/account
Example
curl -X GET https://app.tokportal.com/api/ext/bundles/bnd_abc123/account \
-H "X-API-Key: tok_live_xxx"
Response
{
"data": {
"username": "streetstyle.nyc",
"visible_name": "Street Style NYC",
"biography": "Daily street fashion from New York City.",
"profile_picture_url": "https://cdn.example.com/profiles/streetstyle.jpg",
"link_in_bio": null,
"niche_warming_instructions": "Engage with fashion and streetwear content in NYC area.",
"configured_at": "2026-02-10T10:00:00Z",
"status": "configured"
}
}
Error Responses
| Status | Code | Description |
|---|---|---|
400 | invalid_username | Username does not match allowed pattern [a-zA-Z0-9_.] or exceeds 24 characters. |
400 | invalid_visible_name | Visible name is empty or exceeds 30 characters. |
400 | biography_too_long | Biography exceeds 80 characters. |
400 | invalid_url | profile_picture_url or link_in_bio is not a valid URL. |
400 | link_in_bio_instagram_only | link_in_bio is only supported on Instagram. |
409 | invalid_status | Bundle is not in pending_setup or configured status. |
404 | bundle_not_found | Bundle does not exist. |