generated: '2026-08-01' method: derived source: openapi/connecteam-openapi-original.json note: 'Entity graph derived from the OpenAPI: relationships come from *Id / *Ids reference fields on component schemas, and the domain map comes from the URI path tree. Connecteam nests most resources under a parent identifier (schedulerId, timeClockId, taskBoardId, formId, userId), so the path hierarchy is itself the primary relationship signal.' summary: component_schemas: 582 domains: 19 relationships_derived: 194 id_prefixes: Connecteam uses opaque numeric ids for users/schedulers/time clocks and 24-char hex ObjectIds for time activities and shifts; no typed id prefixes. domains: - domain: me paths: 1 collections: [] path_identifiers: [] - domain: settings paths: 2 collections: - webhooks path_identifiers: - webhookId - domain: attachments paths: 4 collections: - complete-upload - download-url - files - generate-upload-url path_identifiers: - fileId - domain: forms paths: 6 collections: - form-submissions - forms - options - questions path_identifiers: - formId - formSubmissionId - optionId - questionId - domain: scheduler paths: 17 collections: - auto-assign - custom-fields - schedulers - shift-layers - shifts - unavailabilities - unavailability - user-unavailability - values path_identifiers: - autoAssignRequestId - layerId - schedulerId - shiftId - unavailabilityId - domain: jobs paths: 3 collections: - custom-fields - jobs path_identifiers: - jobId - domain: users paths: 18 collections: - admins - assignments - custom-field-categories - custom-fields - notes - options - payslips - pending-users - performance - performance-indicators - smart-group-segments - smart-groups - users path_identifiers: - customFieldId - date - optionId - pendingUserId - smartGroupId - userId - domain: company-policies paths: 2 collections: - assignments - pay-rule-policies path_identifiers: - payRulePolicyId - domain: time-off paths: 6 collections: - assignments - balances - policy-types - requests - time-off-policies path_identifiers: - policyTypeId - requestId - timeOffPolicyId - userId - domain: time-clock paths: 16 collections: - breadcrumbs - clock-in - clock-out - download - geofences - lock-days - manual-breaks - report - shift-attachments - time-activities - time-clocks - timesheet - users path_identifiers: - fenceId - fileId - manualBreakId - timeActivityId - timeClockId - userId - domain: pay-rates paths: 2 collections: - pay-rates - users path_identifiers: - effectiveDate - userId - domain: tasks paths: 6 collections: - labels - sub-tasks - taskboards - tasks path_identifiers: - subTaskId - taskBoardId - taskId - domain: sales paths: 5 collections: - daily-sales - locations - transactions path_identifiers: - locationId - transactionId - domain: daily-info paths: 2 collections: - daily-note - daily-notes path_identifiers: - noteId - domain: chat paths: 3 collections: - conversations - message - privateMessage path_identifiers: - conversationId - userId - domain: publishers paths: 1 collections: - publishers path_identifiers: [] - domain: assets paths: 1 collections: - asset path_identifiers: - assetId - domain: onboarding paths: 2 collections: - assignments - packs path_identifiers: - packId - domain: oauth paths: 1 collections: - token path_identifiers: [] core_schemas: - schema: HTTPValidationError referenced: 144 - schema: GpsData referenced: 27 - schema: ManualBreakActivityResponse referenced: 18 - schema: TimeOffActivityResponse referenced: 18 - schema: ShiftActivityResponse referenced: 18 - schema: PagingResponseModel referenced: 17 - schema: APIResponse_BaseResponse_ referenced: 12 - schema: ValidationErrorResponse referenced: 12 - schema: TimeActivityTimePointResponse referenced: 10 - schema: GpsDataV2 referenced: 9 - schema: MultipleChoiceAnswer referenced: 8 - schema: NumberAnswer referenced: 8 - schema: OpenEndedAnswer referenced: 8 - schema: EmailAnswer referenced: 8 - schema: YesNoAnswer referenced: 8 - schema: PhoneNumberAnswer referenced: 8 - schema: ScannerAnswer referenced: 8 - schema: ImageSelectionAnswer referenced: 8 - schema: LocationAnswer referenced: 8 - schema: AudioAnswer referenced: 8 - schema: TaskAnswer referenced: 8 - schema: DateTimeAnswer referenced: 8 - schema: RatingAnswer referenced: 8 - schema: ImageAnswer referenced: 8 - schema: SignatureAnswer referenced: 8 - schema: FilesAnswer referenced: 8 - schema: SliderAnswer referenced: 8 - schema: FormulaAnswer referenced: 8 - schema: VideoAnswer referenced: 8 - schema: DescriptionAnswer referenced: 8 relationships: - from: AssetAssignments to: User kind: has_many via: userIds - from: AssetPermissions to: User kind: belongs_to via: userId - from: AssignDataApi to: User kind: has_many via: userIds - from: AssignDataIn to: User kind: has_many via: userIds - from: AssignmentResponse to: User kind: belongs_to via: userId - from: AssignmentsCreateRequest to: User kind: has_many via: userIds - from: AudioAnswer to: Question kind: belongs_to via: questionId - from: AudioRecordingQuestion to: Question kind: belongs_to via: questionId - from: AvailabilityCreatedStatusWebhookResponse to: Scheduler kind: belongs_to via: schedulerId - from: AvailabilityDeletedStatusWebhookResponse to: Scheduler kind: belongs_to via: schedulerId - from: AvailabilityStatusDataResponse to: User kind: belongs_to via: userId - from: BaseCustomField to: CustomField kind: belongs_to via: customFieldId - from: BaseCustomFieldV2 to: CustomField kind: belongs_to via: customFieldId - from: BaseJobResponse to: Job kind: belongs_to via: jobId - from: Body_delete_custom_fields_users_v1_custom_fields_delete to: CustomField kind: has_many via: customFieldIds - from: BreadcrumbsReportResponse to: File kind: belongs_to via: fileId - from: BulkDeleteCustomFieldResponse to: CustomField kind: has_many via: customFieldIds - from: ClockInRequest to: Job kind: belongs_to via: jobId - from: ClockInRequest to: User kind: belongs_to via: userId - from: ClockOutRequest to: User kind: belongs_to via: userId - from: CreateTaskRequest to: Label kind: has_many via: labelIds - from: CreateTaskRequest to: User kind: has_many via: userIds - from: CreateTaskResponse to: Label kind: has_many via: labelIds - from: CreateTaskResponse to: User kind: has_many via: userIds - from: CustomFieldResponse to: CustomField kind: belongs_to via: customFieldId - from: CustomFieldResponseV2 to: CustomField kind: belongs_to via: customFieldId - from: DateQuestion to: Question kind: belongs_to via: questionId - from: DateTimeAnswer to: Question kind: belongs_to via: questionId - from: DescriptionAnswer to: Question kind: belongs_to via: questionId - from: DescriptionQuestion to: Question kind: belongs_to via: questionId - from: EmailAnswer to: Question kind: belongs_to via: questionId - from: EmailQuestion to: Question kind: belongs_to via: questionId - from: FileAttachmentRequest to: File kind: belongs_to via: fileId - from: FileCompleteUploadResponse to: File kind: belongs_to via: fileId - from: FileQuestion to: Question kind: belongs_to via: questionId - from: FileURLResponse to: File kind: belongs_to via: fileId - from: FilesAnswer to: Question kind: belongs_to via: questionId - from: FormResponse to: Form kind: belongs_to via: formId - from: FormSubmissionAnswersResponse to: Form kind: belongs_to via: formId - from: FormSubmissionAnswersResponse to: FormSubmission kind: belongs_to via: formSubmissionId - from: FormSubmissionManagerFieldsResponse to: Form kind: belongs_to via: formId - from: FormSubmissionManagerFieldsResponse to: FormSubmission kind: belongs_to via: formSubmissionId - from: FormSubmissionResponse to: Form kind: belongs_to via: formId - from: FormSubmissionResponse to: FormSubmission kind: belongs_to via: formSubmissionId - from: FormulaAnswer to: Question kind: belongs_to via: questionId - from: FormulaQuestion to: Question kind: belongs_to via: questionId - from: GeoFenceEntity to: Job kind: has_many via: jobIds - from: GeoFenceWithFenceIdEntity to: Job kind: has_many via: jobIds - from: GetFileURLResponse to: File kind: belongs_to via: fileId - from: GroupAnswer to: Question kind: belongs_to via: questionId - from: GroupQuestion to: Question kind: belongs_to via: questionId - from: ImageAnswer to: Question kind: belongs_to via: questionId - from: ImageAttachmentRequest to: File kind: belongs_to via: fileId - from: ImageQuestion to: Question kind: belongs_to via: questionId - from: ImageSelectionAnswer to: Question kind: belongs_to via: questionId - from: ImageSelectionQuestion to: Question kind: belongs_to via: questionId - from: InviteAdminsRequest to: User kind: belongs_to via: userId - from: LocationAnswer to: Question kind: belongs_to via: questionId - from: LocationQuestion to: Question kind: belongs_to via: questionId - from: LockDaysPutResponse to: User kind: belongs_to via: userId - from: ManagerFieldOwner to: User kind: belongs_to via: userId - from: ManagerFieldOwnerRequest to: User kind: belongs_to via: userId - from: ManualBreakClockInRequest to: User kind: belongs_to via: userId - from: ManualBreakClockOutRequest to: User kind: belongs_to via: userId - from: MultiGroupAnswer to: Question kind: belongs_to via: questionId - from: MultipleChoiceAnswer to: Question kind: belongs_to via: questionId - from: MultipleChoiceQuestion to: Question kind: belongs_to via: questionId - from: NumberAnswer to: Question kind: belongs_to via: questionId - from: NumberQuestion to: Question kind: belongs_to via: questionId - from: OpenEndedAnswer to: Question kind: belongs_to via: questionId - from: OpenEndedQuestion to: Question kind: belongs_to via: questionId - from: PayRateByUserRequest to: User kind: belongs_to via: userId - from: PayRateByUserResponse to: User kind: belongs_to via: userId - from: PayRuleAssignmentRequest to: User kind: belongs_to via: userId - from: PayRuleAssignmentResponse to: Assignment kind: belongs_to via: assignmentId - from: PayslipCreateRequest to: File kind: belongs_to via: fileId - from: PendingUserDataResponse to: User kind: belongs_to via: userId - from: PendingUserRequest to: User kind: belongs_to via: userId - from: PhoneNumberAnswer to: Question kind: belongs_to via: questionId - from: PhoneNumberQuestion to: Question kind: belongs_to via: questionId - from: PublicBaseWebhookResponse to: User kind: belongs_to via: userId - from: RatingAnswer to: Question kind: belongs_to via: questionId - from: RatingQuestion to: Question kind: belongs_to via: questionId - from: ResponseTask to: Label kind: has_many via: labelIds - from: ResponseTask to: User kind: has_many via: userIds - from: ScannerAnswer to: Question kind: belongs_to via: questionId - from: ScannerQuestion to: Question kind: belongs_to via: questionId - from: SchedulerResponse to: Scheduler kind: belongs_to via: schedulerId - from: SchedulerUnavailabilityResponse to: User kind: belongs_to via: userId - from: ShiftActivityResponse to: Job kind: belongs_to via: jobId - from: ShiftCreateRequest to: Job kind: belongs_to via: jobId - from: ShiftCreatedWebhookResponse to: Scheduler kind: belongs_to via: schedulerId - from: ShiftDeleteResponse to: Shift kind: belongs_to via: shiftId - from: ShiftDeletedWebhookResponse to: Scheduler kind: belongs_to via: schedulerId - from: ShiftEntryResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: ShiftUpdateRequest to: Job kind: belongs_to via: jobId - from: ShiftUpdateRequest to: Shift kind: belongs_to via: shiftId - from: ShiftUpdatedWebhookResponse to: Scheduler kind: belongs_to via: schedulerId - from: SignatureAnswer to: Question kind: belongs_to via: questionId - from: SignatureQuestion to: Question kind: belongs_to via: questionId - from: SliderAnswer to: Question kind: belongs_to via: questionId - from: SliderQuestion to: Question kind: belongs_to via: questionId - from: TaskAnswer to: Question kind: belongs_to via: questionId - from: TaskAttachment to: File kind: belongs_to via: fileId - from: TaskQuestion to: Question kind: belongs_to via: questionId - from: TimeActivityAdminAddWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminAddWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminAddWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminApprovedAddRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminApprovedAddRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminApprovedAddRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminApprovedClockOutOutsideGeoFenceRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminApprovedClockOutOutsideGeoFenceRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminApprovedClockOutOutsideGeoFenceRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminApprovedClockOutWithoutNfcRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminApprovedClockOutWithoutNfcRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminApprovedClockOutWithoutNfcRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminApprovedDeleteRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminApprovedDeleteRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminApprovedDeleteRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminApprovedEditRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminApprovedEditRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminApprovedEditRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminDeclinedRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminDeclinedRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminDeclinedRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminDeleteWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminDeleteWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminDeleteWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAdminEditWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAdminEditWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAdminEditWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAutoApprovedAddRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAutoApprovedAddRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAutoApprovedAddRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAutoApprovedClockOutOutsideGeoFenceRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAutoApprovedClockOutOutsideGeoFenceRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAutoApprovedClockOutOutsideGeoFenceRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAutoApprovedClockOutWithoutNfcRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAutoApprovedClockOutWithoutNfcRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAutoApprovedClockOutWithoutNfcRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAutoApprovedDeleteRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAutoApprovedDeleteRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAutoApprovedDeleteRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAutoApprovedEditRequestWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAutoApprovedEditRequestWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAutoApprovedEditRequestWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityAutoClockOutWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityAutoClockOutWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityAutoClockOutWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityClockInWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityClockInWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityClockInWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityClockOutWebhookResponse to: TimeActivity kind: belongs_to via: timeActivityId - from: TimeActivityClockOutWebhookResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeActivityClockOutWebhookResponse to: User kind: belongs_to via: userId - from: TimeActivityShiftCreateRequest to: Job kind: belongs_to via: jobId - from: TimeActivityShiftUpdateRequest to: Job kind: belongs_to via: jobId - from: TimeActivityTimePointResponse to: GeoFence kind: belongs_to via: geofenceId - from: TimeOffActivityResponse to: PolicyType kind: belongs_to via: policyTypeId - from: TimeOffAssignPolicyRequest to: User kind: belongs_to via: userId - from: TimeOffRequestCreateRequest to: PolicyType kind: belongs_to via: policyTypeId - from: TimeOffRequestCreateRequest to: TimeClock kind: belongs_to via: timeClockId - from: TimeOffRequestCreateRequest to: User kind: belongs_to via: userId - from: TimeOffRequestCreateResponse to: PolicyType kind: belongs_to via: policyTypeId - from: TimeOffRequestCreateResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeOffRequestCreateResponse to: User kind: belongs_to via: userId - from: TimeOffRequestUpdateRequest to: TimeClock kind: belongs_to via: timeClockId - from: TimeOffRequestUpdateResponse to: TimeClock kind: belongs_to via: timeClockId - from: TimeOffRequestUpdateResponse to: User kind: belongs_to via: userId - from: TimeOffUserBalance to: User kind: belongs_to via: userId - from: UnavailabilityCreateRequest to: User kind: belongs_to via: userId - from: UnavailabilityCreateResponse to: User kind: belongs_to via: userId - from: UpdatePendingUserRequest to: User kind: belongs_to via: userId - from: UpdateTaskRequest to: Label kind: has_many via: labelIds - from: UpdateTaskRequest to: User kind: has_many via: userIds - from: UpdateTaskResponse to: Label kind: has_many via: labelIds - from: UpdateTaskResponse to: User kind: has_many via: userIds - from: User to: User kind: belongs_to via: userId - from: UserEditRequest to: User kind: belongs_to via: userId - from: UserHoursSummaryResponse to: User kind: belongs_to via: userId - from: UserTimeActivitiesCreateRequest to: User kind: belongs_to via: userId - from: UserTimeActivitiesUpdateRequest to: User kind: belongs_to via: userId - from: UserTimeActivity to: User kind: belongs_to via: userId - from: UserUnavailabilityItem to: User kind: belongs_to via: userId - from: VideoAnswer to: Question kind: belongs_to via: questionId - from: VideoQuestion to: Question kind: belongs_to via: questionId - from: WebhookResponse to: User kind: belongs_to via: userId - from: WebhookShiftResponse to: Job kind: belongs_to via: jobId - from: YesNoAnswer to: Question kind: belongs_to via: questionId - from: YesNoQuestion to: Question kind: belongs_to via: questionId - from: v2__features__punchclock__external_api__v1__time_clocks__models__shift_response__ShiftResponse to: Job kind: belongs_to via: jobId - from: v2__features__punchclock__external_api__v1__time_clocks__models__shift_response__ShiftResponse to: User kind: belongs_to via: userId - from: v2__features__shiftscheduler__external_api__v1__schedulers__scheduler__shifts__models__shift_response__ShiftResponse to: Job kind: belongs_to via: jobId cross_ref: - openapi/connecteam-openapi-original.json - conventions/connecteam-conventions.yml