---
title: "Update sender profile LinkedIn sync settings"
method: PATCH
path: "/api/sender-profiles/{sid}/linkedin/sync"
tags: ["sender_profiles"]
---

# Update sender profile LinkedIn sync settings

`PATCH /api/sender-profiles/{sid}/linkedin/sync`

## Request

- Base URL: `https://beta.getsales.io/unibox/v1`
- URL: `https://beta.getsales.io/unibox/v1/api/sender-profiles/{sid}/linkedin/sync`
- Auth: HTTP bearer and API key in header `Team-SID`

Change the sender profile's LinkedIn sync settings on gtm-api: window replaces the weekly hours, intervals a sync's interval in minutes (its floor or longer, at most 10080; null = the default); a field left out keeps its value. Answers the settings after the write. An interval below the floor is 422 on its field. Refusals in error.context.reason: 403 gtm_scope_missing, 409 sender_profile_has_no_linkedin, 429 gtm_busy, 503 gtm_unavailable.

Contract:
- MCP tool `update_sender_profile_linkedin_sync`, registry package `mcp.unibox/sender_profiles`, mount `unibox.sender-profiles`.
- Operation `action`, response envelope `action`.
- Flags: none.

## Path parameters

- `sid` string, required: Sender profile sid (ub_sp_…).

## Request body

- UpdateSenderProfileLinkedinSyncRequest: Request body of `update_sender_profile_linkedin_sync`.
  - `window` object[]: Replaces the weekly hours recurring syncs run in, in the workspace's zone: at most one block per day, the end after the start; an empty list = any time. Left out, the hours stay.
    - `day_of_week` integer, required: ISO day of the week: 1 = Monday, 7 = Sunday.
    - `start_minute` integer, required: Minute of the day the block opens (0 = 00:00, 480 = 08:00).
    - `end_minute` integer, required: Minute of the day the block closes, after start_minute (1200 = 20:00, 1440 = the end of the day).
  - `intervals` object: The intervals to change, by sync; a sync left out keeps its own.
    - `conversations` integer, nullable: Minutes between two LinkedIn inbox syncs, 15 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 180.
    - `sales_navigator_conversations` integer, nullable: Minutes between two Sales Navigator inbox syncs, 15 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 120.
    - `recruiter_conversations` integer, nullable: Minutes between two Recruiter inbox syncs, 15 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 120.
    - `connections` integer, nullable: Minutes between two connections syncs, 60 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 180.
    - `connection_requests` integer, nullable: Minutes between two sent invites syncs, 60 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 720.
    - `connection_invitations` integer, nullable: Minutes between two received invites syncs, 60 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 720.
    - `premium_check` integer, nullable: Minutes between two subscription and InMail credits syncs, 60 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 360.
    - `snapshot_check` integer, nullable: Minutes between two profile syncs, 1320 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 1320.
    - `followers` integer, nullable: Minutes between two followers re-read syncs, 60 (the floor) or longer, at most 10080 (a week); null puts it back on the default, 1440.

## Response `200`

`action` success envelope.

- UpdateSenderProfileLinkedinSyncResponse
  - `success` true, required
  - `operation` 'action', required
  - `action` string, required: kebab-case verb; matches the route segment.
  - `item` unknown, required
  - `result` object, required
    - `linkedin_account_sid` string, required: The sender profile's LinkedIn account (ln_ac_…) the settings belong to.
    - `timezone` string, required: The IANA zone the stored hours are read in.
    - `workspace_timezone` string, required: The workspace's zone (canonical IANA name): update_sender_profile_linkedin_sync stores the hours in it.
    - `window` object[], required: The weekly hours recurring syncs run in, in day order; an empty list = any time. A new account's first sync ignores them, and sends never wait for them.
      - `day_of_week` integer, required: ISO day of the week: 1 = Monday, 7 = Sunday.
      - `start_minute` integer, required: Minute of the day the block opens (0 = 00:00, 480 = 08:00).
      - `end_minute` integer, required: Minute of the day the block closes, after start_minute (1200 = 20:00, 1440 = the end of the day).
    - `intervals` object[], required: Each sync the account runs, the inboxes first.
      - `key` string, required: The sync: conversations (the LinkedIn inbox), sales_navigator_conversations and recruiter_conversations (only with that licence), connections, connection_requests (sent invites), connection_invitations (received invites), premium_check (subscription and InMail credits), snapshot_check (the profile), followers.
      - `interval_minutes` integer, required: How often the sync runs, no sooner than this: the stored interval, else the default, never below the floor.
      - `default_minutes` integer, required: The platform default: what the sync runs at when nothing is stored for it (null in update_sender_profile_linkedin_sync).
      - `floor_minutes` integer, required: The shortest interval the sync accepts (2026-10-17): 15 for the three inboxes (real-time), 60 for the rest, 1320 for the profile.
  - `meta` object, required
    - `trace_id` string, required: UUID v7; same 128-bit value as the X-Trace-Id header.
    - `span_id` string, required: 16 hex chars, root span of this request.
    - `timestamp` string, required: ISO 8601 UTC (Y-m-dTH:i:sZ), response time.
    - `duration_ms` integer, required: Server-side wall clock.
    - `team_sid` string, nullable: The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends.
    - `actor_type` string, nullable: user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends.

## Other responses

- `4XX`: MCP error envelope. `error.code` is one of validation_failed, nothing_to_update, not_found, relation_not_found, invalid_transition, limit_exceeded, payment_required, duplicate_rejected, conflict, delete_blocked, unauthorized, forbidden, rate_limited, not_implemented.
- `5XX`: MCP error envelope with `error.code` internal_error or service_unavailable.

---

[API](https://skmtc.dev/getsales/apis/getsales-public-contract-gs-service-unibox.md) - [All operations](https://skmtc.dev/getsales/apis/getsales-public-contract-gs-service-unibox/llms.txt) - [OpenAPI document](https://skmtc.dev/getsales/apis/getsales-public-contract-gs-service-unibox/revisions/8f1bc317897f?raw)
