Sync contacts
Authentication
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
Path parameters
Response
200 - Contact added, one skipped
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
200 - Contact added, one skipped
Associates an explicit selection of Contacts with the configuration; adds to the existing selection, never removes one. Answers 200 with meta.status, meta.updated and meta.skipped, the same shape as “Sync websites” but the rows carry contact_id and no website (site_id/site_name are null).\n\nBody (JSON):\n- contacts (array of Contact ids, required, 1 to 50), validated for existence only - a Client id fails, exactly like the dashboard’s replacement.\n\nA Contact already associated is answered in meta.skipped with reason_code ALREADY_APPLIED.\n\nRequires a full-access token (read-only tokens answer 403). Body validation runs before authorization: a foreign configuration with an invalid body (e.g. missing contacts) answers 422; only a foreign configuration with a valid body answers 404.