Matthew Meszaros
|
6cadcc725d
|
feat: answer every public request-body bind failure with a 400 that names the problem (empty body, JSON syntax error with its byte offset, wrong JSON type for the body or a named field, missing or out-of-range fields by json key) instead of a blanket malformed-JSON message or a 500, accept a single contact object on POST /v1/contacts as the CLIs send it, and drop the API-key lookup cache whose 300ns TTL made it a Redis round trip that saved nothing
|
2026-09-22 20:21:41 -07:00 |
|
Matthew Meszaros
|
6284eb27ec
|
feat: give a saved Google Sheets sync source segment targets (migration 000136 adds lead_sync_sources.segment_ids) that pin every synced row into those segments on each run, validated against the organization when the source is written and dropped from the run when a segment is deleted later, and filter GET /lead-sync/sources by ?segment_id= through a jsonb containment test so a segment can list the sources feeding it
|
2026-09-08 04:59:18 -07:00 |
|
Matthew Meszaros
|
fe96eff7b4
|
feat: audit-log coverage for teams, automations (typed entity), lead-sync sources, and manual meetings so the org activity trail and its realtime spine see every mutation
|
2026-06-11 07:47:29 +02:00 |
|
Matthew Meszaros
|
d6f055da19
|
feat: add lead sync backend
|
2026-06-04 11:49:55 +02:00 |
|