CSV import API

Create many posts at once from a CSV file and follow the result row by row.

OperationMethod and path
Create post CSV importPOST /api/v1/post-csv-import
Get post CSV import historyGET /api/v1/post-csv-import
Get post CSV import detailsGET /api/v1/post-csv-import/{importId}
Get post CSV import processing statusGET /api/v1/post-csv-import/{importId}/status
Get post CSV import row resultsGET /api/v1/post-csv-import/{importId}/rows
POST /api/v1/post-csv-import

Create post CSV import

postCSV.create · requires x-api-key

Request body multipart/form-data

  • file file nullable

Example

curl -X POST "https://api.siaran.my/api/v1/post-csv-import/" \
  -H "x-api-key: $SIAR_API_KEY" \
  -F "file=@./file.jpg"

Response 201

16 top-level fields
  • id string required
  • teamId string required
  • organizationId string required
  • status string required
    One of: PENDING PROCESSING COMPLETED COMPLETED_WITH_ERRORS FAILED RATE_LIMITED
  • fileName string required
  • totalRows number required
  • processedRows number required
  • successRows number required
  • failedRows number required
  • error string nullable
  • rateLimitResetAt string nullable date-time
  • startedAt string nullable date-time
  • completedAt string nullable date-time
  • createdAt string required nullable date-time
  • updatedAt string required nullable date-time
  • deletedAt string nullable date-time

Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error

GET /api/v1/post-csv-import

Get post CSV import history

postCSV.getList · requires x-api-key

Parameters

NameInTypeNotes
offset query number default 0 · nullable
limit query number default 10 · nullable

Example

curl -X GET "https://api.siaran.my/api/v1/post-csv-import/" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

2 top-level fields
  • items object[] required
    16 fields
    • id string required
    • teamId string required
    • organizationId string required
    • status string required
      One of: PENDING PROCESSING COMPLETED COMPLETED_WITH_ERRORS FAILED RATE_LIMITED
    • fileName string required
    • totalRows number required
    • processedRows number required
    • successRows number required
    • failedRows number required
    • error string nullable
    • rateLimitResetAt string nullable date-time
    • startedAt string nullable date-time
    • completedAt string nullable date-time
    • createdAt string required nullable date-time
    • updatedAt string required nullable date-time
    • deletedAt string nullable date-time
  • total number required

Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error

GET /api/v1/post-csv-import/{importId}

Get post CSV import details

postCSV.getById · requires x-api-key

Parameters

NameInTypeNotes
importId required path string

Example

curl -X GET "https://api.siaran.my/api/v1/post-csv-import/IMPORTID" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

16 top-level fields
  • id string required
  • teamId string required
  • organizationId string required
  • status string required
    One of: PENDING PROCESSING COMPLETED COMPLETED_WITH_ERRORS FAILED RATE_LIMITED
  • fileName string required
  • totalRows number required
  • processedRows number required
  • successRows number required
  • failedRows number required
  • error string nullable
  • rateLimitResetAt string nullable date-time
  • startedAt string nullable date-time
  • completedAt string nullable date-time
  • createdAt string required nullable date-time
  • updatedAt string required nullable date-time
  • deletedAt string nullable date-time

Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error

GET /api/v1/post-csv-import/{importId}/status

Get post CSV import processing status

postCSV.getStatus · requires x-api-key

Parameters

NameInTypeNotes
importId required path string

Example

curl -X GET "https://api.siaran.my/api/v1/post-csv-import/IMPORTID/status" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

10 top-level fields
  • id string required
  • status string required
    One of: PENDING PROCESSING COMPLETED COMPLETED_WITH_ERRORS FAILED RATE_LIMITED
  • totalRows number required
  • processedRows number required
  • successRows number required
  • failedRows number required
  • error string nullable
  • startedAt string nullable date-time
  • completedAt string nullable date-time
  • updatedAt string required nullable date-time

Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error

GET /api/v1/post-csv-import/{importId}/rows

Get post CSV import row results

postCSV.getRows · requires x-api-key

Parameters

NameInTypeNotes
importId required path string
status query string One of SUCCESS, FAILED
offset query number default 0 · nullable
limit query number default 10 · nullable

Example

curl -X GET "https://api.siaran.my/api/v1/post-csv-import/IMPORTID/rows" \
  -H "x-api-key: $SIAR_API_KEY"

Response 200

2 top-level fields
  • items object[] required
    9 fields
    • id string required
    • importId string required
    • rowNumber number required
    • status string required
      One of: SUCCESS FAILED
    • postId string nullable
    • rawRow map<string, string> nullable
    • normalizedPayload any nullable
    • error string nullable
    • createdAt string required nullable date-time
  • total number required

Errors: 400 Validation failed · 401 Missing or invalid API key · 403 Plan limit or permission · 404 Not found · 429 Rate limited · 500 Server error · 502 Network error