DealSleek API · Leads

Preview

Create Import Batch

Stage an uploaded or pasted list as an import batch. Writes nothing to leads.

POST/api/v1/leads/dispatch

Authorization

Minimum role
ManagerThe caller must hold this role or a higher one.
Action
CREATE_IMPORT_BATCH

Headers

  • AuthorizationstringRequired

    Access token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.

  • X-CQRS-ActionstringRequired

    Names the command to run. Must be CREATE_IMPORT_BATCH for this endpoint.

  • Content-TypestringRequired

    Always application/json.

  • X-Idempotency-KeystringOptional

    A key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.

  • X-Correlation-IdstringOptional

    Your own identifier for the request. Returned in the x-correlation-id response header; generated when you leave it out.

Request body

  • batch_iduuidRequired

    No description yet.

  • sourceenumRequired

    Where a batch's rows came from.

    Allowed values
    • PASTE
    • FILE
    • FORM_POST
    • WEBHOOK_PUSH
    • PLATFORM_POLL
    • API
    FORM_POST
    Posted by a form on the tenant's own site.
    WEBHOOK_PUSH
    Pushed by a platform that sends the field data itself (Google Ads lead form assets).
    PLATFORM_POLL
    Fetched by us on a schedule, because the platform doesn't push usable data (LinkedIn Lead Sync; Meta, which pushes only an id).
    API
    Server-to-server from the tenant's own systems.
  • total_rowsintegerRequired

    No description yet.

    at least 1
  • binding_iduuid or nullOptional

    The intake binding that produced this batch, for the automated sources. None for an operator-driven upload. Recorded so a lead can always be traced back to the exact form/ad account it came from — a source LABEL alone can't answer "which campaign".

  • delimiterstring or nullOptional

    No description yet.

  • detected_columnsarray of stringOptional

    Header names as uploaded, so the mapping step can offer real column names instead of bare indices.

  • file_namestring or nullOptional

    No description yet.

  • has_headerbooleanOptional

    No description yet.

    Default
    false

Response

Status 202. The command was applied. The body reports the outcome and, where the command changes a record, that record's new state.

  • successbooleanRequired

    true when the command was applied.

  • error_messagestringRequired

    Empty when the command was applied.

  • projected_stateobjectOptional

    The record as it stands after the command.

  • event_payloadobjectOptional

    The event the command recorded.

  • insightsarray of objectOptional

    Advisory notes about the result. Each has a code, a message and an impact number.

Errors

Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.

  • 400X-CQRS-Action is missing or names a command this route does not accept. Send CREATE_IMPORT_BATCH.
  • 400DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types.
  • 401The access token is missing, expired or not valid.
  • 401L1_AUTHThe caller's role is below manager or the caller has no access to this record.
  • 403L1_POLICYA business rule refused the command. The message names the rule.
  • 409L1_IDEMPOTENCYA command with this idempotency key was already applied.
  • 409CONFLICTThe command would duplicate a record that must be unique.
  • 500L3_COMMITThe command was valid but could not be saved.
Generated from the API contract · revision 49d871e9cf4ff307