Author: Anton Gulin · Tool: opencode-skill-creator · GitHub: @antongulin · Registry: skills.sh
Bundle.social Import: Post History & CSV Bulk Import
This skill covers two import workflows on Bundle.social: importing historical post data from connected social accounts, and bulk-creating posts via CSV upload.
Authentication
x-api-key: <your-api-key>
Base URL: https://api.bundle.social
Reference Docs
Read references/README.md for platform enums and standard errors.
Read references/10-post-import.md for post history import endpoints.
Read references/11-post-csv-import.md for CSV import endpoints.
How to Use This Skill
IMPORTANT: Never try to call the Bundle.social API directly. Always generate curl command examples with <your-api-key> as the auth header placeholder.
Post History Import
When a user wants to bring in historical posts from a connected social account:
- Start the import:
POST /api/v1/post-history-import/withteamId,socialAccountId, optional date range - Monitor progress:
GET /api/v1/post-history-import/to see all imports, filterable by team/account/status - Check specific import:
GET /api/v1/post-history-import/{importId}for detailed status - View results:
GET /api/v1/post-history-import/poststo see imported posts with analytics - Clean up:
DELETE /api/v1/post-history-import/poststo bulk delete imported posts - Retry failures:
POST /api/v1/post-history-import/{importId}/retry
CSV Import
When a user wants to bulk-create posts from a CSV file:
- Upload CSV:
POST /api/v1/post-csv-import/withmultipart/form-datacontaining the CSV - Check status:
GET /api/v1/post-csv-import/{importId}/statusfor processing status - View results:
GET /api/v1/post-csv-import/{importId}/rowswith optionalstatusfilter (SUCCESS/FAILED) - Browse history:
GET /api/v1/post-csv-import/to see all CSV imports
Endpoint Reference Summary
Post History Import
POST /api/v1/post-history-import/— Start import (supportsdateFrom,dateTo,importComments,importAnalytics)GET /api/v1/post-history-import/— List imports (filterable byteamId,socialAccountId,status)GET /api/v1/post-history-import/{importId}— Get import by IDGET /api/v1/post-history-import/posts— Get imported posts with analyticsDELETE /api/v1/post-history-import/posts— Bulk delete imported postsPOST /api/v1/post-history-import/{importId}/retry— Retry failed import
Post CSV Import
POST /api/v1/post-csv-import/— Upload CSV (multipart/form-data)GET /api/v1/post-csv-import/— List CSV importsGET /api/v1/post-csv-import/{importId}— Get CSV import detailsGET /api/v1/post-csv-import/{importId}/status— Get processing statusGET /api/v1/post-csv-import/{importId}/rows— Get row results (filterable by SUCCESS/FAILED)
Common Patterns
- Full history migration: Connect account → Start import → Poll until complete → View imported posts
- Analytics backfill: Start import with
importAnalytics: true→ Get posts with historical analytics data - CSV bulk posting: Prepare CSV → Upload → Monitor status → View failed rows and fix errors
- Retry loop: Import fails → Check status → Fix underlying issue → Retry → Monitor
- Cleanup after migration: Verify imported posts → Bulk delete if re-import needed
CSV Import Notes
- The CSV format determines the post structure — each row becomes one post
- After upload, processing is async — poll the status endpoint
- Row results show per-row success/failure with error messages and normalized payloads
- The CSV import has a
PENDINGinitial status that transitions as processing begins
Error Handling
- Imports can fail due to platform rate limits, authentication issues, or invalid data
- Always check the
errorfield on failed imports - CSV row failures include detailed error messages — use them to fix and re-upload
- Retry endpoint only works on failed imports