DealSleek API · Leads

Preview

Record Intake Match

An automated intake record matched an existing lead. Decides from the lead's state whether to wake, requalify, or record the touch, applies it, and returns the verdict.

POST/api/v1/leads/dispatch

Authorization

Minimum role
Sales repThe caller must hold this role or a higher one.
Action
RECORD_INTAKE_MATCH

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 RECORD_INTAKE_MATCH 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

  • current_stateenumRequired

    The matched lead's real state. Required — the decision IS this value.

    Allowed values
    • DISCOVERED
    • ENGAGED
    • CRYO_SLEEP
    • RESURRECTED
    • CONVERTED
    • DISQUALIFIED
  • lead_iduuidRequired

    No description yet.

  • company_namestring or nullOptional

    No description yet.

  • custom_fieldsanyOptional

    No description yet.

  • first_namestring or nullOptional

    No description yet.

  • last_namestring or nullOptional

    No description yet.

  • merge_precedenceenum or nullOptional

    Who wins when both sides hold a value.

    Allowed values
    • IMPORTED_WINS
    • EXISTING_WINS
  • phonestring or nullOptional

    No description yet.

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 RECORD_INTAKE_MATCH.
  • 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 rep 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