Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.recotap.com/llms.txt

Use this file to discover all available pages before exploring further.

POST /accounts Pushes accounts from your CRM into Recotap. Max 100 per request. Returns HTTP 200 regardless of per-item outcome. Check each item’s status in the results array.
curl -X POST "http://eapi.recotap.com/api/v1/crm/accounts" \
  -H "X-Api-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "accounts": [
      {
        "externalId": "crm-001",
        "domain": "acme.com",
        "name": "Acme Corp",
        "shortName": "Acme",
        "linkedinUrl": "https://www.linkedin.com/company/acme-corp",
        "tags": ["enterprise", "q2-target"],
        "customFields": { "CONTRACT_VALUE_C": 75000 }
      }
    ],
    "segmentId": "663xyz..."
  }'
Request body
FieldTypeRequiredDescription
accountsarrayYesMin 1, max 100 account objects
segmentIdstringNoRecotap segment ID — must be static type and active or draft status. All successfully processed accounts are added to this segment. Use List Segments to retrieve available segment IDs.
Account object
FieldTypeRequiredDescription
externalIdstringYesYour CRM’s unique ID, used for deduplication and future updates e.g. "crm-001"
domainstringYesPrimary domain. Cleaned before storage: https://, www., and trailing paths are stripped and the value is lowercased. https://www.acme.com/foo is stored as acme.com.
namestringYesCompany name e.g. "Acme Corp"
shortNamestringNoAbbreviated company name e.g. "Acme"
linkedinUrlstringNoLinkedIn company page URL e.g. "https://www.linkedin.com/company/acme-corp"
tagsstring[]NoFree-form tag strings e.g. ["enterprise", "q2-target"]
customFieldsobjectNoKey-value pairs using Recotap custom field keys e.g. { "CONTRACT_VALUE_C": 75000 }. Keys must exist as active custom fields. Unknown keys cause the item to fail.
Response data
{
  "results": [
    { "externalId": "crm-001", "status": "created" },
    { "externalId": "crm-002", "status": "updated" },
    { "externalId": "crm-003", "status": "failed", "error": "Custom field key(s) not found: INVALID_KEY_C" }
  ],
  "summary": { "total": 3, "created": 1, "updated": 1, "failed": 1 }
}
Per-item status values
StatusCause
createdAccount successfully added
updatedAccount successfully updated
failede.g. externalId already exists, or customFields contains an unknown key
If segmentId is provided, it is validated before any accounts are processed. The segment must exist, be of type static, and have a status of active or draft. If validation fails, the entire request is rejected with 400 and no accounts are processed.