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

# Upload entity data

> JSON body with `columns` and `data`. Validation is synchronous; S3 write is asynchronous.



## OpenAPI

````yaml /connector-api/openapi.json post /uploading/{upload_uuid}/{entity_name}
openapi: 3.1.0
info:
  title: Connector API
  version: 0.1.0
servers:
  - url: https://etl-api-dev2.datawiz.io/api/v1
    description: Connector API
security: []
paths:
  /uploading/{upload_uuid}/{entity_name}:
    post:
      tags:
        - Uploading
      summary: Upload entity data
      description: >-
        JSON body with `columns` and `data`. Validation is synchronous; S3 write
        is asynchronous.
      operationId: ingest_entity_data_api_v1_uploading__upload_uuid___entity_name__post
      parameters:
        - name: entity_name
          in: path
          required: true
          schema:
            type: string
            title: Entity Name
        - name: upload_uuid
          in: path
          required: true
          schema:
            type: string
            title: Upload Uuid
      requestBody:
        content:
          application/json:
            schema:
              properties:
                columns:
                  description: >-
                    Ordered column names. Must include all required columns for
                    the entity.
                  items:
                    type: string
                  title: Columns
                  type: array
                data:
                  description: Data rows. Each row matches the order of `columns`.
                  items:
                    items: {}
                    type: array
                  title: Data
                  type: array
              required:
                - columns
                - data
              title: EntityIngestRequest
              type: object
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityIngestResponse'
        '400':
          description: >-
            Unknown entity name. Body: `{"detail": "Unknown entity:
            <entity_name>"}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetailResponse'
        '401':
          description: >-
            Invalid or missing access token. Body: `{"detail": "User not
            authenticated"}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetailResponse'
        '403':
          description: >-
            upload_uuid does not match the active session. Body: `{"detail":
            "Invalid upload UUID"}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetailResponse'
        '409':
          description: >-
            Session is not in the required status. Body: `{"detail": {"message":
            "Invalid upload session status", "expected": "...", "actual":
            "..."}}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidSessionStatusErrorResponse'
        '413':
          description: >-
            Request body exceeds size limit (32 MB for ingest, 1 MB for other
            requests).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetailResponse'
        '422':
          description: >-
            Invalid payload. Body: `{"detail": "<validation message>"}` — e.g.
            missing columns, invalid JSON, unknown column, invalid types or
            dates, empty columns array.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetailResponse'
        '503':
          description: Rate limit or concurrent connection limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetailResponse'
      security:
        - Authorization: []
          Client-Id: []
components:
  schemas:
    EntityIngestResponse:
      properties:
        status:
          type: string
          const: success
          title: Status
          description: Data was validated successfully.
        message:
          type: string
          title: Message
          description: Human-readable result message.
        rows_processed:
          type: integer
          title: Rows Processed
          description: Number of rows validated and queued for background storage.
      type: object
      required:
        - status
        - message
        - rows_processed
      title: EntityIngestResponse
    ErrorDetailResponse:
      properties:
        detail:
          anyOf:
            - type: string
            - additionalProperties: true
              type: object
          title: Detail
          description: Error message or structured error object.
      type: object
      required:
        - detail
      title: ErrorDetailResponse
    InvalidSessionStatusErrorResponse:
      properties:
        detail:
          $ref: '#/components/schemas/InvalidSessionStatusDetail'
      type: object
      required:
        - detail
      title: InvalidSessionStatusErrorResponse
    InvalidSessionStatusDetail:
      properties:
        message:
          type: string
          title: Message
          description: Human-readable error summary.
          default: Invalid upload session status
        expected:
          type: string
          title: Expected
          description: Session status required for this operation.
        actual:
          type: string
          title: Actual
          description: Current session status, or `UNKNOWN` when unavailable.
      type: object
      required:
        - expected
        - actual
      title: InvalidSessionStatusDetail
  securitySchemes:
    Authorization:
      type: apiKey
      in: header
      name: Authorization
    Client-Id:
      type: apiKey
      in: header
      name: Client-Id

````