Connecteam
BUSINESS · PEOPLE
Users, shifts, jobs, time clocks, and pay rules in the account they connected.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
connecteam_delete_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignments_by_assignmentidWRITERemove a pay rule policy assignment, via DELETE /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments/{assignmentId}.
connecteam_delete_company_policies_v1_pay_rule_policies_by_payrulepolicyid_pay_rules_by_payruleidWRITERemove a pay rule from a pay rule policy, via DELETE /company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}.
connecteam_delete_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyidWRITEDelete a scheduling rule policy, via DELETE /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}.
connecteam_delete_company_policies_v1_users_by_userid_working_hoursWRITEDelete a user's custom working hours, via DELETE /company-policies/v1/users/{userId}/working-hours.
connecteam_delete_company_policies_v1_working_hours_policies_by_workinghourspolicyid_assignments_by_useridWRITEUnassign a user from a working hours policy, via DELETE /company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments/{userId}.
connecteam_delete_daily_info_v1_daily_note_by_noteidWRITEDelete a daily note, via DELETE /daily-info/v1/daily-note/{noteId}.
connecteam_delete_forms_v1_forms_by_formid_questions_by_questionid_options_by_optionidWRITEDelete a dropdown option, via DELETE /forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}.
connecteam_delete_jobs_v1_jobs_by_jobidWRITEDelete a job, via DELETE /jobs/v1/jobs/{jobId}.
connecteam_delete_pay_rates_v1_pay_rates_users_by_userid_by_effectivedateWRITEDelete a user's pay rate for one effective date, via DELETE /pay-rates/v1/pay-rates/users/{userId}/{effectiveDate}. Removes ONE dated pay rate, addressed by user and effective date. The user's other dated rates survive, so deleting the current one makes the previous dated rate take effect rather than leaving them unpaid.
connecteam_delete_sales_v1_transactionsWRITEDelete every sales transaction in a period, via DELETE /sales/v1/transactions. DELETES BY PERIOD, NOT BY ID, and it takes no body: `locationId`, `startTime` and `endTime` are REQUIRED query parameters and everything inside that window at that location goes. A wrong `endTime` is not a failed call, it is a wider delete that succeeds. Use 'Delete one sales transaction' when you know the id.
connecteam_delete_sales_v1_transactions_by_transactionidWRITEDelete one sales transaction, via DELETE /sales/v1/transactions/{transactionId}.
connecteam_delete_scheduler_v1_schedulers_by_schedulerid_shiftsWRITEDelete shifts by id, in bulk (scheduler v1), via DELETE /scheduler/v1/schedulers/{schedulerId}/shifts. BULK: the scheduler is named in the path and the shifts to remove in the body, as `shiftsIds` -- up to 20 per call. `notifyUsers` decides whether the assigned employees are told, which is a real-world effect rather than a formatting choice.
connecteam_delete_scheduler_v1_schedulers_by_schedulerid_shifts_by_shiftidWRITEDelete one shift (scheduler v1), via DELETE /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}.
connecteam_delete_scheduler_v1_schedulers_by_schedulerid_unavailability_by_unavailabilityidWRITEDelete a scheduler unavailability, via DELETE /scheduler/v1/schedulers/{schedulerId}/unavailability/{unavailabilityId}.
connecteam_delete_scheduler_v2_schedulers_by_schedulerid_shiftsWRITEDelete shifts by id, in bulk (scheduler v2), via DELETE /scheduler/v2/schedulers/{schedulerId}/shifts. BULK: the scheduler is named in the path and the shifts to remove in the body, as `shiftsIds` -- up to 20 per call. `notifyUsers` decides whether the assigned employees are told. The v2 shape of the same operation; pick the version the rest of your scheduler calls use.
connecteam_delete_scheduler_v2_schedulers_by_schedulerid_shifts_by_shiftidWRITEDelete one shift (scheduler v2), via DELETE /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}.
connecteam_delete_settings_v1_webhooks_by_webhookidWRITEDelete a webhook, via DELETE /settings/v1/webhooks/{webhookId}.
connecteam_delete_tasks_v1_taskboards_by_taskboardid_tasks_by_taskidWRITEDelete a task, via DELETE /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}.
connecteam_delete_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks_by_subtaskidWRITEDelete a subtask, via DELETE /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}.
connecteam_delete_time_clock_v1_time_clocks_by_timeclockid_geofences_by_fenceidWRITEDelete a geofence, via DELETE /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}.
connecteam_delete_time_clock_v1_time_clocks_by_timeclockid_time_activities_by_timeactivityidWRITEDelete a time activity, via DELETE /time-clock/v1/time-clocks/{timeClockId}/time-activities/{timeActivityId}.
connecteam_delete_users_v1_custom_fieldsWRITEDelete user custom fields, via DELETE /users/v1/custom-fields. BULK: `customFieldIds` in the body, up to 100 per call. Deleting a custom field removes the VALUE it holds on every user, not just the field definition.
connecteam_delete_users_v1_custom_fields_by_customfieldid_options_by_optionidWRITEDelete a user custom field option, via DELETE /users/v1/custom-fields/{customFieldId}/options/{optionId}.
connecteam_delete_users_v1_pending_usersWRITEDelete pending users, in bulk, via DELETE /users/v1/pending-users. BULK: `ids` in the body. A pending user is someone invited who has not yet joined; deleting one withdraws the invitation.
connecteam_delete_users_v1_pending_users_by_pendinguseridWRITEDelete a pending user, via DELETE /users/v1/pending-users/{pendingUserId}.
connecteam_delete_users_v1_smart_groups_by_smartgroupidWRITEDelete a smart group, via DELETE /users/v1/smart-groups/{smartGroupId}.
connecteam_delete_users_v1_usersWRITEArchive or delete users, in bulk, via DELETE /users/v1/users. BULK, AND IT IS BOTH ARCHIVE AND DELETE. The body is a plain JSON ARRAY of user ids, and `deletionType` decides which of the two happens -- an archive is reversible in the product, a delete is not. There is no per-user confirmation in between: every id in the array is acted on. Send the ids you mean and read `deletionType` before you do.
connecteam_delete_users_v1_users_by_useridWRITEDelete one user, via DELETE /users/v1/users/{userId}. Deletes ONE user, addressed entirely by path, with no body and no `deletionType` -- so this is the delete, not the archive. Use 'Archive or delete users, in bulk' when you want the reversible option.
connecteam_get_assets_v1_asset_by_assetidREADGet an asset's metadata, via GET /assets/v1/asset/{assetId}.
connecteam_get_attachments_v1_files_by_fileidREADGet one file's download URL, via GET /attachments/v1/files/{fileId}. Returns a signed DOWNLOAD URL and the file's metadata, never the bytes. Fetch the URL yourself; it is time-limited.
connecteam_get_chat_v1_conversationsREADList chat conversations, via GET /chat/v1/conversations.
connecteam_get_company_policies_v1_pay_rule_policiesREADList pay rule policies, via GET /company-policies/v1/pay-rule-policies.
connecteam_get_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignmentsREADList a pay rule policy's assignments, via GET /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments.
connecteam_get_company_policies_v1_pay_rulesREADList pay rules, via GET /company-policies/v1/pay-rules.
connecteam_get_company_policies_v1_scheduling_rule_policiesREADList scheduling rule policies, via GET /company-policies/v1/scheduling-rule-policies.
connecteam_get_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid_assignmentsREADList a scheduling rule policy's assignments, via GET /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments.
connecteam_get_company_policies_v1_users_by_userid_scheduling_rule_policiesREADList a user's scheduling rule policies, via GET /company-policies/v1/users/{userId}/scheduling-rule-policies.
connecteam_get_company_policies_v1_users_by_userid_working_hoursREADGet a user's working hours, via GET /company-policies/v1/users/{userId}/working-hours.
connecteam_get_company_policies_v1_working_hours_policiesREADList working hours policies, via GET /company-policies/v1/working-hours-policies.
connecteam_get_daily_info_v1_daily_note_by_noteidREADGet a daily note, via GET /daily-info/v1/daily-note/{noteId}.
connecteam_get_forms_v1_formsREADList forms, via GET /forms/v1/forms.
connecteam_get_forms_v1_forms_by_formidREADGet a form, via GET /forms/v1/forms/{formId}.
connecteam_get_forms_v1_forms_by_formid_form_submissionsREADList form submissions, via GET /forms/v1/forms/{formId}/form-submissions.
connecteam_get_forms_v1_forms_by_formid_form_submissions_by_formsubmissionidREADGet a form submission, via GET /forms/v1/forms/{formId}/form-submissions/{formSubmissionId}.
connecteam_get_forms_v1_forms_by_formid_questions_by_questionidREADList a dropdown question's options, via GET /forms/v1/forms/{formId}/questions/{questionId}.
connecteam_get_jobs_v1_custom_fieldsREADList job custom fields, via GET /jobs/v1/custom-fields.
connecteam_get_jobs_v1_jobsREADList jobs, via GET /jobs/v1/jobs.
connecteam_get_jobs_v1_jobs_by_jobidREADGet a job, via GET /jobs/v1/jobs/{jobId}.
connecteam_get_meREADGet the connected Connecteam account, via GET /me. The connection's health check and the smallest possible read: it returns the company's own id and name. It is the endpoint this provider's connect probe calls, and the one worth calling first when a tool fails, because its answer separates the two failures a Connecteam 401/403 can mean -- measured 2026-09-25, a WRONG key answers 403 {"detail":"Invalid API key"} while a MISSING header answers 401.
connecteam_get_onboarding_v1_packsREADList onboarding packs, via GET /onboarding/v1/packs.
connecteam_get_onboarding_v1_packs_by_packid_assignmentsREADList an onboarding pack's assignments, via GET /onboarding/v1/packs/{packId}/assignments.
connecteam_get_pay_rates_v1_pay_ratesREADList pay rates, via GET /pay-rates/v1/pay-rates.
connecteam_get_publishers_v1_publishersREADList publishers, via GET /publishers/v1/publishers.
connecteam_get_sales_v1_daily_salesREADList daily sales, via GET /sales/v1/daily-sales.
connecteam_get_sales_v1_locationsREADList sales locations, via GET /sales/v1/locations.
connecteam_get_scheduler_v1_schedulersREADList schedulers, via GET /scheduler/v1/schedulers.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_custom_fieldsREADList a scheduler's shift custom fields, via GET /scheduler/v1/schedulers/{schedulerId}/custom-fields.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shift_layersREADList a scheduler's shift layers, via GET /scheduler/v1/schedulers/{schedulerId}/shift-layers.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shift_layers_by_layerid_valuesREADList a shift layer's values, via GET /scheduler/v1/schedulers/{schedulerId}/shift-layers/{layerId}/values.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shiftsREADList shifts (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts. `startTime` and `endTime` are REQUIRED (Unix seconds): Connecteam will not return an unbounded shift history. The v1 shape -- see 'List shifts (scheduler v2)' for the newer one; both are live and they are not interchangeable, so read shifts back with the version you wrote them with.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts_auto_assign_by_autoassignrequestidREADGet a shift auto-assign request's status (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts_by_shiftidREADGet a shift (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}.
connecteam_get_scheduler_v1_schedulers_by_schedulerid_unavailabilitiesREADList a scheduler's unavailabilities, via GET /scheduler/v1/schedulers/{schedulerId}/unavailabilities.
connecteam_get_scheduler_v1_schedulers_user_unavailabilityREADList one user's unavailability (scheduler v1), via GET /scheduler/v1/schedulers/user-unavailability.
connecteam_get_scheduler_v2_schedulers_by_schedulerid_shiftsREADList shifts (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts. `startTime` and `endTime` are REQUIRED (Unix seconds). The v2 shape of the same listing; both versions are live and carry the same eight operations, so pick one and stay on it within a workflow.
connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts_auto_assign_by_autoassignrequestidREADGet a shift auto-assign request's status (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}.
connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts_by_shiftidREADGet a shift (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}.
connecteam_get_scheduler_v2_schedulers_user_unavailabilityREADList one user's unavailability (scheduler v2), via GET /scheduler/v2/schedulers/user-unavailability.
connecteam_get_settings_v1_webhooksREADList webhooks by feature type, via GET /settings/v1/webhooks.
connecteam_get_settings_v1_webhooks_by_webhookidREADGet a webhook, via GET /settings/v1/webhooks/{webhookId}.
connecteam_get_tasks_v1_taskboardsREADList task boards, via GET /tasks/v1/taskboards.
connecteam_get_tasks_v1_taskboards_by_taskboardid_labelsREADList task board labels, via GET /tasks/v1/taskboards/{taskBoardId}/labels.
connecteam_get_tasks_v1_taskboards_by_taskboardid_tasksREADList tasks, via GET /tasks/v1/taskboards/{taskBoardId}/tasks.
connecteam_get_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasksREADList a task's subtasks, via GET /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks.
connecteam_get_time_clock_breadcrumbs_v1_report_by_fileidREADGet a breadcrumbs report's status, via GET /time-clock/breadcrumbs/v1/report/{fileId}.
connecteam_get_time_clock_breadcrumbs_v1_report_by_fileid_downloadREADGet a breadcrumbs report's download link, via GET /time-clock/breadcrumbs/v1/report/{fileId}/download. Returns a signed download LINK for a finished breadcrumbs report, not the report itself. Breadcrumbs are employees' recorded GPS trails -- location data about identifiable people -- so treat the link as personal data and do not paste it anywhere it will outlive its expiry.
connecteam_get_time_clock_v1_time_clocksREADList time clocks, via GET /time-clock/v1/time-clocks.
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_geofencesREADList geofences, via GET /time-clock/v1/time-clocks/{timeClockId}/geofences.
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_geofences_by_fenceidREADGet a geofence, via GET /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}.
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_manual_breaksREADList manual break types, via GET /time-clock/v1/time-clocks/{timeClockId}/manual-breaks.
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_shift_attachmentsREADList time-clock shift attachments, via GET /time-clock/v1/time-clocks/{timeClockId}/shift-attachments.
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_time_activitiesREADList time activities, via GET /time-clock/v1/time-clocks/{timeClockId}/time-activities.
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_timesheetREADGet timesheet total hours, via GET /time-clock/v1/time-clocks/{timeClockId}/timesheet. Returns TOTALS for the window, not the individual time activities. Use 'List time activities' when you need the underlying punches.
connecteam_get_time_off_v1_policy_typesREADList time-off policy types, via GET /time-off/v1/policy-types.
connecteam_get_time_off_v1_policy_types_by_policytypeid_balancesREADList time-off balances for a policy type, via GET /time-off/v1/policy-types/{policyTypeId}/balances.
connecteam_get_time_off_v1_requestsREADList time-off requests, via GET /time-off/v1/requests.
connecteam_get_users_v1_custom_field_categoriesREADList user custom field categories, via GET /users/v1/custom-field-categories.
connecteam_get_users_v1_custom_fieldsREADList user custom fields, via GET /users/v1/custom-fields.
connecteam_get_users_v1_custom_fields_by_customfieldid_optionsREADList a user custom field's options, via GET /users/v1/custom-fields/{customFieldId}/options.
connecteam_get_users_v1_pending_usersREADList pending users, via GET /users/v1/pending-users.
connecteam_get_users_v1_performance_indicatorsREADList performance indicators, via GET /users/v1/performance-indicators.
connecteam_get_users_v1_smart_group_segmentsREADList smart group segments, via GET /users/v1/smart-group-segments.
connecteam_get_users_v1_smart_groupsREADList smart groups, via GET /users/v1/smart-groups.
connecteam_get_users_v1_usersREADList users, via GET /users/v1/users. Paged: `limit` (default 10, maximum 500) and `offset`, where the response's `paging.offset` is what to pass next. `userStatus` defaults to `active`, so ARCHIVED USERS ARE ABSENT unless you ask for `archived` or `all` -- the most common reason a user 'is missing'.
connecteam_get_users_v1_users_by_userid_assignmentsREADList a user's assignments, via GET /users/v1/users/{userId}/assignments.
connecteam_post_attachments_v1_files_download_urlWRITEGet download URLs for several files, via POST /attachments/v1/files/download-url. The batch form of 'Get one file's download URL' -- several file ids in, several signed URLs out. A POST because the id list is a body, not because it changes anything; it is catalogued as a write for that reason and `attachments.read` is the permission it needs.
connecteam_post_attachments_v1_files_generate_upload_urlWRITEStart a file upload (get a signed upload URL), via POST /attachments/v1/files/generate-upload-url. STEP 1 OF 3, and Agentic Fabriq carries no bytes in either direction. This returns a SIGNED URL your own client PUTs the file to; then call 'Finish a file upload' with the file id to register it with Connecteam. Nothing here accepts or returns file content -- a tool argument and a tool result are JSON in a model's context window.
connecteam_post_chat_v1_conversationsWRITECreate a chat conversation, via POST /chat/v1/conversations.
connecteam_post_chat_v1_conversations_by_conversationid_messageWRITESend a message to a chat conversation, via POST /chat/v1/conversations/{conversationId}/message. SENDS A REAL MESSAGE to real employees, immediately and irreversibly: there is no unsend on this API. Not marked destructive -- nothing is deleted -- but it is the tool on this surface most likely to have an effect a customer cannot take back.
connecteam_post_chat_v1_conversations_privatemessage_by_useridWRITESend a private chat message to a user, via POST /chat/v1/conversations/privateMessage/{userId}. Sends a one-to-one message to that user, immediately and irreversibly. If no private conversation exists yet Connecteam opens one, so this also creates a conversation as a side effect.
connecteam_post_daily_info_v1_daily_notesWRITECreate daily notes, via POST /daily-info/v1/daily-notes.
connecteam_post_forms_v1_forms_by_formid_questions_by_questionidWRITEAdd options to a dropdown question, via POST /forms/v1/forms/{formId}/questions/{questionId}.
connecteam_post_jobs_v1_jobsWRITECreate jobs, via POST /jobs/v1/jobs.
connecteam_post_onboarding_v1_packs_by_packid_assignmentsWRITEAssign users to an onboarding pack, via POST /onboarding/v1/packs/{packId}/assignments.
connecteam_post_sales_v1_locationsWRITECreate a sales location, via POST /sales/v1/locations.
connecteam_post_sales_v1_transactionsWRITECreate sales transactions, via POST /sales/v1/transactions.
connecteam_post_scheduler_v1_schedulers_by_schedulerid_shiftsWRITECreate shifts (scheduler v1), via POST /scheduler/v1/schedulers/{schedulerId}/shifts.
connecteam_post_scheduler_v1_schedulers_by_schedulerid_shifts_auto_assignWRITEStart shift auto-assign (scheduler v1), via POST /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign. ASYNCHRONOUS. It answers with a request id and returns before any shift is assigned; poll 'Get a shift auto-assign request's status (scheduler v1)' with that id until it reports completion.
connecteam_post_scheduler_v1_schedulers_by_schedulerid_unavailabilityWRITECreate a scheduler unavailability, via POST /scheduler/v1/schedulers/{schedulerId}/unavailability.
connecteam_post_scheduler_v2_schedulers_by_schedulerid_shiftsWRITECreate shifts (scheduler v2), via POST /scheduler/v2/schedulers/{schedulerId}/shifts.
connecteam_post_scheduler_v2_schedulers_by_schedulerid_shifts_auto_assignWRITEStart shift auto-assign (scheduler v2), via POST /scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign. ASYNCHRONOUS. It answers with a request id and returns before any shift is assigned; poll 'Get a shift auto-assign request's status (scheduler v2)' with that id until it reports completion.
connecteam_post_settings_v1_webhooksWRITECreate a webhook, via POST /settings/v1/webhooks.
connecteam_post_tasks_v1_taskboards_by_taskboardid_tasksWRITECreate a task, via POST /tasks/v1/taskboards/{taskBoardId}/tasks.
connecteam_post_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasksWRITECreate a subtask, via POST /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks.
connecteam_post_time_clock_breadcrumbs_v1_reportWRITEStart a breadcrumbs (GPS trail) report, via POST /time-clock/breadcrumbs/v1/report. ASYNCHRONOUS, and it produces employee LOCATION HISTORY. It starts a report and answers with a file id; poll 'Get a breadcrumbs report's status' until it is ready, then 'Get a breadcrumbs report's download link'. Catalogued as a write because it creates a report artifact, though it changes no time-clock data.
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_clock_inWRITEClock a user in, via POST /time-clock/v1/time-clocks/{timeClockId}/clock-in.
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_clock_outWRITEClock a user out, via POST /time-clock/v1/time-clocks/{timeClockId}/clock-out.
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_geofencesWRITECreate geofences, via POST /time-clock/v1/time-clocks/{timeClockId}/geofences.
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_manual_breaks_by_manualbreakid_clock_inWRITEStart a manual break, via POST /time-clock/v1/time-clocks/{timeClockId}/manual-breaks/{manualBreakId}/clock-in.
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_manual_breaks_clock_outWRITEEnd a manual break, via POST /time-clock/v1/time-clocks/{timeClockId}/manual-breaks/clock-out.
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_time_activitiesWRITECreate time activities, via POST /time-clock/v1/time-clocks/{timeClockId}/time-activities.
connecteam_post_time_off_v1_requestsWRITECreate a time-off request, via POST /time-off/v1/requests.
connecteam_post_users_v1_adminsWRITEInvite an admin, via POST /users/v1/admins. GRANTS ADMINISTRATIVE ACCESS to the Connecteam account. An invited admin can see and change what admins can see and change -- including, on an owner-level account, the API settings this connection's own key lives in. Catalogued as a write because it creates a record; read it as a permission change.
connecteam_post_users_v1_custom_fieldsWRITECreate user custom fields, via POST /users/v1/custom-fields.
connecteam_post_users_v1_custom_fields_by_customfieldid_optionsWRITEAdd options to a user custom field, via POST /users/v1/custom-fields/{customFieldId}/options.
connecteam_post_users_v1_pending_usersWRITECreate pending users, via POST /users/v1/pending-users.
connecteam_post_users_v1_smart_group_segmentsWRITECreate a smart group segment, via POST /users/v1/smart-group-segments.
connecteam_post_users_v1_smart_groupsWRITECreate a smart group, via POST /users/v1/smart-groups.
connecteam_post_users_v1_usersWRITECreate users, via POST /users/v1/users. BULK CREATE over a JSON ARRAY. Creating a user in Connecteam can send them an invitation, so this reaches real people; check the array before sending it rather than after.
connecteam_post_users_v1_users_by_userid_notesWRITEAdd a note to a user, via POST /users/v1/users/{userId}/notes.
connecteam_post_users_v1_users_by_userid_payslipsWRITEAdd a payslip to a user, via POST /users/v1/users/{userId}/payslips. Attaches a payslip document to one employee. Payroll data about an identifiable person: the file arrives through the attachments flow, and who can read it afterwards is Connecteam's own permission model, not this connection's action picker.
connecteam_put_attachments_v1_files_complete_upload_by_fileidWRITEFinish a file upload, via PUT /attachments/v1/files/complete-upload/{fileId}. STEP 3 OF 3: tells Connecteam the bytes have landed at the signed URL 'Start a file upload' issued. Calling it before the upload finished registers a file that is not there.
connecteam_put_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignmentsWRITEAssign a user to a pay rule policy, via PUT /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments.
connecteam_put_company_policies_v1_pay_rule_policies_by_payrulepolicyid_pay_rules_by_payruleidWRITEAdd a pay rule to a pay rule policy, via PUT /company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}.
connecteam_put_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid_assignmentsWRITEAssign users to a scheduling rule policy, via PUT /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments.
connecteam_put_company_policies_v1_users_by_userid_working_hoursWRITESet a user's custom working hours, via PUT /company-policies/v1/users/{userId}/working-hours.
connecteam_put_company_policies_v1_working_hours_policies_by_workinghourspolicyid_assignmentsWRITEAssign users to a working hours policy, via PUT /company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments.
connecteam_put_daily_info_v1_daily_note_by_noteidWRITEUpdate a daily note, via PUT /daily-info/v1/daily-note/{noteId}.
connecteam_put_forms_v1_forms_by_formid_form_submissions_by_formsubmissionidWRITEUpdate a form submission, via PUT /forms/v1/forms/{formId}/form-submissions/{formSubmissionId}.
connecteam_put_forms_v1_forms_by_formid_questions_by_questionid_options_by_optionidWRITEUpdate a dropdown option, via PUT /forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}.
connecteam_put_jobs_v1_jobs_by_jobidWRITEUpdate a job, via PUT /jobs/v1/jobs/{jobId}.
connecteam_put_pay_rates_v1_pay_ratesWRITESet pay rates, via PUT /pay-rates/v1/pay-rates. Writes what people are PAID, effective from a date. It is an upsert over the ids in the body rather than a patch of one row, so send the whole intended state for each user; a partial body is a pay change, not a no-op.
connecteam_put_sales_v1_locations_by_locationid_daily_salesWRITESet a location's projected daily sales, via PUT /sales/v1/locations/{locationId}/daily-sales.
connecteam_put_scheduler_v1_schedulers_by_schedulerid_shiftsWRITEUpdate shifts (scheduler v1), via PUT /scheduler/v1/schedulers/{schedulerId}/shifts.
connecteam_put_scheduler_v2_schedulers_by_schedulerid_shiftsWRITEUpdate shifts (scheduler v2), via PUT /scheduler/v2/schedulers/{schedulerId}/shifts.
connecteam_put_settings_v1_webhooks_by_webhookidWRITEUpdate a webhook, via PUT /settings/v1/webhooks/{webhookId}.
connecteam_put_tasks_v1_taskboards_by_taskboardid_tasks_by_taskidWRITEUpdate a task, via PUT /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}.
connecteam_put_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks_by_subtaskidWRITEUpdate a subtask, via PUT /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}.
connecteam_put_time_clock_v1_time_clocks_by_timeclockid_time_activitiesWRITEUpdate time activities, via PUT /time-clock/v1/time-clocks/{timeClockId}/time-activities.
connecteam_put_time_clock_v1_time_clocks_by_timeclockid_users_by_userid_lock_daysWRITELock or unlock a user's timesheet days, via PUT /time-clock/v1/time-clocks/{timeClockId}/users/{userId}/lock-days. Locking a day freezes that user's timesheet for it -- neither they nor an admin can edit those hours until it is unlocked -- which is normally done once payroll has been run. The same tool unlocks.
connecteam_put_time_off_v1_policy_types_by_policytypeid_balances_by_useridWRITESet a user's time-off balance, via PUT /time-off/v1/policy-types/{policyTypeId}/balances/{userId}. Sets a balance to a value rather than adding to it, so a read-modify-write built on a stale read silently overwrites whatever accrued in between.
connecteam_put_time_off_v1_requests_by_requestidWRITEUpdate a time-off request, via PUT /time-off/v1/requests/{requestId}.
connecteam_put_time_off_v1_time_off_policies_by_timeoffpolicyid_assignmentsWRITEAssign a user to a time-off policy, via PUT /time-off/v1/time-off-policies/{timeOffPolicyId}/assignments.
connecteam_put_users_v1_custom_fieldsWRITEUpdate user custom fields, via PUT /users/v1/custom-fields.
connecteam_put_users_v1_custom_fields_by_customfieldid_options_by_optionidWRITEUpdate a user custom field option, via PUT /users/v1/custom-fields/{customFieldId}/options/{optionId}.
connecteam_put_users_v1_pending_usersWRITEUpdate pending users' status, in bulk, via PUT /users/v1/pending-users. BULK, and this is the STATUS transition rather than the field edit -- it is how an invitation is resent or withdrawn across several pending users at once. Use 'Update a pending user' to change one person's details.
connecteam_put_users_v1_pending_users_by_pendinguseridWRITEUpdate a pending user, via PUT /users/v1/pending-users/{pendingUserId}.
connecteam_put_users_v1_smart_groups_by_smartgroupidWRITEUpdate a smart group, via PUT /users/v1/smart-groups/{smartGroupId}.
connecteam_put_users_v1_usersWRITEUpdate users, via PUT /users/v1/users. BULK UPDATE over a JSON ARRAY of users, each naming its own id. Fields you omit for a user are left alone, but every user in the array is written, so an array assembled from a stale read writes stale values back.
connecteam_put_users_v1_users_by_userid_performance_by_dateWRITESet a user's performance for one date, via PUT /users/v1/users/{userId}/performance/{date}.
Often connected alongside
Put Connecteam behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.