> ## Documentation Index
> Fetch the complete documentation index at: https://docs.feedspace.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Import

> Import multiple text reviews from a CSV or Excel file.

[📥 Download Sample CSV File](https://static.feedspace.io/assets/sample-csv-import.csv)

The sample file includes all supported columns with example data. See the format specification below for detailed column requirements.

## CSV Format

The CSV file should include the following columns:

* **Review Text** (required): The actual review content
* **Review Date** (optional): Date when the review was posted
* **Star Rating** (optional): Rating from 1-5 (supports decimals like 1.5, 2.5)
* **Name** (optional): Customer's name
* **Email** (optional): Customer's email address (must be valid email format)
* **Job Role** (optional): Customer's job title/position
* **Company** (optional): Customer's company name
* **Profile Image URL** (optional): Customer's profile image URL (must be valid URL format)


## OpenAPI

````yaml POST /imports/csv-imports/text-review
openapi: 3.1.0
info:
  title: Feedspace API
  description: Feedspace API v3 - Feedback and testimonial management platform
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.feedspace.io/v3
security: []
paths:
  /imports/csv-imports/text-review:
    post:
      tags:
        - Imports
      description: Import multiple text reviews from a CSV or Excel file.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CsvTextReviewImportRequest'
      responses:
        '200':
          description: >-
            CSV import completed successfully. May include partial failures if
            some rows failed validation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Success message
                  data:
                    type: object
                    properties:
                      reviews_imported:
                        type: integer
                        description: Number of reviews successfully imported
                      reviews_failed:
                        type: integer
                        description: Number of reviews that failed (only present if > 0)
                      total_rows_processed:
                        type: integer
                        description: Total number of rows processed
                      source_id:
                        type: integer
                        description: Import source ID
                      processing_errors:
                        type: array
                        items:
                          type: string
                        description: >-
                          Array of error messages for failed rows (only present
                          if errors occurred)
              examples:
                success_all:
                  value:
                    message: All reviews imported successfully
                    data:
                      reviews_imported: 45
                      total_rows_processed: 45
                      source_id: 12345
                partial_success:
                  value:
                    message: 45 reviews imported successfully, 2 failed
                    data:
                      reviews_imported: 45
                      reviews_failed: 2
                      total_rows_processed: 47
                      source_id: 12345
                      processing_errors:
                        - 'Row 5: Email must be a valid email address'
                        - 'Row 12: Review Text is required'
        '422':
          description: Validation failed or no data processed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error type
                  message:
                    type: string
                    description: Error message
                  validation_errors:
                    type: array
                    items:
                      type: string
                    description: >-
                      Array of validation error messages (present if validation
                      failed)
                  file_stored:
                    type: boolean
                    description: Whether the file was stored
                  file_path:
                    type:
                      - string
                      - 'null'
                    description: Path to stored file
                  details:
                    type: object
                    description: Additional error details
              examples:
                validation_failed:
                  value:
                    error: Validation failed
                    message: CSV file validation failed
                    validation_errors:
                      - File must be a CSV or Excel file
                      - File size must not exceed 10MB
                    file_stored: false
                    file_path: null
                no_data_processed:
                  value:
                    error: No data processed
                    message: CSV file was processed but no reviews were imported
                    details:
                      success: false
                      reviews_imported: 0
                      total_rows_processed: 0
        '500':
          description: Server error during processing.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                  message:
                    type: string
                    description: Error description
                  details:
                    type: array
                    items:
                      type: string
                    description: Array of processing error messages
              examples:
                server_error:
                  value:
                    error: Processing failed
                    message: Failed to process CSV file
                    details:
                      - Database connection error
                      - Unable to process row 10
      security:
        - basicAuth: []
components:
  schemas:
    CsvTextReviewImportRequest:
      type: object
      description: >-
        Request body for importing text reviews from a CSV or Excel file. The
        file should contain columns: Review Date, Star Rating, Review Text
        (required), Name, Email, Job Role, Company, Profile Image URL.
      properties:
        csv_file:
          type: string
          format: binary
          description: >-
            CSV or Excel file containing text reviews (required). Allowed
            formats: .csv, .txt, .xlsx, .xls. Max size: 10 MB
      required:
        - csv_file
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic Authentication using API Key and Secret Key. The credentials
        should be Base64 encoded in the format 'api_key:secret_key'. You can
        obtain your API Key and Secret Key from Feedspace → Automation → API
        (https://app.feedspace.io/automation/api).

````