From d276dd05bbac7563a6a6440f151af3120862f0a1 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 7 Oct 2026 07:37:06 +0000 Subject: [PATCH 1/3] feat: regenerate Java client from latest OpenAPI spec Co-Authored-By: Quentin Rousseau --- .openapi-generator/FILES | 409 +- CHANGELOG.md | 13 + api/openapi.yaml | 7364 +++++++++++++++-- docs/AcknowledgeAlert.md | 13 + docs/AcknowledgeAlertData.md | 22 + docs/AcknowledgeAlertDataAttributes.md | 13 + docs/ActionItemTriggerParams.md | 20 + docs/AddSlackBookmarkTaskParams.md | 2 + docs/Alert.md | 5 +- docs/AlertConfiguration.md | 30 + docs/AlertConfigurationApi.md | 140 + docs/AlertConfigurationResponse.md | 13 + docs/AlertConfigurationResponseData.md | 23 + docs/AlertEvent.md | 14 + docs/AlertEventsApi.md | 2 +- docs/AlertField.md | 39 +- docs/AlertGroup.md | 5 +- docs/AlertGroupAttributesInner.md | 13 + docs/AlertGroupTargetsInner.md | 25 + docs/AlertLabelsInner.md | 14 + docs/AlertRoute.md | 2 +- docs/AlertRouteRulesInner.md | 17 + ...lertRouteRulesInnerConditionGroupsInner.md | 14 + ...nnerConditionGroupsInnerConditionsInner.md | 53 + docs/AlertRouteRulesInnerDestinationsInner.md | 25 + docs/AlertRoutesApi.md | 4 +- docs/AlertSlackNotificationsInner.md | 14 + docs/AlertSource.md | 34 + docs/AlertSourcesApi.md | 3 +- docs/AlertUrgency.md | 33 +- docs/AlertsApi.md | 10 +- docs/AlertsSource.md | 8 +- ...sSourceAlertSourceFieldsAttributesInner.md | 14 + ...eAlertSourceUrgencyRulesAttributesInner.md | 47 + docs/AlertsSourceAlertTemplateAttributes.md | 15 + docs/AlertsSourceResolutionRuleAttributes.md | 47 + ...RuleAttributesConditionsAttributesInner.md | 48 + docs/AlertsSourceSourceableAttributes.md | 18 +- ...eAttributesFieldMappingsAttributesInner.md | 28 + docs/ApiKey.md | 1 + docs/ApiKeyWithTokenResponseDataAttributes.md | 1 + docs/ArchiveSlackChannelsTaskParams.md | 2 + docs/Audit.md | 5 +- docs/BulkUpsertTeamsEntitiesInner.md | 11 + docs/CancelIncidentData.md | 1 + docs/CatalogEntitiesApi.md | 2 +- docs/ChangeSlackChannelPrivacyTaskParams.md | 2 + docs/CommunicationsGroup.md | 2 +- ...sGroupCommunicationGroupConditionsInner.md | 30 + ...reateEdgeConnectorRequestDataAttributes.md | 1 + docs/CreateGoogleMeetingTaskParams.md | 2 + docs/CreateSlackCanvasTaskParams.md | 27 + docs/CreateSlackCanvasTaskParamsChannel.md | 15 + docs/CreateSlackChannelTaskParams.md | 2 + docs/CreateZoomMeetingTaskParams.md | 2 + docs/DashboardPanelsApi.md | 1 + docs/DeferralWindow.md | 337 + docs/DeferralWindowTimeBlocksInner.md | 25 + docs/EdgeConnectorDataAttributes.md | 1 + docs/Environment.md | 4 +- docs/EnvironmentSlackAliasesInner.md | 14 + docs/EnvironmentSlackChannelsInner.md | 14 + docs/EscalateAlertDataAttributes.md | 1 + docs/EscalationPolicy.md | 2 +- docs/EscalationPolicyBusinessHours.md | 344 + docs/EscalationPolicyLevel.md | 2 +- ...olicyLevelNotificationTargetParamsInner.md | 38 + docs/EscalationPolicyPath.md | 25 +- ...calationPolicyPathTimeRestrictionsInner.md | 44 + docs/FormField.md | 1 + docs/FormFieldPlacementsApi.md | 1 + docs/Functionality.md | 4 +- docs/HttpClientTaskParams.md | 2 + docs/InTriageIncidentData.md | 1 + docs/Incident.md | 3 +- docs/IncidentRetrospectivesApi.md | 4 +- docs/IncidentStatusPageEventsApi.md | 1 + docs/IncidentTriggerParams.md | 20 + docs/IncidentType.md | 4 +- docs/IncidentsApi.md | 7 +- docs/JSONPath.md | 46 + docs/LinkIncidents.md | 13 + docs/LinkIncidentsData.md | 22 + docs/LinkIncidentsDataAttributes.md | 14 + docs/LiveCallRouter.md | 4 +- ...CallRouterEscalationPolicyTriggerParams.md | 25 + docs/LiveCallRouterPagingTargetsInner.md | 26 + docs/MeetingRecordingsApi.md | 2 +- docs/MitigateIncidentData.md | 1 + docs/NewAlertDataAttributes.md | 1 + docs/NewAlertDataAttributesActor.md | 15 + docs/NewAlertDataAttributesActorOneOf.md | 13 + docs/NewAlertDataAttributesActorOneOf1.md | 13 + docs/NewAlertFieldDataAttributes.md | 1 + docs/NewAlertGroupDataAttributes.md | 1 + docs/NewAlertUrgencyDataAttributes.md | 24 +- ...ourceDataAttributesSourceableAttributes.md | 16 +- docs/NewEdgeConnectorEdgeConnector.md | 1 + ...lationPolicyDataAttributesBusinessHours.md | 10 +- docs/NewEscalationPolicyPathDataAttributes.md | 45 +- ...ataAttributesNotificationTypeRulesInner.md | 33 + ...ationPolicyPathDataAttributesRulesInner.md | 14 +- docs/NewFormFieldDataAttributes.md | 1 + docs/NewIncidentDataAttributes.md | 3 + ...ewIncidentStatusPageEventDataAttributes.md | 2 +- docs/NewOnCallRoleDataAttributes.md | 11 + docs/NewPlaybookDataAttributes.md | 12 + docs/NewProblem.md | 13 + docs/NewProblemActionItem.md | 13 + docs/NewProblemActionItemData.md | 22 + docs/NewProblemActionItemDataAttributes.md | 40 + docs/NewProblemData.md | 22 + docs/NewProblemDataAttributes.md | 40 + docs/NewRoleDataAttributes.md | 24 + docs/NewScheduleDataAttributes.md | 2 + .../NewScheduleDataAttributesBusinessHours.md | 16 + docs/NewScheduleRotationDataAttributes.md | 2 +- docs/NewSecretDataAttributes.md | 1 + docs/NewShiftCoverageRequestDataAttributes.md | 1 + docs/NewStatusPageTeam.md | 13 + docs/NewStatusPageTeamData.md | 22 + docs/NewStatusPageTeamDataAttributes.md | 23 + docs/NewTeamDataAttributes.md | 13 + docs/NewWebhooksEndpointDataAttributes.md | 1 + docs/NewWorkflowDataAttributes.md | 14 + ...ributesFailureNotificationChannelsInner.md | 14 + .../NewWorkflowDataAttributesTriggerParams.md | 20 + docs/NewWorkflowGroupDataAttributes.md | 1 + ...NewWorkflowTaskDataAttributesTaskParams.md | 63 +- docs/NullableSeverityResponse.md | 15 + docs/OnCallPayReport.md | 4 +- docs/OnCallRole.md | 11 + docs/OverriddenShift.md | 18 + docs/PatchAlertRouteData.md | 1 + docs/Playbook.md | 12 + docs/PostMortemTriggerParams.md | 20 + docs/PrivateAgent.md | 23 + docs/PrivateAgentAttributes.md | 42 + docs/PrivateAgentAttributesProvidersInner.md | 18 + ...tributesProvidersInnerCapabilitiesInner.md | 16 + ...vateAgentAttributesProvidersInnerHealth.md | 16 + ...vateAgentAttributesProvidersInnerPolicy.md | 60 + docs/PrivateAgentEnrollmentTokenResponse.md | 13 + ...PrivateAgentEnrollmentTokenResponseData.md | 23 + ...ntEnrollmentTokenResponseDataAttributes.md | 14 + docs/PrivateAgentList.md | 14 + docs/PrivateAgentResponse.md | 13 + docs/PrivateAgentSummary.md | 23 + docs/PrivateAgentSummaryAttributes.md | 41 + docs/PrivateAgentUpdate.md | 13 + docs/PrivateAgentUpdateData.md | 22 + docs/PrivateAgentUpdateDataAttributes.md | 15 + docs/PrivateAgentsApi.md | 358 + docs/Problem.md | 70 + docs/ProblemActionItem.md | 45 + docs/ProblemActionItemList.md | 16 + docs/ProblemActionItemResponse.md | 14 + docs/ProblemActionItemResponseData.md | 23 + docs/ProblemActionItemsApi.md | 521 ++ docs/ProblemList.md | 16 + docs/ProblemResponse.md | 14 + docs/ProblemResponseData.md | 23 + docs/ProblemsApi.md | 545 ++ docs/PublishIncidentTaskParams.md | 28 +- docs/Pulse.md | 4 +- docs/PulseLabelsInner.md | 14 + docs/PulseRefsInner.md | 14 + docs/RelatedIncidents.md | 31 + docs/RemoveFromSlackChannelTaskParams.md | 31 + docs/RenameSlackChannelTaskParams.md | 2 + docs/ResolveAlertDataAttributes.md | 1 + docs/ResolveIncidentData.md | 1 + docs/RestartIncidentData.md | 1 + docs/Role.md | 24 + docs/Schedule.md | 2 + docs/ScheduleBusinessHours.md | 16 + docs/ScheduleRotation.md | 4 +- docs/ScheduleRotationActiveDay.md | 2 +- ...ationActiveDayActiveTimeAttributesInner.md | 14 + ...heduleRotationActiveTimeAttributesInner.md | 14 + docs/Secret.md | 1 + docs/SendSlackBlocksTaskParams.md | 3 + docs/SendSlackMessageTaskParams.md | 3 + docs/Service.md | 66 +- docs/Severity.md | 4 +- docs/Shift.md | 1 + docs/ShiftCoverageRequestsApi.md | 2 +- docs/ShiftsApi.md | 8 +- docs/SnoozeAlertDataAttributes.md | 1 + docs/StatusPageTeam.md | 26 + docs/StatusPageTeamList.md | 16 + docs/StatusPageTeamResponse.md | 14 + docs/StatusPageTeamResponseData.md | 23 + docs/StatusPageTeamsApi.md | 370 + docs/Team.md | 16 +- docs/TeamsApi.md | 3 + docs/TriggerWorkflowTaskParams.md | 3 +- docs/UpdateAlertConfiguration.md | 13 + docs/UpdateAlertConfigurationData.md | 23 + .../UpdateAlertConfigurationDataAttributes.md | 29 + ...rationDataAttributesAlertAcknowledgment.md | 37 + ...tributesDefaultUserNotificationSettings.md | 37 + docs/UpdateAlertData.md | 1 + docs/UpdateAlertDataAttributes.md | 1 + docs/UpdateAlertEventData.md | 1 + docs/UpdateAlertFieldData.md | 1 + docs/UpdateAlertFieldDataAttributes.md | 1 + docs/UpdateAlertGroupData.md | 1 + docs/UpdateAlertGroupDataAttributes.md | 1 + docs/UpdateAlertRouteData.md | 1 + docs/UpdateAlertRoutingRuleData.md | 1 + docs/UpdateAlertUrgencyData.md | 1 + docs/UpdateAlertUrgencyDataAttributes.md | 24 +- docs/UpdateAlertsSourceData.md | 1 + docs/UpdateAlertsSourceDataAttributes.md | 2 +- ...ributesAlertSourceFieldsAttributesInner.md | 15 + docs/UpdateApiKeyData.md | 1 + docs/UpdateAuthorizationData.md | 1 + docs/UpdateCatalogChecklistTemplateData.md | 1 + docs/UpdateCatalogData.md | 1 + docs/UpdateCatalogEntityData.md | 1 + docs/UpdateCatalogEntityPropertyData.md | 1 + docs/UpdateCatalogFieldData.md | 1 + docs/UpdateCatalogPropertyData.md | 1 + docs/UpdateCauseData.md | 1 + docs/UpdateCommunicationsGroupData.md | 1 + docs/UpdateCommunicationsStageData.md | 1 + docs/UpdateCommunicationsTemplateData.md | 1 + docs/UpdateCommunicationsTypeData.md | 1 + docs/UpdateCustomFieldData.md | 1 + docs/UpdateCustomFieldOptionData.md | 1 + docs/UpdateCustomFormData.md | 1 + docs/UpdateDashboardData.md | 1 + docs/UpdateDashboardPanelData.md | 1 + docs/UpdateEdgeConnectorEdgeConnector.md | 1 + ...pdateEdgeConnectorRequestDataAttributes.md | 1 + docs/UpdateEnvironmentData.md | 1 + docs/UpdateEscalationPolicyData.md | 1 + docs/UpdateEscalationPolicyLevelData.md | 1 + docs/UpdateEscalationPolicyPathData.md | 1 + ...pdateEscalationPolicyPathDataAttributes.md | 45 +- ...ationPolicyPathDataAttributesRulesInner.md | 14 +- docs/UpdateFormFieldData.md | 1 + docs/UpdateFormFieldDataAttributes.md | 1 + docs/UpdateFormFieldOptionData.md | 1 + docs/UpdateFormFieldPlacementConditionData.md | 1 + docs/UpdateFormFieldPlacementData.md | 1 + docs/UpdateFormFieldPositionData.md | 1 + docs/UpdateFormSetConditionData.md | 1 + docs/UpdateFormSetData.md | 1 + docs/UpdateFunctionalityData.md | 1 + docs/UpdateHeartbeatData.md | 1 + docs/UpdateIncidentActionItemData.md | 1 + .../UpdateIncidentCustomFieldSelectionData.md | 1 + docs/UpdateIncidentData.md | 1 + docs/UpdateIncidentDataAttributes.md | 3 + docs/UpdateIncidentEventData.md | 1 + docs/UpdateIncidentEventFunctionalityData.md | 1 + docs/UpdateIncidentEventServiceData.md | 1 + docs/UpdateIncidentFeedbackData.md | 1 + docs/UpdateIncidentFormFieldSelectionData.md | 1 + .../UpdateIncidentPermissionSetBooleanData.md | 1 + docs/UpdateIncidentPermissionSetData.md | 1 + ...UpdateIncidentPermissionSetResourceData.md | 1 + docs/UpdateIncidentPostMortemData.md | 1 + .../UpdateIncidentPostMortemDataAttributes.md | 1 + docs/UpdateIncidentRetrospectiveStepData.md | 1 + docs/UpdateIncidentRoleData.md | 1 + docs/UpdateIncidentRoleTaskData.md | 1 + docs/UpdateIncidentStatusPageEventData.md | 1 + docs/UpdateIncidentSubStatusData.md | 1 + docs/UpdateIncidentTypeData.md | 1 + docs/UpdateLiveCallRouterData.md | 1 + docs/UpdateOnCallPayReportData.md | 1 + docs/UpdateOnCallRoleData.md | 1 + docs/UpdateOnCallRoleDataAttributes.md | 11 + docs/UpdateOnCallShadowData.md | 1 + docs/UpdateOverrideShiftData.md | 1 + docs/UpdatePlaybookData.md | 1 + docs/UpdatePlaybookDataAttributes.md | 12 + docs/UpdatePlaybookTaskData.md | 1 + docs/UpdatePostMortemTemplateData.md | 1 + docs/UpdateProblem.md | 13 + docs/UpdateProblemActionItem.md | 13 + docs/UpdateProblemActionItemData.md | 23 + docs/UpdateProblemActionItemDataAttributes.md | 40 + docs/UpdateProblemData.md | 23 + docs/UpdateProblemDataAttributes.md | 65 + docs/UpdatePulseData.md | 1 + docs/UpdateRetrospectiveConfigurationData.md | 1 + docs/UpdateRetrospectiveProcessData.md | 1 + docs/UpdateRetrospectiveProcessGroupData.md | 1 + ...UpdateRetrospectiveProcessGroupStepData.md | 1 + docs/UpdateRetrospectiveStepData.md | 1 + docs/UpdateRoleData.md | 1 + docs/UpdateRoleDataAttributes.md | 24 + docs/UpdateScheduleData.md | 1 + docs/UpdateScheduleDataAttributes.md | 2 + docs/UpdateScheduleRotationActiveDayData.md | 1 + docs/UpdateScheduleRotationData.md | 1 + docs/UpdateScheduleRotationDataAttributes.md | 2 +- docs/UpdateScheduleRotationUserData.md | 1 + docs/UpdateSecretData.md | 1 + docs/UpdateSecretDataAttributes.md | 1 + docs/UpdateServiceData.md | 1 + docs/UpdateSeverityData.md | 1 + docs/UpdateSlaData.md | 1 + docs/UpdateSlackCanvasTaskParams.md | 37 + docs/UpdateSlackChannelTopicTaskParams.md | 2 + docs/UpdateStatusPageAnnouncementData.md | 1 + docs/UpdateStatusPageComponentData.md | 1 + docs/UpdateStatusPageComponentGroupData.md | 1 + docs/UpdateStatusPageData.md | 1 + docs/UpdateStatusPageTeam.md | 13 + docs/UpdateStatusPageTeamData.md | 23 + docs/UpdateStatusPageTeamDataAttributes.md | 22 + docs/UpdateStatusPageTemplateData.md | 1 + docs/UpdateSubStatusData.md | 1 + docs/UpdateTeamData.md | 1 + docs/UpdateTeamDataAttributes.md | 13 + docs/UpdateUserData.md | 1 + docs/UpdateUserEmailAddressData.md | 1 + docs/UpdateUserNotificationRuleData.md | 1 + docs/UpdateUserPhoneNumberData.md | 1 + docs/UpdateWebhooksEndpointData.md | 1 + docs/UpdateWebhooksEndpointDataAttributes.md | 1 + ...orkflowActionItemFormFieldConditionData.md | 1 + .../UpdateWorkflowCustomFieldSelectionData.md | 1 + docs/UpdateWorkflowDataAttributes.md | 14 + docs/UpdateWorkflowFormFieldConditionData.md | 1 + docs/UpdateWorkflowGroupData.md | 1 + docs/UpdateWorkflowGroupDataAttributes.md | 1 + docs/UpdateWorkflowTaskData.md | 1 + ...ateWorkflowTaskDataAttributesTaskParams.md | 63 +- docs/UserPhoneNumbersApi.md | 139 + docs/VerifyUserPhoneNumber200Response.md | 13 + docs/VerifyUserPhoneNumber429Response.md | 13 + docs/WebhooksEndpoint.md | 1 + docs/Workflow.md | 14 + docs/WorkflowGroup.md | 1 + docs/WorkingHours.md | 22 + .../java/com/rootly/client/ApiException.java | 2 +- .../java/com/rootly/client/Configuration.java | 2 +- src/main/java/com/rootly/client/JSON.java | 148 +- src/main/java/com/rootly/client/Pair.java | 2 +- .../rootly/client/ServerConfiguration.java | 2 +- .../com/rootly/client/ServerVariable.java | 2 +- .../java/com/rootly/client/StringUtil.java | 2 +- .../client/api/AlertConfigurationApi.java | 337 + .../com/rootly/client/api/AlertRoutesApi.java | 12 +- .../rootly/client/api/AlertSourcesApi.java | 12 +- .../java/com/rootly/client/api/AlertsApi.java | 34 +- .../rootly/client/api/DashboardPanelsApi.java | 4 + .../client/api/FormFieldPlacementsApi.java | 4 + .../client/api/IncidentRetrospectivesApi.java | 14 +- .../api/IncidentStatusPageEventsApi.java | 4 + .../com/rootly/client/api/IncidentsApi.java | 31 +- .../client/api/MeetingRecordingsApi.java | 8 +- .../rootly/client/api/PrivateAgentsApi.java | 761 ++ .../client/api/ProblemActionItemsApi.java | 1263 +++ .../com/rootly/client/api/ProblemsApi.java | 1217 +++ .../client/api/ShiftCoverageRequestsApi.java | 6 +- .../java/com/rootly/client/api/ShiftsApi.java | 16 +- .../rootly/client/api/StatusPageTeamsApi.java | 812 ++ .../java/com/rootly/client/api/TeamsApi.java | 12 + .../client/api/UserPhoneNumbersApi.java | 268 + .../com/rootly/client/auth/ApiKeyAuth.java | 2 +- .../rootly/client/auth/Authentication.java | 2 +- .../rootly/client/auth/HttpBearerAuth.java | 2 +- .../client/model/AbstractOpenApiSchema.java | 2 +- .../rootly/client/model/AcknowledgeAlert.java | 208 + .../client/model/AcknowledgeAlertData.java | 292 + .../model/AcknowledgeAlertDataAttributes.java | 220 + .../client/model/ActionItemTriggerParams.java | 176 +- .../client/model/AddActionItemTaskParams.java | 2 +- ...AddActionItemTaskParamsAssignedToUser.java | 2 +- ...temTaskParamsPostToSlackChannelsInner.java | 2 +- .../AddMicrosoftTeamsChatTabTaskParams.java | 2 +- .../model/AddMicrosoftTeamsTabTaskParams.java | 2 +- .../client/model/AddRoleTaskParams.java | 2 +- .../AddRoleTaskParamsAssignedToUser.java | 2 +- .../model/AddSlackBookmarkTaskParams.java | 2 +- .../AddSlackBookmarkTaskParamsAnyOf.java | 2 +- .../AddSlackBookmarkTaskParamsAnyOf1.java | 2 +- .../rootly/client/model/AddSubscribers.java | 2 +- .../client/model/AddSubscribersData.java | 2 +- .../model/AddSubscribersDataAttributes.java | 2 +- .../client/model/AddTeamTaskParams.java | 2 +- .../client/model/AddToTimelineTaskParams.java | 2 +- .../rootly/client/model/AiChatResponse.java | 2 +- .../client/model/AiChatResponseData.java | 2 +- .../model/AiChatResponseDataAttributes.java | 2 +- .../client/model/AiChatSessionMessage.java | 2 +- .../model/AiChatSessionMessageList.java | 2 +- .../java/com/rootly/client/model/Alert.java | 122 +- .../model/AlertAlertFieldValuesInner.java | 2 +- .../model/AlertAlertingTargetsInner.java | 2 +- .../client/model/AlertConfiguration.java | 434 + .../model/AlertConfigurationResponse.java | 214 + .../model/AlertConfigurationResponseData.java | 328 + .../com/rootly/client/model/AlertEvent.java | 154 +- .../model/AlertEventEscalationTarget.java | 2 +- .../model/AlertEventEscalationTargetData.java | 2 +- .../client/model/AlertEventFeedList.java | 2 +- .../client/model/AlertEventFeedMeta.java | 2 +- .../client/model/AlertEventIncident.java | 2 +- .../rootly/client/model/AlertEventList.java | 2 +- .../client/model/AlertEventResponse.java | 2 +- .../client/model/AlertEventResponseData.java | 2 +- .../client/model/AlertEventSchedule.java | 2 +- ...tEventScheduleEscalationPoliciesInner.java | 2 +- .../rootly/client/model/AlertEventUser.java | 2 +- .../com/rootly/client/model/AlertField.java | 322 +- .../rootly/client/model/AlertFieldList.java | 2 +- .../client/model/AlertFieldListDataInner.java | 2 +- .../client/model/AlertFieldResponse.java | 2 +- .../client/model/AlertFieldResponseData.java | 2 +- .../com/rootly/client/model/AlertGroup.java | 72 +- .../model/AlertGroupAttributesInner.java | 206 + .../model/AlertGroupConditionsInner.java | 2 +- .../AlertGroupConditionsInnerValuesInner.java | 2 +- .../rootly/client/model/AlertGroupList.java | 2 +- .../client/model/AlertGroupResponse.java | 2 +- .../client/model/AlertGroupResponseData.java | 2 +- .../client/model/AlertGroupTargetsInner.java | 304 + .../rootly/client/model/AlertLabelsInner.java | 245 + .../com/rootly/client/model/AlertList.java | 2 +- .../rootly/client/model/AlertResponse.java | 2 +- .../client/model/AlertResponseData.java | 2 +- .../com/rootly/client/model/AlertRoute.java | 16 +- .../rootly/client/model/AlertRouteList.java | 2 +- .../client/model/AlertRouteResponse.java | 2 +- .../client/model/AlertRouteResponseData.java | 2 +- .../client/model/AlertRouteRulesInner.java | 364 + ...rtRouteRulesInnerConditionGroupsInner.java | 259 + ...erConditionGroupsInnerConditionsInner.java | 630 ++ ...AlertRouteRulesInnerDestinationsInner.java | 304 + .../rootly/client/model/AlertRoutingRule.java | 2 +- .../model/AlertRoutingRuleCondition.java | 2 +- .../model/AlertRoutingRuleConditionGroup.java | 2 +- .../AlertRoutingRuleConditionGroupsInner.java | 2 +- ...leConditionGroupsInnerConditionsInner.java | 2 +- .../AlertRoutingRuleConditionsInner.java | 2 +- .../model/AlertRoutingRuleDestination.java | 2 +- .../client/model/AlertRoutingRuleList.java | 2 +- .../model/AlertRoutingRuleResponse.java | 2 +- .../model/AlertRoutingRuleResponseData.java | 2 +- .../client/model/AlertRoutingRuleTarget.java | 2 +- .../model/AlertSlackNotificationsInner.java | 245 + .../com/rootly/client/model/AlertSource.java | 399 + .../client/model/AlertTriggerParams.java | 2 +- ...riggerParamsAlertFieldConditionsInner.java | 2 +- ...rtTriggerParamsAlertPayloadConditions.java | 2 +- ...AlertPayloadConditionsConditionsInner.java | 2 +- .../com/rootly/client/model/AlertUrgency.java | 431 +- .../rootly/client/model/AlertUrgencyList.java | 2 +- .../client/model/AlertUrgencyResponse.java | 2 +- .../model/AlertUrgencyResponseData.java | 2 +- .../com/rootly/client/model/AlertsSource.java | 54 +- ...ourceAlertSourceFieldsAttributesInner.java | 248 + ...lertSourceUrgencyRulesAttributesInner.java | 568 ++ .../AlertsSourceAlertTemplateAttributes.java | 278 + .../rootly/client/model/AlertsSourceList.java | 2 +- .../AlertsSourceResolutionRuleAttributes.java | 613 ++ ...leAttributesConditionsAttributesInner.java | 542 ++ .../client/model/AlertsSourceResponse.java | 2 +- .../model/AlertsSourceResponseData.java | 2 +- .../AlertsSourceSourceableAttributes.java | 142 +- ...ttributesFieldMappingsAttributesInner.java | 302 + .../java/com/rootly/client/model/ApiKey.java | 34 +- .../com/rootly/client/model/ApiKeyList.java | 2 +- .../rootly/client/model/ApiKeyResponse.java | 2 +- .../client/model/ApiKeyResponseData.java | 2 +- .../client/model/ApiKeyWithTokenResponse.java | 2 +- .../model/ApiKeyWithTokenResponseData.java | 2 +- ...ApiKeyWithTokenResponseDataAttributes.java | 34 +- .../ArchiveGoogleChatSpacesTaskParams.java | 2 +- ...chiveMicrosoftTeamsChannelsTaskParams.java | 2 +- .../model/ArchiveSlackChannelsTaskParams.java | 60 +- .../rootly/client/model/AssignRoleToUser.java | 2 +- .../client/model/AssignRoleToUserData.java | 2 +- .../model/AssignRoleToUserDataAttributes.java | 2 +- .../com/rootly/client/model/AttachAlert.java | 2 +- .../rootly/client/model/AttachAlertData.java | 2 +- .../model/AttachAlertDataAttributes.java | 2 +- .../AttachDatadogDashboardsTaskParams.java | 2 +- ...tivePdfToFreshserviceTicketTaskParams.java | 2 +- ...RetrospectivePdfToJiraIssueTaskParams.java | 2 +- .../java/com/rootly/client/model/Audit.java | 40 +- .../com/rootly/client/model/AuditsList.java | 2 +- .../client/model/AuditsListDataInner.java | 2 +- .../rootly/client/model/Authorization.java | 2 +- .../client/model/AuthorizationList.java | 2 +- .../client/model/AuthorizationResponse.java | 2 +- .../model/AuthorizationResponseData.java | 2 +- .../AutoAssignRoleOpsgenieTaskParams.java | 2 +- .../AutoAssignRolePagerdutyTaskParams.java | 2 +- ...utoAssignRolePagerdutyTaskParamsAnyOf.java | 2 +- ...toAssignRolePagerdutyTaskParamsAnyOf1.java | 2 +- .../model/AutoAssignRoleRootlyTaskParams.java | 2 +- .../AutoAssignRoleRootlyTaskParamsOneOf.java | 2 +- .../AutoAssignRoleRootlyTaskParamsOneOf1.java | 2 +- .../AutoAssignRoleRootlyTaskParamsOneOf2.java | 2 +- .../AutoAssignRoleRootlyTaskParamsOneOf3.java | 2 +- .../AutoAssignRoleRootlyTaskParamsOneOf4.java | 2 +- .../AutoAssignRoleVictorOpsTaskParams.java | 2 +- .../com/rootly/client/model/BuiltinField.java | 2 +- .../BulkDeleteCatalogEntities422Response.java | 2 +- .../BulkDeleteEnvironments422Response.java | 2 +- .../BulkDeleteFunctionalities422Response.java | 2 +- .../model/BulkDeleteGroups422Response.java | 2 +- .../model/BulkDeleteServices422Response.java | 2 +- .../model/BulkDestroyCatalogEntities.java | 2 +- .../BulkDestroyCatalogEntitiesOneOf.java | 2 +- .../BulkDestroyCatalogEntitiesOneOf1.java | 2 +- .../BulkDestroyCatalogEntitiesResponse.java | 2 +- ...ulkDestroyCatalogEntitiesResponseData.java | 2 +- .../client/model/BulkDestroyEnvironments.java | 2 +- .../model/BulkDestroyEnvironmentsOneOf.java | 2 +- .../BulkDestroyEnvironmentsResponse.java | 2 +- .../model/BulkDestroyFunctionalities.java | 2 +- .../BulkDestroyFunctionalitiesResponse.java | 2 +- .../client/model/BulkDestroyServices.java | 2 +- .../model/BulkDestroyServicesResponse.java | 2 +- .../rootly/client/model/BulkDestroyTeams.java | 2 +- .../model/BulkDestroyTeamsResponse.java | 2 +- .../model/BulkUpsertCatalogEntities.java | 2 +- .../BulkUpsertCatalogEntities422Response.java | 2 +- ...ulkUpsertCatalogEntitiesEntitiesInner.java | 2 +- ...talogEntitiesEntitiesInnerFieldsInner.java | 2 +- .../model/BulkUpsertCatalogEntitiesError.java | 2 +- ...UpsertCatalogEntitiesErrorErrorsInner.java | 2 +- .../BulkUpsertCatalogEntitiesResponse.java | 2 +- ...psertCatalogEntitiesResponseDataInner.java | 2 +- .../client/model/BulkUpsertEnvironments.java | 2 +- .../BulkUpsertEnvironments422Response.java | 2 +- .../BulkUpsertEnvironmentsEntitiesInner.java | 2 +- .../model/BulkUpsertEnvironmentsError.java | 2 +- ...ulkUpsertEnvironmentsErrorErrorsInner.java | 2 +- .../model/BulkUpsertEnvironmentsResponse.java | 2 +- ...lkUpsertEnvironmentsResponseDataInner.java | 2 +- .../model/BulkUpsertFunctionalities.java | 2 +- .../BulkUpsertFunctionalities422Response.java | 2 +- ...ulkUpsertFunctionalitiesEntitiesInner.java | 2 +- .../model/BulkUpsertFunctionalitiesError.java | 2 +- .../BulkUpsertFunctionalitiesResponse.java | 2 +- ...psertFunctionalitiesResponseDataInner.java | 2 +- .../model/BulkUpsertGroups422Response.java | 2 +- .../client/model/BulkUpsertServices.java | 2 +- .../model/BulkUpsertServices422Response.java | 2 +- .../BulkUpsertServicesEntitiesInner.java | 2 +- .../client/model/BulkUpsertServicesError.java | 2 +- .../model/BulkUpsertServicesResponse.java | 2 +- .../BulkUpsertServicesResponseDataInner.java | 2 +- .../rootly/client/model/BulkUpsertTeams.java | 2 +- .../model/BulkUpsertTeamsEntitiesInner.java | 92 +- .../client/model/BulkUpsertTeamsError.java | 2 +- .../client/model/BulkUpsertTeamsResponse.java | 2 +- .../BulkUpsertTeamsResponseDataInner.java | 2 +- .../client/model/CallPeopleTaskParams.java | 2 +- .../rootly/client/model/CancelIncident.java | 2 +- .../client/model/CancelIncidentData.java | 36 +- .../model/CancelIncidentDataAttributes.java | 2 +- .../java/com/rootly/client/model/Catalog.java | 2 +- .../model/CatalogChecklistTemplate.java | 2 +- .../CatalogChecklistTemplateFieldsInner.java | 2 +- .../model/CatalogChecklistTemplateList.java | 2 +- .../CatalogChecklistTemplateOwnersInner.java | 2 +- .../CatalogChecklistTemplateResponse.java | 2 +- .../CatalogChecklistTemplateResponseData.java | 2 +- .../rootly/client/model/CatalogEntity.java | 2 +- .../client/model/CatalogEntityChecklist.java | 2 +- ...ogEntityChecklistChecklistFieldsInner.java | 2 +- ...tityChecklistChecklistFieldsInnerData.java | 2 +- ...istChecklistFieldsInnerDataAttributes.java | 2 +- ...ogEntityChecklistChecklistOwnersInner.java | 2 +- ...tityChecklistChecklistOwnersInnerData.java | 2 +- ...istChecklistOwnersInnerDataAttributes.java | 2 +- .../model/CatalogEntityChecklistList.java | 2 +- .../model/CatalogEntityChecklistResponse.java | 2 +- .../CatalogEntityChecklistResponseData.java | 2 +- .../client/model/CatalogEntityList.java | 2 +- .../client/model/CatalogEntityProperty.java | 2 +- .../model/CatalogEntityPropertyList.java | 2 +- .../model/CatalogEntityPropertyResponse.java | 2 +- .../CatalogEntityPropertyResponseData.java | 2 +- .../client/model/CatalogEntityResponse.java | 2 +- .../model/CatalogEntityResponseData.java | 2 +- .../com/rootly/client/model/CatalogField.java | 2 +- .../rootly/client/model/CatalogFieldList.java | 2 +- .../client/model/CatalogFieldResponse.java | 2 +- .../model/CatalogFieldResponseData.java | 2 +- .../com/rootly/client/model/CatalogList.java | 2 +- .../rootly/client/model/CatalogProperty.java | 2 +- .../client/model/CatalogPropertyList.java | 2 +- .../client/model/CatalogPropertyResponse.java | 2 +- .../model/CatalogPropertyResponseData.java | 2 +- .../rootly/client/model/CatalogResponse.java | 2 +- .../client/model/CatalogResponseData.java | 2 +- .../java/com/rootly/client/model/Cause.java | 2 +- .../com/rootly/client/model/CauseList.java | 2 +- .../rootly/client/model/CauseResponse.java | 2 +- .../client/model/CauseResponseData.java | 2 +- ...hangeGoogleChatSpacePrivacyTaskParams.java | 2 +- .../ChangeSlackChannelPrivacyTaskParams.java | 60 +- .../client/model/CommunicationsGroup.java | 16 +- ...ommunicationExternalGroupMembersInner.java | 2 +- ...roupCommunicationGroupConditionsInner.java | 477 ++ .../model/CommunicationsGroupResponse.java | 2 +- .../CommunicationsGroupResponseData.java | 2 +- .../model/CommunicationsGroupsResponse.java | 2 +- .../client/model/CommunicationsStage.java | 2 +- .../model/CommunicationsStageResponse.java | 2 +- .../CommunicationsStageResponseData.java | 2 +- .../model/CommunicationsStagesResponse.java | 2 +- .../client/model/CommunicationsTemplate.java | 2 +- ...plateCommunicationTemplateStagesInner.java | 2 +- ...eCommunicationTemplateStagesInnerData.java | 2 +- ...tionTemplateStagesInnerDataAttributes.java | 2 +- ...InnerDataAttributesCommunicationStage.java | 2 +- ...erDataAttributesCommunicationTemplate.java | 2 +- ...mmunicationsTemplateCommunicationType.java | 2 +- .../model/CommunicationsTemplateResponse.java | 2 +- .../CommunicationsTemplateResponseData.java | 2 +- .../CommunicationsTemplatesResponse.java | 2 +- .../client/model/CommunicationsType.java | 2 +- .../model/CommunicationsTypeResponse.java | 2 +- .../model/CommunicationsTypeResponseData.java | 2 +- .../model/CommunicationsTypesResponse.java | 2 +- .../CreateAirtableTableRecordTaskParams.java | 2 +- ...eateAnthropicChatCompletionTaskParams.java | 2 +- ...nthropicChatCompletionTaskParamsModel.java | 2 +- .../model/CreateAsanaSubtaskTaskParams.java | 2 +- .../model/CreateAsanaTaskTaskParams.java | 2 +- .../model/CreateClickupTaskTaskParams.java | 2 +- .../model/CreateCodaPageTaskParams.java | 2 +- .../model/CreateCodaPageTaskParamsDoc.java | 2 +- .../CreateCodaPageTaskParamsTemplate.java | 2 +- .../model/CreateConfluencePageTaskParams.java | 2 +- ...teConfluencePageTaskParamsIntegration.java | 2 +- .../CreateDatadogNotebookTaskParams.java | 2 +- .../CreateDropboxPaperPageTaskParams.java | 2 +- .../CreateEdgeConnectorActionRequest.java | 2 +- ...reateEdgeConnectorActionRequestAction.java | 2 +- ...eConnectorActionRequestActionMetadata.java | 2 +- ...nRequestActionMetadataParametersInner.java | 2 +- .../model/CreateEdgeConnectorRequest.java | 2 +- .../model/CreateEdgeConnectorRequestData.java | 2 +- ...ateEdgeConnectorRequestDataAttributes.java | 44 +- ...ConnectorRequestDataAttributesFilters.java | 2 +- .../model/CreateGithubIssueTaskParams.java | 2 +- .../CreateGithubIssueTaskParamsIssueType.java | 2 +- .../model/CreateGitlabIssueTaskParams.java | 2 +- .../model/CreateGoToMeetingTaskParams.java | 2 +- .../CreateGoogleCalendarEventTaskParams.java | 2 +- .../CreateGoogleChatSpaceTaskParams.java | 2 +- .../model/CreateGoogleDocsPageTaskParams.java | 2 +- ...CreateGoogleDocsPermissionsTaskParams.java | 2 +- ...eGoogleGeminiChatCompletionTaskParams.java | 2 +- ...leGeminiChatCompletionTaskParamsModel.java | 2 +- .../model/CreateGoogleMeetingTaskParams.java | 60 +- .../CreateIncidentPostmortemTaskParams.java | 2 +- ...eIncidentPostmortemTaskParamsTemplate.java | 2 +- .../model/CreateIncidentTaskParams.java | 2 +- .../model/CreateJiraIssueTaskParams.java | 2 +- .../CreateJiraIssueTaskParamsIntegration.java | 2 +- .../CreateJiraIssueTaskParamsIssueType.java | 2 +- .../CreateJiraIssueTaskParamsPriority.java | 2 +- .../CreateJiraIssueTaskParamsStatus.java | 2 +- .../model/CreateJiraSubtaskTaskParams.java | 2 +- .../model/CreateJsmopsAlertTaskParams.java | 2 +- .../CreateLinearIssueCommentTaskParams.java | 2 +- .../model/CreateLinearIssueTaskParams.java | 2 +- .../CreateLinearIssueTaskParamsProject.java | 2 +- .../CreateLinearIssueTaskParamsState.java | 2 +- .../CreateLinearIssueTaskParamsTeam.java | 2 +- .../CreateLinearSubtaskIssueTaskParams.java | 2 +- ...CreateMicrosoftTeamsChannelTaskParams.java | 2 +- .../CreateMicrosoftTeamsChatTaskParams.java | 2 +- ...rosoftTeamsChatTaskParamsMembersInner.java | 2 +- ...CreateMicrosoftTeamsMeetingTaskParams.java | 2 +- ...CreateMistralChatCompletionTaskParams.java | 2 +- ...eMistralChatCompletionTaskParamsModel.java | 2 +- .../model/CreateMotionTaskTaskParams.java | 2 +- .../model/CreateNotionPageTaskParams.java | 2 +- .../CreateNotionPageTaskParamsParentPage.java | 2 +- .../CreateOpenaiChatCompletionTaskParams.java | 2 +- ...teOpenaiChatCompletionTaskParamsModel.java | 2 +- .../model/CreateOpsgenieAlertTaskParams.java | 2 +- .../model/CreateOutlookEventTaskParams.java | 2 +- ...CreatePagerdutyStatusUpdateTaskParams.java | 2 +- .../model/CreatePagertreeAlertTaskParams.java | 2 +- .../model/CreateQuipPageTaskParams.java | 2 +- .../CreateServiceNowIncidentTaskParams.java | 2 +- ...erviceNowIncidentTaskParamsCompletion.java | 2 +- .../model/CreateSharepointPageTaskParams.java | 2 +- .../model/CreateShortcutStoryTaskParams.java | 2 +- .../CreateShortcutStoryTaskParamsAnyOf.java | 2 +- .../CreateShortcutStoryTaskParamsAnyOf1.java | 2 +- .../model/CreateShortcutTaskTaskParams.java | 2 +- .../model/CreateSlackCanvasTaskParams.java | 414 + .../CreateSlackCanvasTaskParamsChannel.java | 245 + .../model/CreateSlackChannelTaskParams.java | 60 +- .../model/CreateSubIncidentTaskParams.java | 2 +- .../model/CreateTrelloCardTaskParams.java | 2 +- ...CreateTrelloCardTaskParamsArchivation.java | 2 +- .../CreateTrelloCardTaskParamsBoard.java | 2 +- .../model/CreateTrelloCardTaskParamsList.java | 2 +- ...CreateWatsonxChatCompletionTaskParams.java | 2 +- ...eWatsonxChatCompletionTaskParamsModel.java | 2 +- .../model/CreateWebexMeetingTaskParams.java | 2 +- .../CreateZendeskJiraLinkTaskParams.java | 2 +- .../model/CreateZendeskTicketTaskParams.java | 2 +- .../model/CreateZoomMeetingTaskParams.java | 60 +- .../com/rootly/client/model/CustomField.java | 2 +- .../rootly/client/model/CustomFieldList.java | 2 +- .../client/model/CustomFieldOption.java | 2 +- .../client/model/CustomFieldOptionList.java | 2 +- .../model/CustomFieldOptionResponse.java | 2 +- .../model/CustomFieldOptionResponseData.java | 2 +- .../client/model/CustomFieldResponse.java | 2 +- .../client/model/CustomFieldResponseData.java | 2 +- .../com/rootly/client/model/CustomForm.java | 2 +- .../rootly/client/model/CustomFormList.java | 2 +- .../client/model/CustomFormResponse.java | 2 +- .../client/model/CustomFormResponseData.java | 2 +- .../com/rootly/client/model/Dashboard.java | 2 +- .../rootly/client/model/DashboardList.java | 2 +- .../rootly/client/model/DashboardPanel.java | 2 +- .../client/model/DashboardPanelList.java | 2 +- .../client/model/DashboardPanelResponse.java | 2 +- .../model/DashboardPanelResponseData.java | 2 +- .../client/model/DashboardResponse.java | 2 +- .../client/model/DashboardResponseData.java | 2 +- .../rootly/client/model/DeferralWindow.java | 1010 +++ .../model/DeferralWindowTimeBlocksInner.java | 541 ++ .../model/DeleteAlertRoute200Response.java | 2 +- .../DeleteAlertRoute200ResponseData.java | 2 +- ...teAlertRoute200ResponseDataAttributes.java | 2 +- .../client/model/DuplicateIncident.java | 2 +- .../client/model/DuplicateIncidentData.java | 2 +- .../DuplicateIncidentDataAttributes.java | 2 +- .../rootly/client/model/EdgeConnector.java | 2 +- .../client/model/EdgeConnectorAction.java | 2 +- .../client/model/EdgeConnectorActionData.java | 2 +- .../EdgeConnectorActionDataAttributes.java | 2 +- ...orActionDataAttributesParametersInner.java | 2 +- .../client/model/EdgeConnectorData.java | 2 +- .../model/EdgeConnectorDataAttributes.java | 44 +- .../com/rootly/client/model/Environment.java | 30 +- .../rootly/client/model/EnvironmentList.java | 2 +- .../client/model/EnvironmentResponse.java | 2 +- .../client/model/EnvironmentResponseData.java | 2 +- .../model/EnvironmentSlackAliasesInner.java | 245 + .../model/EnvironmentSlackChannelsInner.java | 245 + .../com/rootly/client/model/ErrorsList.java | 2 +- .../client/model/ErrorsListErrorsInner.java | 2 +- .../rootly/client/model/EscalateAlert.java | 2 +- .../client/model/EscalateAlertData.java | 2 +- .../model/EscalateAlertDataAttributes.java | 50 +- .../rootly/client/model/EscalationPolicy.java | 14 +- .../model/EscalationPolicyBusinessHours.java | 1049 +++ .../client/model/EscalationPolicyLevel.java | 16 +- .../model/EscalationPolicyLevelList.java | 2 +- .../EscalationPolicyLevelListDataInner.java | 2 +- ...icyLevelNotificationTargetParamsInner.java | 407 + .../model/EscalationPolicyLevelResponse.java | 2 +- .../EscalationPolicyLevelResponseData.java | 2 +- .../client/model/EscalationPolicyList.java | 2 +- .../client/model/EscalationPolicyPath.java | 174 +- .../model/EscalationPolicyPathList.java | 2 +- .../EscalationPolicyPathListDataInner.java | 2 +- .../model/EscalationPolicyPathResponse.java | 2 +- .../EscalationPolicyPathResponseData.java | 2 +- ...lationPolicyPathTimeRestrictionsInner.java | 428 + .../model/EscalationPolicyResponse.java | 2 +- .../model/EscalationPolicyResponseData.java | 2 +- .../com/rootly/client/model/FormField.java | 4 +- .../rootly/client/model/FormFieldList.java | 2 +- .../rootly/client/model/FormFieldOption.java | 2 +- .../client/model/FormFieldOptionList.java | 2 +- .../client/model/FormFieldOptionResponse.java | 2 +- .../model/FormFieldOptionResponseData.java | 2 +- .../client/model/FormFieldPlacement.java | 2 +- .../model/FormFieldPlacementCondition.java | 2 +- .../FormFieldPlacementConditionList.java | 2 +- .../FormFieldPlacementConditionResponse.java | 2 +- ...rmFieldPlacementConditionResponseData.java | 2 +- .../client/model/FormFieldPlacementList.java | 2 +- .../model/FormFieldPlacementResponse.java | 2 +- .../model/FormFieldPlacementResponseData.java | 2 +- .../client/model/FormFieldPosition.java | 2 +- .../client/model/FormFieldPositionList.java | 2 +- .../model/FormFieldPositionResponse.java | 2 +- .../model/FormFieldPositionResponseData.java | 2 +- .../client/model/FormFieldResponse.java | 2 +- .../client/model/FormFieldResponseData.java | 2 +- .../java/com/rootly/client/model/FormSet.java | 2 +- .../rootly/client/model/FormSetCondition.java | 2 +- .../client/model/FormSetConditionList.java | 2 +- .../model/FormSetConditionResponse.java | 2 +- .../model/FormSetConditionResponseData.java | 2 +- .../com/rootly/client/model/FormSetList.java | 2 +- .../rootly/client/model/FormSetResponse.java | 2 +- .../client/model/FormSetResponseData.java | 2 +- .../rootly/client/model/Functionality.java | 30 +- .../client/model/FunctionalityList.java | 2 +- .../client/model/FunctionalityResponse.java | 2 +- .../model/FunctionalityResponseData.java | 2 +- .../model/GetAlertFieldIdParameter.java | 2 +- .../client/model/GetAlertsTaskParams.java | 2 +- .../model/GetGithubCommitsTaskParams.java | 2 +- .../GetGithubCommitsTaskParamsAnyOf.java | 2 +- .../GetGithubCommitsTaskParamsAnyOf1.java | 2 +- .../model/GetGitlabCommitsTaskParams.java | 2 +- .../GetGitlabCommitsTaskParamsAnyOf.java | 2 +- .../client/model/GetPulsesTaskParams.java | 2 +- ...lsesTaskParamsParentMessageThreadTask.java | 2 +- .../client/model/GetTeamIdParameter.java | 2 +- .../com/rootly/client/model/Heartbeat.java | 2 +- .../rootly/client/model/HeartbeatList.java | 2 +- .../client/model/HeartbeatResponse.java | 2 +- .../client/model/HeartbeatResponseData.java | 2 +- .../client/model/HttpClientTaskParams.java | 70 +- .../client/model/ImportMeetingRecording.java | 2 +- .../rootly/client/model/InTriageIncident.java | 2 +- .../client/model/InTriageIncidentData.java | 36 +- .../com/rootly/client/model/Incident.java | 48 +- .../client/model/IncidentActionItem.java | 2 +- .../client/model/IncidentActionItemList.java | 2 +- .../model/IncidentActionItemResponse.java | 2 +- .../model/IncidentActionItemResponseData.java | 2 +- .../model/IncidentCustomFieldSelection.java | 2 +- .../IncidentCustomFieldSelectionList.java | 2 +- .../IncidentCustomFieldSelectionResponse.java | 2 +- ...identCustomFieldSelectionResponseData.java | 2 +- .../rootly/client/model/IncidentEvent.java | 2 +- .../model/IncidentEventFunctionality.java | 2 +- .../model/IncidentEventFunctionalityList.java | 2 +- .../IncidentEventFunctionalityResponse.java | 2 +- ...ncidentEventFunctionalityResponseData.java | 2 +- .../client/model/IncidentEventList.java | 2 +- .../client/model/IncidentEventResponse.java | 2 +- .../model/IncidentEventResponseData.java | 2 +- .../client/model/IncidentEventService.java | 2 +- .../model/IncidentEventServiceList.java | 2 +- .../model/IncidentEventServiceResponse.java | 2 +- .../IncidentEventServiceResponseData.java | 2 +- .../rootly/client/model/IncidentFeedback.java | 2 +- .../client/model/IncidentFeedbackList.java | 2 +- .../model/IncidentFeedbackResponse.java | 2 +- .../model/IncidentFeedbackResponseData.java | 2 +- .../model/IncidentFormFieldSelection.java | 2 +- .../model/IncidentFormFieldSelectionList.java | 2 +- .../IncidentFormFieldSelectionResponse.java | 2 +- ...ncidentFormFieldSelectionResponseData.java | 2 +- .../com/rootly/client/model/IncidentList.java | 2 +- .../client/model/IncidentPermissionSet.java | 2 +- .../model/IncidentPermissionSetBoolean.java | 2 +- .../IncidentPermissionSetBooleanList.java | 2 +- .../IncidentPermissionSetBooleanResponse.java | 2 +- ...identPermissionSetBooleanResponseData.java | 2 +- .../model/IncidentPermissionSetList.java | 2 +- .../model/IncidentPermissionSetResource.java | 2 +- .../IncidentPermissionSetResourceList.java | 2 +- ...IncidentPermissionSetResourceResponse.java | 2 +- ...dentPermissionSetResourceResponseData.java | 2 +- .../model/IncidentPermissionSetResponse.java | 2 +- .../IncidentPermissionSetResponseData.java | 2 +- .../client/model/IncidentPostMortem.java | 2 +- .../client/model/IncidentPostMortemList.java | 2 +- .../model/IncidentPostMortemResponse.java | 2 +- .../model/IncidentPostMortemResponseData.java | 2 +- .../rootly/client/model/IncidentResponse.java | 2 +- .../client/model/IncidentResponseData.java | 2 +- .../model/IncidentRetrospectiveStep.java | 2 +- .../IncidentRetrospectiveStepResponse.java | 2 +- ...IncidentRetrospectiveStepResponseData.java | 2 +- .../com/rootly/client/model/IncidentRole.java | 2 +- .../rootly/client/model/IncidentRoleList.java | 2 +- .../client/model/IncidentRoleResponse.java | 2 +- .../model/IncidentRoleResponseData.java | 2 +- .../rootly/client/model/IncidentRoleTask.java | 2 +- .../client/model/IncidentRoleTaskList.java | 2 +- .../model/IncidentRoleTaskResponse.java | 2 +- .../model/IncidentRoleTaskResponseData.java | 2 +- .../client/model/IncidentStatusPageEvent.java | 2 +- .../model/IncidentStatusPageEventList.java | 2 +- .../IncidentStatusPageEventResponse.java | 2 +- .../IncidentStatusPageEventResponseData.java | 2 +- ...tusPageEventStatusPageComponentsInner.java | 2 +- .../client/model/IncidentSubStatus.java | 2 +- .../client/model/IncidentSubStatusList.java | 2 +- .../model/IncidentSubStatusResponse.java | 2 +- .../model/IncidentSubStatusResponseData.java | 2 +- .../client/model/IncidentTriggerParams.java | 176 +- .../com/rootly/client/model/IncidentType.java | 30 +- .../rootly/client/model/IncidentTypeList.java | 2 +- .../client/model/IncidentTypeResponse.java | 2 +- .../model/IncidentTypeResponseData.java | 2 +- ...ntZoomMeetingGlobalDialInNumbersInner.java | 2 +- .../client/model/IncidentsChartResponse.java | 2 +- .../InviteToGoogleChatSpaceTaskParams.java | 2 +- ...MicrosoftTeamsChannelRootlyTaskParams.java | 2 +- ...viteToMicrosoftTeamsChannelTaskParams.java | 2 +- ...nviteToSlackChannelOpsgenieTaskParams.java | 2 +- ...viteToSlackChannelPagerdutyTaskParams.java | 2 +- .../InviteToSlackChannelRootlyTaskParams.java | 2 +- .../model/InviteToSlackChannelTaskParams.java | 2 +- .../InviteToSlackChannelTaskParamsAnyOf.java | 2 +- .../InviteToSlackChannelTaskParamsAnyOf1.java | 2 +- .../InviteToSlackChannelTaskParamsAnyOf2.java | 2 +- ...viteToSlackChannelVictorOpsTaskParams.java | 2 +- .../com/rootly/client/model/IpRanges.java | 2 +- .../rootly/client/model/IpRangesResponse.java | 2 +- .../client/model/IpRangesResponseData.java | 2 +- .../com/rootly/client/model/JSONPath.java | 489 ++ .../client/model/JsonapiIncludedResource.java | 2 +- .../rootly/client/model/LinkIncidents.java | 214 + .../client/model/LinkIncidentsData.java | 297 + .../model/LinkIncidentsDataAttributes.java | 247 + .../java/com/rootly/client/model/Links.java | 2 +- .../rootly/client/model/LiveCallRouter.java | 28 +- ...llRouterEscalationPolicyTriggerParams.java | 303 + .../client/model/LiveCallRouterList.java | 2 +- .../LiveCallRouterPagingTargetsInner.java | 334 + .../client/model/LiveCallRouterResponse.java | 2 +- .../model/LiveCallRouterResponseData.java | 2 +- .../rootly/client/model/MeetingRecording.java | 2 +- .../client/model/MeetingRecordingDetail.java | 2 +- ...MeetingRecordingDetailAllOfTranscript.java | 2 +- .../model/MeetingRecordingDetailResponse.java | 2 +- .../MeetingRecordingDetailResponseData.java | 2 +- .../client/model/MeetingRecordingList.java | 2 +- .../model/MeetingRecordingResponse.java | 2 +- .../model/MeetingRecordingResponseData.java | 2 +- .../MeetingRecordingTranscriptSegment.java | 2 +- .../model/MeetingRecordingTranscriptWord.java | 2 +- .../java/com/rootly/client/model/Meta.java | 2 +- .../rootly/client/model/MitigateIncident.java | 2 +- .../client/model/MitigateIncidentData.java | 36 +- .../model/MitigateIncidentDataAttributes.java | 2 +- .../com/rootly/client/model/NewAlert.java | 2 +- .../com/rootly/client/model/NewAlertData.java | 2 +- .../client/model/NewAlertDataAttributes.java | 38 +- .../model/NewAlertDataAttributesActor.java | 280 + .../NewAlertDataAttributesActorOneOf.java | 214 + .../NewAlertDataAttributesActorOneOf1.java | 214 + ...ibutesAlertFieldValuesAttributesInner.java | 2 +- .../NewAlertDataAttributesLabelsInner.java | 2 +- ...ewAlertDataAttributesLabelsInnerValue.java | 2 +- ...ataAttributesNotificationTargetsInner.java | 2 +- .../rootly/client/model/NewAlertEvent.java | 2 +- .../client/model/NewAlertEventData.java | 2 +- .../model/NewAlertEventDataAttributes.java | 2 +- .../rootly/client/model/NewAlertField.java | 2 +- .../client/model/NewAlertFieldData.java | 2 +- .../model/NewAlertFieldDataAttributes.java | 47 +- .../rootly/client/model/NewAlertGroup.java | 2 +- .../client/model/NewAlertGroupData.java | 2 +- .../model/NewAlertGroupDataAttributes.java | 44 +- ...ertGroupDataAttributesAttributesInner.java | 2 +- ...ertGroupDataAttributesConditionsInner.java | 2 +- ...wAlertGroupDataAttributesTargetsInner.java | 2 +- .../rootly/client/model/NewAlertRoute.java | 2 +- .../client/model/NewAlertRouteData.java | 2 +- .../model/NewAlertRouteDataAttributes.java | 2 +- ...NewAlertRouteDataAttributesRulesInner.java | 2 +- ...ributesRulesInnerConditionGroupsInner.java | 2 +- ...erConditionGroupsInnerConditionsInner.java | 2 +- ...AttributesRulesInnerDestinationsInner.java | 2 +- .../client/model/NewAlertRoutingRule.java | 2 +- .../client/model/NewAlertRoutingRuleData.java | 2 +- .../NewAlertRoutingRuleDataAttributes.java | 2 +- ...tingRuleDataAttributesConditionsInner.java | 2 +- .../rootly/client/model/NewAlertUrgency.java | 2 +- .../client/model/NewAlertUrgencyData.java | 2 +- .../model/NewAlertUrgencyDataAttributes.java | 94 +- .../rootly/client/model/NewAlertsSource.java | 2 +- .../client/model/NewAlertsSourceData.java | 2 +- .../model/NewAlertsSourceDataAttributes.java | 2 +- ...butesAlertSourceFieldsAttributesInner.java | 2 +- ...lertSourceUrgencyRulesAttributesInner.java | 2 +- ...DataAttributesAlertTemplateAttributes.java | 2 +- ...ataAttributesResolutionRuleAttributes.java | 2 +- ...leAttributesConditionsAttributesInner.java | 2 +- ...rceDataAttributesSourceableAttributes.java | 128 +- ...ttributesFieldMappingsAttributesInner.java | 2 +- .../com/rootly/client/model/NewApiKey.java | 2 +- .../rootly/client/model/NewApiKeyData.java | 2 +- .../client/model/NewApiKeyDataAttributes.java | 2 +- .../rootly/client/model/NewAuthorization.java | 2 +- .../client/model/NewAuthorizationData.java | 2 +- .../model/NewAuthorizationDataAttributes.java | 2 +- .../com/rootly/client/model/NewCatalog.java | 2 +- .../model/NewCatalogChecklistTemplate.java | 2 +- .../NewCatalogChecklistTemplateData.java | 2 +- ...atalogChecklistTemplateDataAttributes.java | 2 +- ...listTemplateDataAttributesFieldsInner.java | 2 +- ...listTemplateDataAttributesOwnersInner.java | 2 +- .../rootly/client/model/NewCatalogData.java | 2 +- .../model/NewCatalogDataAttributes.java | 2 +- .../rootly/client/model/NewCatalogEntity.java | 2 +- .../client/model/NewCatalogEntityData.java | 2 +- .../model/NewCatalogEntityDataAttributes.java | 2 +- ...ogEntityDataAttributesPropertiesInner.java | 2 +- .../model/NewCatalogEntityProperty.java | 2 +- .../model/NewCatalogEntityPropertyData.java | 2 +- ...ewCatalogEntityPropertyDataAttributes.java | 2 +- .../rootly/client/model/NewCatalogField.java | 2 +- .../client/model/NewCatalogFieldData.java | 2 +- .../model/NewCatalogFieldDataAttributes.java | 2 +- .../client/model/NewCatalogProperty.java | 2 +- .../client/model/NewCatalogPropertyData.java | 2 +- .../NewCatalogPropertyDataAttributes.java | 2 +- .../com/rootly/client/model/NewCause.java | 2 +- .../com/rootly/client/model/NewCauseData.java | 2 +- .../client/model/NewCauseDataAttributes.java | 2 +- ...NewCauseDataAttributesPropertiesInner.java | 2 +- .../client/model/NewCommunicationsGroup.java | 2 +- .../model/NewCommunicationsGroupData.java | 2 +- .../NewCommunicationsGroupDataAttributes.java | 2 +- ...ommunicationExternalGroupMembersInner.java | 2 +- ...utesCommunicationGroupConditionsInner.java | 2 +- .../client/model/NewCommunicationsStage.java | 2 +- .../model/NewCommunicationsStageData.java | 2 +- .../NewCommunicationsStageDataAttributes.java | 2 +- .../model/NewCommunicationsTemplate.java | 2 +- .../model/NewCommunicationsTemplateData.java | 2 +- ...wCommunicationsTemplateDataAttributes.java | 2 +- ...nicationTemplateStagesAttributesInner.java | 2 +- .../client/model/NewCommunicationsType.java | 2 +- .../model/NewCommunicationsTypeData.java | 2 +- .../NewCommunicationsTypeDataAttributes.java | 2 +- .../rootly/client/model/NewCustomField.java | 2 +- .../client/model/NewCustomFieldData.java | 2 +- .../model/NewCustomFieldDataAttributes.java | 2 +- .../client/model/NewCustomFieldOption.java | 2 +- .../model/NewCustomFieldOptionData.java | 2 +- .../NewCustomFieldOptionDataAttributes.java | 2 +- .../rootly/client/model/NewCustomForm.java | 2 +- .../client/model/NewCustomFormData.java | 2 +- .../model/NewCustomFormDataAttributes.java | 2 +- .../com/rootly/client/model/NewDashboard.java | 2 +- .../rootly/client/model/NewDashboardData.java | 2 +- .../model/NewDashboardDataAttributes.java | 2 +- .../client/model/NewDashboardPanel.java | 2 +- .../client/model/NewDashboardPanelData.java | 2 +- .../NewDashboardPanelDataAttributes.java | 2 +- ...NewDashboardPanelDataAttributesParams.java | 2 +- ...rdPanelDataAttributesParamsDatalabels.java | 2 +- ...anelDataAttributesParamsDatasetsInner.java | 2 +- ...ttributesParamsDatasetsInnerAggregate.java | 2 +- ...ributesParamsDatasetsInnerFilterInner.java | 2 +- ...amsDatasetsInnerFilterInnerRulesInner.java | 2 +- ...aAttributesParamsDatasetsInnerGroupBy.java | 2 +- ...ibutesParamsDatasetsInnerGroupByOneOf.java | 2 +- ...hboardPanelDataAttributesParamsLegend.java | 2 +- ...wDashboardPanelDataAttributesPosition.java | 2 +- .../rootly/client/model/NewEdgeConnector.java | 2 +- .../client/model/NewEdgeConnectorAction.java | 2 +- .../model/NewEdgeConnectorActionAction.java | 2 +- .../NewEdgeConnectorActionActionMetadata.java | 2 +- .../model/NewEdgeConnectorEdgeConnector.java | 46 +- .../rootly/client/model/NewEnvironment.java | 2 +- .../client/model/NewEnvironmentData.java | 2 +- .../model/NewEnvironmentDataAttributes.java | 2 +- ...onmentDataAttributesSlackAliasesInner.java | 2 +- ...nmentDataAttributesSlackChannelsInner.java | 2 +- .../client/model/NewEscalationPolicy.java | 2 +- .../client/model/NewEscalationPolicyData.java | 2 +- .../NewEscalationPolicyDataAttributes.java | 2 +- ...tionPolicyDataAttributesBusinessHours.java | 20 +- .../model/NewEscalationPolicyLevel.java | 2 +- .../model/NewEscalationPolicyLevelData.java | 2 +- ...ewEscalationPolicyLevelDataAttributes.java | 2 +- ...tributesNotificationTargetParamsInner.java | 2 +- .../client/model/NewEscalationPolicyPath.java | 2 +- .../model/NewEscalationPolicyPathData.java | 2 +- ...NewEscalationPolicyPathDataAttributes.java | 250 +- ...aAttributesNotificationTypeRulesInner.java | 404 + ...ionPolicyPathDataAttributesRulesInner.java | 352 +- ...thDataAttributesTimeRestrictionsInner.java | 2 +- .../com/rootly/client/model/NewFormField.java | 2 +- .../rootly/client/model/NewFormFieldData.java | 2 +- .../model/NewFormFieldDataAttributes.java | 4 +- .../client/model/NewFormFieldOption.java | 2 +- .../client/model/NewFormFieldOptionData.java | 2 +- .../NewFormFieldOptionDataAttributes.java | 2 +- .../client/model/NewFormFieldPlacement.java | 2 +- .../model/NewFormFieldPlacementCondition.java | 2 +- .../NewFormFieldPlacementConditionData.java | 2 +- ...FieldPlacementConditionDataAttributes.java | 2 +- .../model/NewFormFieldPlacementData.java | 2 +- .../NewFormFieldPlacementDataAttributes.java | 2 +- .../client/model/NewFormFieldPosition.java | 2 +- .../model/NewFormFieldPositionData.java | 2 +- .../NewFormFieldPositionDataAttributes.java | 2 +- .../com/rootly/client/model/NewFormSet.java | 2 +- .../client/model/NewFormSetCondition.java | 2 +- .../client/model/NewFormSetConditionData.java | 2 +- .../NewFormSetConditionDataAttributes.java | 2 +- .../rootly/client/model/NewFormSetData.java | 2 +- .../model/NewFormSetDataAttributes.java | 2 +- .../rootly/client/model/NewFunctionality.java | 2 +- .../client/model/NewFunctionalityData.java | 2 +- .../model/NewFunctionalityDataAttributes.java | 2 +- .../com/rootly/client/model/NewHeartbeat.java | 2 +- .../rootly/client/model/NewHeartbeatData.java | 2 +- .../model/NewHeartbeatDataAttributes.java | 2 +- .../com/rootly/client/model/NewIncident.java | 2 +- .../client/model/NewIncidentActionItem.java | 2 +- .../model/NewIncidentActionItemData.java | 2 +- .../NewIncidentActionItemDataAttributes.java | 2 +- ...ataAttributesFormFieldSelectionsInner.java | 2 +- ...tributesFormFieldSelectionsInnerValue.java | 2 +- .../NewIncidentCustomFieldSelection.java | 2 +- .../NewIncidentCustomFieldSelectionData.java | 2 +- ...entCustomFieldSelectionDataAttributes.java | 2 +- .../rootly/client/model/NewIncidentData.java | 2 +- .../model/NewIncidentDataAttributes.java | 94 +- .../rootly/client/model/NewIncidentEvent.java | 2 +- .../client/model/NewIncidentEventData.java | 2 +- .../model/NewIncidentEventDataAttributes.java | 2 +- .../model/NewIncidentEventFunctionality.java | 2 +- .../NewIncidentEventFunctionalityData.java | 2 +- ...identEventFunctionalityDataAttributes.java | 2 +- .../client/model/NewIncidentEventService.java | 2 +- .../model/NewIncidentEventServiceData.java | 2 +- ...NewIncidentEventServiceDataAttributes.java | 2 +- .../client/model/NewIncidentFeedback.java | 2 +- .../client/model/NewIncidentFeedbackData.java | 2 +- .../NewIncidentFeedbackDataAttributes.java | 2 +- .../model/NewIncidentFormFieldSelection.java | 2 +- .../NewIncidentFormFieldSelectionData.java | 2 +- ...identFormFieldSelectionDataAttributes.java | 2 +- .../model/NewIncidentPermissionSet.java | 2 +- .../NewIncidentPermissionSetBoolean.java | 2 +- .../NewIncidentPermissionSetBooleanData.java | 2 +- ...entPermissionSetBooleanDataAttributes.java | 2 +- ...etBooleanDataAttributesSeverityParams.java | 2 +- .../model/NewIncidentPermissionSetData.java | 2 +- ...ewIncidentPermissionSetDataAttributes.java | 2 +- .../NewIncidentPermissionSetResource.java | 2 +- .../NewIncidentPermissionSetResourceData.java | 2 +- ...ntPermissionSetResourceDataAttributes.java | 2 +- .../rootly/client/model/NewIncidentRole.java | 2 +- .../client/model/NewIncidentRoleData.java | 2 +- .../model/NewIncidentRoleDataAttributes.java | 2 +- .../client/model/NewIncidentRoleTask.java | 2 +- .../client/model/NewIncidentRoleTaskData.java | 2 +- .../NewIncidentRoleTaskDataAttributes.java | 2 +- .../model/NewIncidentStatusPageEvent.java | 2 +- .../model/NewIncidentStatusPageEventData.java | 2 +- ...IncidentStatusPageEventDataAttributes.java | 4 +- ...taAttributesStatusPageComponentsInner.java | 2 +- .../client/model/NewIncidentSubStatus.java | 2 +- .../model/NewIncidentSubStatusData.java | 2 +- .../NewIncidentSubStatusDataAttributes.java | 2 +- .../rootly/client/model/NewIncidentType.java | 2 +- .../client/model/NewIncidentTypeData.java | 2 +- .../model/NewIncidentTypeDataAttributes.java | 2 +- .../client/model/NewLiveCallRouter.java | 2 +- .../client/model/NewLiveCallRouterData.java | 2 +- .../NewLiveCallRouterDataAttributes.java | 2 +- ...tributesEscalationPolicyTriggerParams.java | 2 +- ...outerDataAttributesPagingTargetsInner.java | 2 +- .../client/model/NewOnCallPayReport.java | 2 +- .../client/model/NewOnCallPayReportData.java | 2 +- .../NewOnCallPayReportDataAttributes.java | 2 +- .../rootly/client/model/NewOnCallRole.java | 2 +- .../client/model/NewOnCallRoleData.java | 2 +- .../model/NewOnCallRoleDataAttributes.java | 97 +- .../rootly/client/model/NewOnCallShadow.java | 2 +- .../client/model/NewOnCallShadowData.java | 2 +- .../model/NewOnCallShadowDataAttributes.java | 2 +- .../rootly/client/model/NewOverrideShift.java | 2 +- .../client/model/NewOverrideShiftData.java | 2 +- .../model/NewOverrideShiftDataAttributes.java | 2 +- .../com/rootly/client/model/NewPlaybook.java | 2 +- .../rootly/client/model/NewPlaybookData.java | 2 +- .../model/NewPlaybookDataAttributes.java | 161 +- .../rootly/client/model/NewPlaybookTask.java | 2 +- .../client/model/NewPlaybookTaskData.java | 2 +- .../model/NewPlaybookTaskDataAttributes.java | 2 +- .../client/model/NewPostMortemTemplate.java | 2 +- .../model/NewPostMortemTemplateData.java | 2 +- .../NewPostMortemTemplateDataAttributes.java | 2 +- .../com/rootly/client/model/NewProblem.java | 214 + .../client/model/NewProblemActionItem.java | 214 + .../model/NewProblemActionItemData.java | 297 + .../NewProblemActionItemDataAttributes.java | 521 ++ .../rootly/client/model/NewProblemData.java | 297 + .../model/NewProblemDataAttributes.java | 778 ++ .../com/rootly/client/model/NewPulse.java | 2 +- .../com/rootly/client/model/NewPulseData.java | 2 +- .../client/model/NewPulseDataAttributes.java | 2 +- .../NewPulseDataAttributesLabelsInner.java | 2 +- .../NewPulseDataAttributesRefsInner.java | 2 +- .../client/model/NewRetrospectiveProcess.java | 2 +- .../model/NewRetrospectiveProcessData.java | 2 +- ...NewRetrospectiveProcessDataAttributes.java | 2 +- ...sRetrospectiveProcessMatchingCriteria.java | 2 +- ...ospectiveProcessMatchingCriteriaOneOf.java | 2 +- ...spectiveProcessMatchingCriteriaOneOf1.java | 2 +- ...spectiveProcessMatchingCriteriaOneOf2.java | 2 +- .../model/NewRetrospectiveProcessGroup.java | 2 +- .../NewRetrospectiveProcessGroupData.java | 2 +- ...trospectiveProcessGroupDataAttributes.java | 2 +- .../NewRetrospectiveProcessGroupStep.java | 2 +- .../NewRetrospectiveProcessGroupStepData.java | 2 +- ...pectiveProcessGroupStepDataAttributes.java | 2 +- .../client/model/NewRetrospectiveStep.java | 2 +- .../model/NewRetrospectiveStepData.java | 2 +- .../NewRetrospectiveStepDataAttributes.java | 2 +- .../java/com/rootly/client/model/NewRole.java | 2 +- .../com/rootly/client/model/NewRoleData.java | 2 +- .../client/model/NewRoleDataAttributes.java | 194 +- .../com/rootly/client/model/NewSchedule.java | 2 +- .../rootly/client/model/NewScheduleData.java | 2 +- .../model/NewScheduleDataAttributes.java | 68 +- ...ewScheduleDataAttributesBusinessHours.java | 273 + ...NewScheduleDataAttributesSlackChannel.java | 2 +- ...wScheduleDataAttributesSlackUserGroup.java | 2 +- .../client/model/NewScheduleRotation.java | 2 +- .../model/NewScheduleRotationActiveDay.java | 2 +- .../NewScheduleRotationActiveDayData.java | 2 +- ...heduleRotationActiveDayDataAttributes.java | 2 +- ...taAttributesActiveTimeAttributesInner.java | 2 +- .../client/model/NewScheduleRotationData.java | 2 +- .../NewScheduleRotationDataAttributes.java | 4 +- ...taAttributesActiveTimeAttributesInner.java | 2 +- ...ttributesScheduleRotationMembersInner.java | 2 +- ...ributesScheduleRotationableAttributes.java | 2 +- ...esScheduleRotationableAttributesOneOf.java | 2 +- ...sScheduleRotationableAttributesOneOf1.java | 2 +- ...sScheduleRotationableAttributesOneOf2.java | 2 +- ...sScheduleRotationableAttributesOneOf3.java | 2 +- .../client/model/NewScheduleRotationUser.java | 2 +- .../model/NewScheduleRotationUserData.java | 2 +- ...NewScheduleRotationUserDataAttributes.java | 2 +- .../com/rootly/client/model/NewSecret.java | 2 +- .../rootly/client/model/NewSecretData.java | 2 +- .../client/model/NewSecretDataAttributes.java | 47 +- .../com/rootly/client/model/NewService.java | 2 +- .../rootly/client/model/NewServiceData.java | 2 +- .../model/NewServiceDataAttributes.java | 2 +- ...ceDataAttributesAlertBroadcastChannel.java | 2 +- ...ataAttributesIncidentBroadcastChannel.java | 2 +- .../com/rootly/client/model/NewSeverity.java | 2 +- .../rootly/client/model/NewSeverityData.java | 2 +- .../model/NewSeverityDataAttributes.java | 2 +- .../client/model/NewShiftCoverageRequest.java | 2 +- .../model/NewShiftCoverageRequestData.java | 2 +- ...NewShiftCoverageRequestDataAttributes.java | 47 +- .../java/com/rootly/client/model/NewSla.java | 2 +- .../com/rootly/client/model/NewSlaData.java | 2 +- .../client/model/NewSlaDataAttributes.java | 2 +- .../NewSlaDataAttributesConditionsInner.java | 2 +- ...ibutesNotificationConfigurationsInner.java | 2 +- .../rootly/client/model/NewStatusPage.java | 2 +- .../model/NewStatusPageAnnouncement.java | 2 +- .../model/NewStatusPageAnnouncementData.java | 2 +- ...wStatusPageAnnouncementDataAttributes.java | 2 +- .../client/model/NewStatusPageComponent.java | 2 +- .../model/NewStatusPageComponentData.java | 2 +- .../NewStatusPageComponentDataAttributes.java | 2 +- .../model/NewStatusPageComponentGroup.java | 2 +- .../NewStatusPageComponentGroupData.java | 2 +- ...tatusPageComponentGroupDataAttributes.java | 2 +- .../client/model/NewStatusPageData.java | 2 +- .../model/NewStatusPageDataAttributes.java | 2 +- .../client/model/NewStatusPageTeam.java | 214 + .../client/model/NewStatusPageTeamData.java | 297 + .../NewStatusPageTeamDataAttributes.java | 301 + .../client/model/NewStatusPageTemplate.java | 2 +- .../model/NewStatusPageTemplateData.java | 2 +- .../NewStatusPageTemplateDataAttributes.java | 2 +- .../com/rootly/client/model/NewSubStatus.java | 2 +- .../rootly/client/model/NewSubStatusData.java | 2 +- .../model/NewSubStatusDataAttributes.java | 2 +- .../java/com/rootly/client/model/NewTeam.java | 2 +- .../com/rootly/client/model/NewTeamData.java | 2 +- .../client/model/NewTeamDataAttributes.java | 152 +- .../client/model/NewUserEmailAddress.java | 2 +- .../client/model/NewUserEmailAddressData.java | 2 +- .../NewUserEmailAddressDataAttributes.java | 2 +- .../client/model/NewUserNotificationRule.java | 2 +- .../model/NewUserNotificationRuleData.java | 2 +- ...NewUserNotificationRuleDataAttributes.java | 2 +- .../client/model/NewUserPhoneNumber.java | 2 +- .../client/model/NewUserPhoneNumberData.java | 2 +- .../NewUserPhoneNumberDataAttributes.java | 2 +- .../client/model/NewVerifiedDomain.java | 2 +- .../client/model/NewVerifiedDomainData.java | 2 +- .../NewVerifiedDomainDataAttributes.java | 2 +- .../client/model/NewWebhooksEndpoint.java | 2 +- .../client/model/NewWebhooksEndpointData.java | 2 +- .../NewWebhooksEndpointDataAttributes.java | 4 +- ...pointDataAttributesCustomHeadersInner.java | 2 +- .../com/rootly/client/model/NewWorkflow.java | 2 +- ...wWorkflowActionItemFormFieldCondition.java | 2 +- ...kflowActionItemFormFieldConditionData.java | 2 +- ...nItemFormFieldConditionDataAttributes.java | 2 +- .../NewWorkflowCustomFieldSelection.java | 2 +- .../NewWorkflowCustomFieldSelectionData.java | 2 +- ...lowCustomFieldSelectionDataAttributes.java | 2 +- .../rootly/client/model/NewWorkflowData.java | 2 +- .../model/NewWorkflowDataAttributes.java | 210 +- ...butesFailureNotificationChannelsInner.java | 245 + ...ewWorkflowDataAttributesTriggerParams.java | 2 +- .../model/NewWorkflowFormFieldCondition.java | 2 +- .../NewWorkflowFormFieldConditionData.java | 2 +- ...kflowFormFieldConditionDataAttributes.java | 2 +- .../rootly/client/model/NewWorkflowGroup.java | 2 +- .../client/model/NewWorkflowGroupData.java | 2 +- .../model/NewWorkflowGroupDataAttributes.java | 4 +- .../rootly/client/model/NewWorkflowRun.java | 2 +- .../client/model/NewWorkflowRunData.java | 2 +- .../model/NewWorkflowRunDataAttributes.java | 2 +- .../NewWorkflowRunDataAttributesAnyOf.java | 2 +- .../NewWorkflowRunDataAttributesAnyOf1.java | 2 +- .../NewWorkflowRunDataAttributesAnyOf2.java | 2 +- .../NewWorkflowRunDataAttributesAnyOf3.java | 2 +- .../NewWorkflowRunDataAttributesAnyOf4.java | 2 +- .../NewWorkflowRunDataAttributesAnyOf5.java | 2 +- .../rootly/client/model/NewWorkflowTask.java | 2 +- .../client/model/NewWorkflowTaskData.java | 2 +- .../model/NewWorkflowTaskDataAttributes.java | 2 +- ...wWorkflowTaskDataAttributesTaskParams.java | 152 +- .../model/NullableSeverityResponse.java | 266 + .../rootly/client/model/OnCallPayReport.java | 6 +- .../client/model/OnCallPayReportList.java | 2 +- .../client/model/OnCallPayReportResponse.java | 2 +- .../model/OnCallPayReportResponseData.java | 2 +- .../com/rootly/client/model/OnCallRole.java | 97 +- .../rootly/client/model/OnCallRoleList.java | 2 +- .../client/model/OnCallRoleRelationship.java | 2 +- .../model/OnCallRoleRelationshipData.java | 2 +- .../client/model/OnCallRoleResponse.java | 2 +- .../client/model/OnCallRoleResponseData.java | 2 +- .../com/rootly/client/model/OnCallShadow.java | 2 +- .../client/model/OnCallShadowResponse.java | 2 +- .../model/OnCallShadowResponseData.java | 2 +- .../client/model/OnCallShadowsList.java | 2 +- .../model/OnCallShadowsListDataInner.java | 2 +- .../java/com/rootly/client/model/Oncall.java | 2 +- .../com/rootly/client/model/OncallList.java | 2 +- .../client/model/OncallListDataInner.java | 2 +- .../client/model/OncallRelationships.java | 2 +- .../OncallRelationshipsEscalationPolicy.java | 2 +- ...callRelationshipsEscalationPolicyData.java | 2 +- .../model/OncallRelationshipsSchedule.java | 2 +- .../OncallRelationshipsScheduleData.java | 2 +- .../client/model/OncallRelationshipsUser.java | 2 +- .../model/OncallRelationshipsUserData.java | 2 +- .../rootly/client/model/OverriddenShift.java | 374 + .../rootly/client/model/OverrideShift.java | 2 +- .../client/model/OverrideShiftList.java | 2 +- .../client/model/OverrideShiftResponse.java | 2 +- .../model/OverrideShiftResponseData.java | 2 +- .../PageJsmopsOnCallRespondersTaskParams.java | 2 +- ...ageOpsgenieOnCallRespondersTaskParams.java | 2 +- ...gePagerdutyOnCallRespondersTaskParams.java | 2 +- .../PageRootlyOnCallRespondersTaskParams.java | 2 +- ...geVictorOpsOnCallRespondersTaskParams.java | 2 +- ...torOpsOnCallRespondersTaskParamsAnyOf.java | 2 +- ...orOpsOnCallRespondersTaskParamsAnyOf1.java | 2 +- .../rootly/client/model/PatchAlertRoute.java | 2 +- .../client/model/PatchAlertRouteData.java | 36 +- .../model/PatchAlertRouteDataAttributes.java | 2 +- ...tchAlertRouteDataAttributesRulesInner.java | 2 +- ...ributesRulesInnerConditionGroupsInner.java | 2 +- ...erConditionGroupsInnerConditionsInner.java | 2 +- ...AttributesRulesInnerDestinationsInner.java | 2 +- .../model/PhoneVerificationResponse.java | 2 +- .../com/rootly/client/model/Playbook.java | 159 +- .../com/rootly/client/model/PlaybookList.java | 2 +- .../rootly/client/model/PlaybookResponse.java | 2 +- .../client/model/PlaybookResponseData.java | 2 +- .../com/rootly/client/model/PlaybookTask.java | 2 +- .../rootly/client/model/PlaybookTaskList.java | 2 +- .../client/model/PlaybookTaskResponse.java | 2 +- .../model/PlaybookTaskResponseData.java | 2 +- .../client/model/PostMortemTemplate.java | 2 +- .../client/model/PostMortemTemplateList.java | 2 +- .../model/PostMortemTemplateResponse.java | 2 +- .../model/PostMortemTemplateResponseData.java | 2 +- .../client/model/PostMortemTriggerParams.java | 176 +- .../rootly/client/model/PrintTaskParams.java | 2 +- .../com/rootly/client/model/PrivateAgent.java | 329 + .../client/model/PrivateAgentAttributes.java | 667 ++ .../PrivateAgentAttributesProvidersInner.java | 387 + ...ibutesProvidersInnerCapabilitiesInner.java | 305 + ...teAgentAttributesProvidersInnerHealth.java | 266 + ...teAgentAttributesProvidersInnerPolicy.java | 1594 ++++ .../PrivateAgentEnrollmentTokenResponse.java | 214 + ...ivateAgentEnrollmentTokenResponseData.java | 329 + ...EnrollmentTokenResponseDataAttributes.java | 243 + .../rootly/client/model/PrivateAgentList.java | 260 + .../client/model/PrivateAgentResponse.java | 214 + .../client/model/PrivateAgentSummary.java | 329 + .../model/PrivateAgentSummaryAttributes.java | 618 ++ .../client/model/PrivateAgentUpdate.java | 214 + .../client/model/PrivateAgentUpdateData.java | 297 + .../PrivateAgentUpdateDataAttributes.java | 275 + .../java/com/rootly/client/model/Problem.java | 1237 +++ .../client/model/ProblemActionItem.java | 676 ++ .../client/model/ProblemActionItemList.java | 344 + .../model/ProblemActionItemResponse.java | 266 + .../model/ProblemActionItemResponseData.java | 328 + .../com/rootly/client/model/ProblemList.java | 344 + .../rootly/client/model/ProblemResponse.java | 266 + .../client/model/ProblemResponseData.java | 328 + .../model/PublishIncidentTaskParams.java | 255 +- .../java/com/rootly/client/model/Pulse.java | 30 +- .../rootly/client/model/PulseLabelsInner.java | 245 + .../com/rootly/client/model/PulseList.java | 2 +- .../rootly/client/model/PulseRefsInner.java | 245 + .../rootly/client/model/PulseResponse.java | 2 +- .../client/model/PulseResponseData.java | 2 +- .../client/model/PulseTriggerParams.java | 2 +- .../java/com/rootly/client/model/Receipt.java | 2 +- .../client/model/RedisClientTaskParams.java | 2 +- .../rootly/client/model/RelatedIncidents.java | 351 + .../RemoveFromSlackChannelTaskParams.java | 371 + ...RemoveGoogleDocsPermissionsTaskParams.java | 2 +- .../client/model/RemoveSubscribers.java | 2 +- .../client/model/RemoveSubscribersData.java | 2 +- .../RemoveSubscribersDataAttributes.java | 2 +- .../RenameGoogleChatSpaceTaskParams.java | 2 +- ...RenameMicrosoftTeamsChannelTaskParams.java | 2 +- .../model/RenameSlackChannelTaskParams.java | 60 +- .../com/rootly/client/model/ResolveAlert.java | 2 +- .../rootly/client/model/ResolveAlertData.java | 2 +- .../model/ResolveAlertDataAttributes.java | 38 +- .../rootly/client/model/ResolveIncident.java | 2 +- .../client/model/ResolveIncidentData.java | 36 +- .../model/ResolveIncidentDataAttributes.java | 2 +- .../rootly/client/model/RestartIncident.java | 2 +- .../client/model/RestartIncidentData.java | 36 +- .../model/RetrospectiveConfiguration.java | 2 +- .../model/RetrospectiveConfigurationList.java | 2 +- ...trospectiveConfigurationListDataInner.java | 2 +- .../RetrospectiveConfigurationResponse.java | 2 +- ...etrospectiveConfigurationResponseData.java | 2 +- .../client/model/RetrospectiveProcess.java | 2 +- .../model/RetrospectiveProcessGroup.java | 2 +- .../model/RetrospectiveProcessGroupList.java | 2 +- .../RetrospectiveProcessGroupResponse.java | 2 +- ...RetrospectiveProcessGroupResponseData.java | 2 +- .../model/RetrospectiveProcessGroupStep.java | 2 +- .../RetrospectiveProcessGroupStepList.java | 2 +- ...RetrospectiveProcessGroupStepResponse.java | 2 +- ...ospectiveProcessGroupStepResponseData.java | 2 +- .../model/RetrospectiveProcessList.java | 2 +- .../RetrospectiveProcessListDataInner.java | 2 +- .../model/RetrospectiveProcessResponse.java | 2 +- .../RetrospectiveProcessResponseData.java | 2 +- .../client/model/RetrospectiveStep.java | 2 +- .../client/model/RetrospectiveStepList.java | 2 +- .../model/RetrospectiveStepResponse.java | 2 +- .../model/RetrospectiveStepResponseData.java | 2 +- .../java/com/rootly/client/model/Role.java | 194 +- .../com/rootly/client/model/RoleList.java | 2 +- .../rootly/client/model/RoleRelationship.java | 2 +- .../client/model/RoleRelationshipData.java | 2 +- .../com/rootly/client/model/RoleResponse.java | 2 +- .../rootly/client/model/RoleResponseData.java | 2 +- .../com/rootly/client/model/RotateApiKey.java | 2 +- .../rootly/client/model/RotateApiKeyData.java | 2 +- .../model/RotateApiKeyDataAttributes.java | 2 +- .../model/RunCommandHerokuTaskParams.java | 2 +- .../com/rootly/client/model/Schedule.java | 66 +- .../client/model/ScheduleBusinessHours.java | 273 + .../com/rootly/client/model/ScheduleList.java | 2 +- .../client/model/ScheduleListDataInner.java | 2 +- .../rootly/client/model/ScheduleResponse.java | 2 +- .../client/model/ScheduleResponseData.java | 2 +- .../rootly/client/model/ScheduleRotation.java | 18 +- .../model/ScheduleRotationActiveDay.java | 16 +- ...ionActiveDayActiveTimeAttributesInner.java | 236 + .../model/ScheduleRotationActiveDayList.java | 2 +- ...cheduleRotationActiveDayListDataInner.java | 2 +- .../ScheduleRotationActiveDayResponse.java | 2 +- ...ScheduleRotationActiveDayResponseData.java | 2 +- ...duleRotationActiveTimeAttributesInner.java | 245 + .../client/model/ScheduleRotationList.java | 2 +- .../model/ScheduleRotationResponse.java | 2 +- .../model/ScheduleRotationResponseData.java | 2 +- .../client/model/ScheduleRotationUser.java | 2 +- .../model/ScheduleRotationUserList.java | 2 +- .../ScheduleRotationUserListDataInner.java | 2 +- .../model/ScheduleRotationUserResponse.java | 2 +- .../client/model/ScheduleSlackChannel.java | 2 +- .../client/model/ScheduleSlackUserGroup.java | 2 +- .../java/com/rootly/client/model/Secret.java | 45 +- .../com/rootly/client/model/SecretList.java | 2 +- .../rootly/client/model/SecretResponse.java | 2 +- .../client/model/SecretResponseData.java | 2 +- .../model/SendDashboardReportTaskParams.java | 2 +- .../client/model/SendEmailTaskParams.java | 2 +- .../SendGoogleChatAttachmentsTaskParams.java | 2 +- .../SendGoogleChatMessageTaskParams.java | 2 +- .../SendMicrosoftTeamsBlocksTaskParams.java | 2 +- ...ndMicrosoftTeamsChatMessageTaskParams.java | 2 +- .../SendMicrosoftTeamsMessageTaskParams.java | 2 +- .../model/SendSlackBlocksTaskParams.java | 2 +- .../model/SendSlackMessageTaskParams.java | 2 +- .../SendSlackMessageTaskParamsAnyOf.java | 2 +- .../client/model/SendSmsTaskParams.java | 2 +- .../model/SendWhatsappMessageTaskParams.java | 2 +- .../java/com/rootly/client/model/Service.java | 1328 +-- .../model/ServiceAlertBroadcastChannel.java | 2 +- .../ServiceIncidentBroadcastChannel.java | 2 +- .../com/rootly/client/model/ServiceList.java | 2 +- .../rootly/client/model/ServiceResponse.java | 2 +- .../client/model/ServiceResponseData.java | 2 +- .../com/rootly/client/model/Severity.java | 30 +- .../com/rootly/client/model/SeverityList.java | 2 +- .../rootly/client/model/SeverityResponse.java | 2 +- .../client/model/SeverityResponseData.java | 2 +- .../java/com/rootly/client/model/Shift.java | 58 +- .../client/model/ShiftCoverageRequest.java | 2 +- .../model/ShiftCoverageRequestList.java | 2 +- .../model/ShiftCoverageRequestResponse.java | 2 +- .../ShiftCoverageRequestResponseData.java | 2 +- .../com/rootly/client/model/ShiftList.java | 2 +- .../client/model/ShiftListDataInner.java | 2 +- .../rootly/client/model/ShiftOverride.java | 2 +- .../client/model/ShiftOverrideResponse.java | 2 +- .../model/ShiftOverrideResponseData.java | 2 +- .../client/model/ShiftRelationships.java | 2 +- .../model/ShiftRelationshipsAssignee.java | 2 +- .../model/ShiftRelationshipsAssigneeData.java | 2 +- .../ShiftRelationshipsShiftOverride.java | 2 +- .../ShiftRelationshipsShiftOverrideData.java | 2 +- .../client/model/SimpleTriggerParams.java | 2 +- .../java/com/rootly/client/model/Sla.java | 2 +- .../client/model/SlaConditionsInner.java | 2 +- .../java/com/rootly/client/model/SlaList.java | 2 +- .../SlaNotificationConfigurationsInner.java | 2 +- .../com/rootly/client/model/SlaResponse.java | 2 +- .../rootly/client/model/SlaResponseData.java | 2 +- .../com/rootly/client/model/SlackChannel.java | 2 +- .../model/SnapshotDatadogGraphTaskParams.java | 2 +- .../SnapshotGrafanaDashboardTaskParams.java | 2 +- .../model/SnapshotLookerLookTaskParams.java | 2 +- .../SnapshotNewRelicGraphTaskParams.java | 2 +- .../com/rootly/client/model/SnoozeAlert.java | 2 +- .../rootly/client/model/SnoozeAlertData.java | 2 +- .../model/SnoozeAlertDataAttributes.java | 50 +- .../client/model/StartSessionRequest.java | 2 +- .../client/model/StartSessionResponse.java | 2 +- .../model/StartSessionResponseData.java | 2 +- .../java/com/rootly/client/model/Status.java | 2 +- .../com/rootly/client/model/StatusList.java | 2 +- .../com/rootly/client/model/StatusPage.java | 2 +- .../client/model/StatusPageAnnouncement.java | 2 +- .../model/StatusPageAnnouncementList.java | 2 +- .../model/StatusPageAnnouncementResponse.java | 2 +- .../StatusPageAnnouncementResponseData.java | 2 +- .../client/model/StatusPageComponent.java | 2 +- .../model/StatusPageComponentGroup.java | 2 +- .../model/StatusPageComponentGroupList.java | 2 +- .../StatusPageComponentGroupResponse.java | 2 +- .../StatusPageComponentGroupResponseData.java | 2 +- .../client/model/StatusPageComponentList.java | 2 +- .../model/StatusPageComponentResponse.java | 2 +- .../StatusPageComponentResponseData.java | 2 +- .../rootly/client/model/StatusPageList.java | 2 +- .../client/model/StatusPageResponse.java | 2 +- .../client/model/StatusPageResponseData.java | 2 +- .../rootly/client/model/StatusPageTeam.java | 388 + .../client/model/StatusPageTeamList.java | 344 + .../client/model/StatusPageTeamResponse.java | 266 + .../model/StatusPageTeamResponseData.java | 328 + .../client/model/StatusPageTemplate.java | 2 +- .../client/model/StatusPageTemplateList.java | 2 +- .../StatusPageTemplateListDataInner.java | 2 +- .../model/StatusPageTemplateResponse.java | 2 +- .../model/StatusPageTemplateResponseData.java | 2 +- .../rootly/client/model/StatusResponse.java | 2 +- .../client/model/StatusResponseData.java | 2 +- .../com/rootly/client/model/SubStatus.java | 2 +- .../rootly/client/model/SubStatusList.java | 2 +- .../client/model/SubStatusResponse.java | 2 +- .../client/model/SubStatusResponseData.java | 2 +- .../java/com/rootly/client/model/Team.java | 150 +- .../com/rootly/client/model/TeamList.java | 2 +- .../com/rootly/client/model/TeamResponse.java | 2 +- .../rootly/client/model/TeamResponseData.java | 2 +- .../client/model/TiptapBlockSchema.java | 2 +- .../TiptapBlockSchemaFollowupComponent.java | 2 +- .../TiptapBlockSchemaTimelineComponent.java | 2 +- .../model/TriggerWorkflowTaskParams.java | 10 +- .../model/TweetTwitterMessageTaskParams.java | 2 +- .../client/model/UnassignRoleFromUser.java | 2 +- .../model/UnassignRoleFromUserData.java | 2 +- .../UnassignRoleFromUserDataAttributes.java | 2 +- .../model/UpdateActionItemTaskParams.java | 2 +- .../UpdateAirtableTableRecordTaskParams.java | 2 +- .../com/rootly/client/model/UpdateAlert.java | 2 +- .../model/UpdateAlertConfiguration.java | 214 + .../model/UpdateAlertConfigurationData.java | 327 + ...pdateAlertConfigurationDataAttributes.java | 379 + ...tionDataAttributesAlertAcknowledgment.java | 337 + ...ibutesDefaultUserNotificationSettings.java | 368 + .../rootly/client/model/UpdateAlertData.java | 36 +- .../model/UpdateAlertDataAttributes.java | 38 +- .../rootly/client/model/UpdateAlertEvent.java | 2 +- .../client/model/UpdateAlertEventData.java | 36 +- .../model/UpdateAlertEventDataAttributes.java | 2 +- .../rootly/client/model/UpdateAlertField.java | 2 +- .../client/model/UpdateAlertFieldData.java | 36 +- .../model/UpdateAlertFieldDataAttributes.java | 47 +- .../rootly/client/model/UpdateAlertGroup.java | 2 +- .../client/model/UpdateAlertGroupData.java | 36 +- .../model/UpdateAlertGroupDataAttributes.java | 44 +- .../rootly/client/model/UpdateAlertRoute.java | 2 +- .../client/model/UpdateAlertRouteData.java | 36 +- .../model/UpdateAlertRouteDataAttributes.java | 2 +- .../client/model/UpdateAlertRoutingRule.java | 2 +- .../model/UpdateAlertRoutingRuleData.java | 36 +- .../UpdateAlertRoutingRuleDataAttributes.java | 2 +- ...tingRuleDataAttributesConditionsInner.java | 2 +- ...tRoutingRuleDataAttributesDestination.java | 2 +- .../client/model/UpdateAlertUrgency.java | 2 +- .../client/model/UpdateAlertUrgencyData.java | 36 +- .../UpdateAlertUrgencyDataAttributes.java | 94 +- .../client/model/UpdateAlertsSource.java | 2 +- .../client/model/UpdateAlertsSourceData.java | 36 +- .../UpdateAlertsSourceDataAttributes.java | 16 +- ...butesAlertSourceFieldsAttributesInner.java | 275 + .../com/rootly/client/model/UpdateApiKey.java | 2 +- .../rootly/client/model/UpdateApiKeyData.java | 36 +- .../model/UpdateApiKeyDataAttributes.java | 2 +- .../model/UpdateAsanaTaskTaskParams.java | 2 +- .../model/UpdateAttachedAlertsTaskParams.java | 2 +- .../client/model/UpdateAuthorization.java | 2 +- .../client/model/UpdateAuthorizationData.java | 36 +- .../UpdateAuthorizationDataAttributes.java | 2 +- .../rootly/client/model/UpdateCatalog.java | 2 +- .../model/UpdateCatalogChecklistTemplate.java | 2 +- .../UpdateCatalogChecklistTemplateData.java | 36 +- ...atalogChecklistTemplateDataAttributes.java | 2 +- .../client/model/UpdateCatalogData.java | 36 +- .../model/UpdateCatalogDataAttributes.java | 2 +- .../client/model/UpdateCatalogEntity.java | 2 +- .../client/model/UpdateCatalogEntityData.java | 36 +- .../UpdateCatalogEntityDataAttributes.java | 2 +- .../model/UpdateCatalogEntityProperty.java | 2 +- .../UpdateCatalogEntityPropertyData.java | 36 +- ...teCatalogEntityPropertyDataAttributes.java | 2 +- .../client/model/UpdateCatalogField.java | 2 +- .../client/model/UpdateCatalogFieldData.java | 36 +- .../UpdateCatalogFieldDataAttributes.java | 2 +- .../client/model/UpdateCatalogProperty.java | 2 +- .../model/UpdateCatalogPropertyData.java | 36 +- .../UpdateCatalogPropertyDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateCause.java | 2 +- .../rootly/client/model/UpdateCauseData.java | 36 +- .../model/UpdateCauseDataAttributes.java | 2 +- .../model/UpdateClickupTaskTaskParams.java | 2 +- .../model/UpdateCodaPageTaskParams.java | 2 +- .../model/UpdateCommunicationsGroup.java | 2 +- .../model/UpdateCommunicationsGroupData.java | 36 +- ...dateCommunicationsGroupDataAttributes.java | 2 +- ...ommunicationExternalGroupMembersInner.java | 2 +- ...utesCommunicationGroupConditionsInner.java | 2 +- .../model/UpdateCommunicationsStage.java | 2 +- .../model/UpdateCommunicationsStageData.java | 36 +- ...dateCommunicationsStageDataAttributes.java | 2 +- .../model/UpdateCommunicationsTemplate.java | 2 +- .../UpdateCommunicationsTemplateData.java | 36 +- ...eCommunicationsTemplateDataAttributes.java | 2 +- ...nicationTemplateStagesAttributesInner.java | 2 +- .../model/UpdateCommunicationsType.java | 2 +- .../model/UpdateCommunicationsTypeData.java | 36 +- ...pdateCommunicationsTypeDataAttributes.java | 2 +- .../model/UpdateConfluencePageTaskParams.java | 2 +- ...pdateConfluencePageTaskParamsTemplate.java | 2 +- .../client/model/UpdateCustomField.java | 2 +- .../client/model/UpdateCustomFieldData.java | 36 +- .../UpdateCustomFieldDataAttributes.java | 2 +- .../client/model/UpdateCustomFieldOption.java | 2 +- .../model/UpdateCustomFieldOptionData.java | 36 +- ...UpdateCustomFieldOptionDataAttributes.java | 2 +- .../rootly/client/model/UpdateCustomForm.java | 2 +- .../client/model/UpdateCustomFormData.java | 36 +- .../model/UpdateCustomFormDataAttributes.java | 2 +- .../rootly/client/model/UpdateDashboard.java | 2 +- .../client/model/UpdateDashboardData.java | 36 +- .../model/UpdateDashboardDataAttributes.java | 2 +- .../client/model/UpdateDashboardPanel.java | 2 +- .../model/UpdateDashboardPanelData.java | 36 +- .../UpdateDashboardPanelDataAttributes.java | 2 +- .../UpdateDatadogNotebookTaskParams.java | 2 +- ...dateDatadogNotebookTaskParamsTemplate.java | 2 +- .../UpdateDropboxPaperPageTaskParams.java | 2 +- .../client/model/UpdateEdgeConnector.java | 2 +- .../model/UpdateEdgeConnectorAction.java | 2 +- .../UpdateEdgeConnectorActionRequest.java | 2 +- ...pdateEdgeConnectorActionRequestAction.java | 2 +- .../UpdateEdgeConnectorEdgeConnector.java | 46 +- .../model/UpdateEdgeConnectorRequest.java | 2 +- .../model/UpdateEdgeConnectorRequestData.java | 2 +- ...ateEdgeConnectorRequestDataAttributes.java | 44 +- .../client/model/UpdateEnvironment.java | 2 +- .../client/model/UpdateEnvironmentData.java | 36 +- .../UpdateEnvironmentDataAttributes.java | 2 +- .../client/model/UpdateEscalationPolicy.java | 2 +- .../model/UpdateEscalationPolicyData.java | 36 +- .../UpdateEscalationPolicyDataAttributes.java | 2 +- .../model/UpdateEscalationPolicyLevel.java | 2 +- .../UpdateEscalationPolicyLevelData.java | 36 +- ...teEscalationPolicyLevelDataAttributes.java | 2 +- ...tributesNotificationTargetParamsInner.java | 2 +- .../model/UpdateEscalationPolicyPath.java | 2 +- .../model/UpdateEscalationPolicyPathData.java | 36 +- ...ateEscalationPolicyPathDataAttributes.java | 250 +- ...ionPolicyPathDataAttributesRulesInner.java | 352 +- ...thDataAttributesTimeRestrictionsInner.java | 2 +- .../rootly/client/model/UpdateFormField.java | 2 +- .../client/model/UpdateFormFieldData.java | 36 +- .../model/UpdateFormFieldDataAttributes.java | 4 +- .../client/model/UpdateFormFieldOption.java | 2 +- .../model/UpdateFormFieldOptionData.java | 36 +- .../UpdateFormFieldOptionDataAttributes.java | 2 +- .../model/UpdateFormFieldPlacement.java | 2 +- .../UpdateFormFieldPlacementCondition.java | 2 +- ...UpdateFormFieldPlacementConditionData.java | 36 +- ...FieldPlacementConditionDataAttributes.java | 2 +- .../model/UpdateFormFieldPlacementData.java | 36 +- ...pdateFormFieldPlacementDataAttributes.java | 2 +- .../client/model/UpdateFormFieldPosition.java | 2 +- .../model/UpdateFormFieldPositionData.java | 36 +- ...UpdateFormFieldPositionDataAttributes.java | 2 +- .../rootly/client/model/UpdateFormSet.java | 2 +- .../client/model/UpdateFormSetCondition.java | 2 +- .../model/UpdateFormSetConditionData.java | 36 +- .../UpdateFormSetConditionDataAttributes.java | 2 +- .../client/model/UpdateFormSetData.java | 36 +- .../model/UpdateFormSetDataAttributes.java | 2 +- .../client/model/UpdateFunctionality.java | 2 +- .../client/model/UpdateFunctionalityData.java | 36 +- .../UpdateFunctionalityDataAttributes.java | 2 +- .../model/UpdateGithubIssueTaskParams.java | 2 +- ...UpdateGithubIssueTaskParamsRepository.java | 2 +- .../model/UpdateGitlabIssueTaskParams.java | 2 +- .../UpdateGoogleCalendarEventTaskParams.java | 2 +- ...eGoogleChatSpaceDescriptionTaskParams.java | 2 +- .../model/UpdateGoogleDocsPageTaskParams.java | 2 +- .../rootly/client/model/UpdateHeartbeat.java | 2 +- .../client/model/UpdateHeartbeatData.java | 36 +- .../model/UpdateHeartbeatDataAttributes.java | 2 +- .../rootly/client/model/UpdateIncident.java | 2 +- .../model/UpdateIncidentActionItem.java | 2 +- .../model/UpdateIncidentActionItemData.java | 36 +- ...pdateIncidentActionItemDataAttributes.java | 2 +- .../UpdateIncidentCustomFieldSelection.java | 2 +- ...pdateIncidentCustomFieldSelectionData.java | 36 +- ...entCustomFieldSelectionDataAttributes.java | 2 +- .../client/model/UpdateIncidentData.java | 36 +- .../model/UpdateIncidentDataAttributes.java | 94 +- .../client/model/UpdateIncidentEvent.java | 2 +- .../client/model/UpdateIncidentEventData.java | 36 +- .../UpdateIncidentEventDataAttributes.java | 2 +- .../UpdateIncidentEventFunctionality.java | 2 +- .../UpdateIncidentEventFunctionalityData.java | 36 +- ...identEventFunctionalityDataAttributes.java | 2 +- .../model/UpdateIncidentEventService.java | 2 +- .../model/UpdateIncidentEventServiceData.java | 36 +- ...ateIncidentEventServiceDataAttributes.java | 2 +- .../client/model/UpdateIncidentFeedback.java | 2 +- .../model/UpdateIncidentFeedbackData.java | 36 +- .../UpdateIncidentFeedbackDataAttributes.java | 2 +- .../UpdateIncidentFormFieldSelection.java | 2 +- .../UpdateIncidentFormFieldSelectionData.java | 36 +- ...identFormFieldSelectionDataAttributes.java | 2 +- .../model/UpdateIncidentPermissionSet.java | 2 +- .../UpdateIncidentPermissionSetBoolean.java | 2 +- ...pdateIncidentPermissionSetBooleanData.java | 36 +- ...entPermissionSetBooleanDataAttributes.java | 2 +- ...etBooleanDataAttributesSeverityParams.java | 2 +- .../UpdateIncidentPermissionSetData.java | 36 +- ...teIncidentPermissionSetDataAttributes.java | 2 +- .../UpdateIncidentPermissionSetResource.java | 2 +- ...dateIncidentPermissionSetResourceData.java | 36 +- ...ntPermissionSetResourceDataAttributes.java | 2 +- .../model/UpdateIncidentPostMortem.java | 2 +- .../model/UpdateIncidentPostMortemData.java | 36 +- ...pdateIncidentPostMortemDataAttributes.java | 34 +- .../UpdateIncidentPostmortemTaskParams.java | 2 +- .../UpdateIncidentRetrospectiveStep.java | 2 +- .../UpdateIncidentRetrospectiveStepData.java | 36 +- ...cidentRetrospectiveStepDataAttributes.java | 2 +- .../client/model/UpdateIncidentRole.java | 2 +- .../client/model/UpdateIncidentRoleData.java | 36 +- .../UpdateIncidentRoleDataAttributes.java | 2 +- .../client/model/UpdateIncidentRoleTask.java | 2 +- .../model/UpdateIncidentRoleTaskData.java | 36 +- .../UpdateIncidentRoleTaskDataAttributes.java | 2 +- .../model/UpdateIncidentStatusPageEvent.java | 2 +- .../UpdateIncidentStatusPageEventData.java | 36 +- ...IncidentStatusPageEventDataAttributes.java | 2 +- ...dateIncidentStatusTimestampTaskParams.java | 2 +- .../client/model/UpdateIncidentSubStatus.java | 2 +- .../model/UpdateIncidentSubStatusData.java | 36 +- ...UpdateIncidentSubStatusDataAttributes.java | 2 +- .../model/UpdateIncidentTaskParams.java | 2 +- .../client/model/UpdateIncidentType.java | 2 +- .../client/model/UpdateIncidentTypeData.java | 36 +- .../UpdateIncidentTypeDataAttributes.java | 2 +- .../model/UpdateJiraIssueTaskParams.java | 2 +- .../model/UpdateLinearIssueTaskParams.java | 2 +- .../UpdateLinearIssueTaskParamsState.java | 2 +- .../client/model/UpdateLiveCallRouter.java | 2 +- .../model/UpdateLiveCallRouterData.java | 36 +- .../UpdateLiveCallRouterDataAttributes.java | 2 +- ...tributesEscalationPolicyTriggerParams.java | 2 +- .../model/UpdateMotionTaskTaskParams.java | 2 +- .../model/UpdateNotionPageTaskParams.java | 2 +- .../client/model/UpdateOnCallPayReport.java | 2 +- .../model/UpdateOnCallPayReportData.java | 36 +- .../UpdateOnCallPayReportDataAttributes.java | 2 +- .../rootly/client/model/UpdateOnCallRole.java | 2 +- .../client/model/UpdateOnCallRoleData.java | 36 +- .../model/UpdateOnCallRoleDataAttributes.java | 97 +- .../client/model/UpdateOnCallShadow.java | 2 +- .../client/model/UpdateOnCallShadowData.java | 36 +- .../UpdateOnCallShadowDataAttributes.java | 2 +- .../model/UpdateOpsgenieAlertTaskParams.java | 2 +- .../UpdateOpsgenieIncidentTaskParams.java | 2 +- .../client/model/UpdateOverrideShift.java | 2 +- .../client/model/UpdateOverrideShiftData.java | 36 +- .../UpdateOverrideShiftDataAttributes.java | 2 +- .../UpdatePagerdutyIncidentTaskParams.java | 2 +- .../model/UpdatePagertreeAlertTaskParams.java | 2 +- .../rootly/client/model/UpdatePlaybook.java | 2 +- .../client/model/UpdatePlaybookData.java | 36 +- .../model/UpdatePlaybookDataAttributes.java | 161 +- .../client/model/UpdatePlaybookTask.java | 2 +- .../client/model/UpdatePlaybookTaskData.java | 36 +- .../UpdatePlaybookTaskDataAttributes.java | 2 +- .../model/UpdatePostMortemTemplate.java | 2 +- .../model/UpdatePostMortemTemplateData.java | 36 +- ...pdatePostMortemTemplateDataAttributes.java | 2 +- .../rootly/client/model/UpdateProblem.java | 214 + .../client/model/UpdateProblemActionItem.java | 214 + .../model/UpdateProblemActionItemData.java | 327 + ...UpdateProblemActionItemDataAttributes.java | 513 ++ .../client/model/UpdateProblemData.java | 327 + .../model/UpdateProblemDataAttributes.java | 915 ++ .../com/rootly/client/model/UpdatePulse.java | 2 +- .../rootly/client/model/UpdatePulseData.java | 36 +- .../model/UpdatePulseDataAttributes.java | 2 +- .../model/UpdateQuipPageTaskParams.java | 2 +- .../UpdateRetrospectiveConfiguration.java | 2 +- .../UpdateRetrospectiveConfigurationData.java | 36 +- ...rospectiveConfigurationDataAttributes.java | 2 +- .../model/UpdateRetrospectiveProcess.java | 2 +- .../model/UpdateRetrospectiveProcessData.java | 36 +- ...ateRetrospectiveProcessDataAttributes.java | 2 +- .../UpdateRetrospectiveProcessGroup.java | 2 +- .../UpdateRetrospectiveProcessGroupData.java | 36 +- ...trospectiveProcessGroupDataAttributes.java | 2 +- .../UpdateRetrospectiveProcessGroupStep.java | 2 +- ...dateRetrospectiveProcessGroupStepData.java | 36 +- ...pectiveProcessGroupStepDataAttributes.java | 2 +- .../client/model/UpdateRetrospectiveStep.java | 2 +- .../model/UpdateRetrospectiveStepData.java | 36 +- ...UpdateRetrospectiveStepDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateRole.java | 2 +- .../rootly/client/model/UpdateRoleData.java | 36 +- .../model/UpdateRoleDataAttributes.java | 194 +- .../rootly/client/model/UpdateSchedule.java | 2 +- .../client/model/UpdateScheduleData.java | 36 +- .../model/UpdateScheduleDataAttributes.java | 68 +- .../client/model/UpdateScheduleRotation.java | 2 +- .../UpdateScheduleRotationActiveDay.java | 2 +- .../UpdateScheduleRotationActiveDayData.java | 36 +- ...heduleRotationActiveDayDataAttributes.java | 2 +- .../model/UpdateScheduleRotationData.java | 36 +- .../UpdateScheduleRotationDataAttributes.java | 4 +- .../model/UpdateScheduleRotationUser.java | 2 +- .../model/UpdateScheduleRotationUserData.java | 36 +- ...ateScheduleRotationUserDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateSecret.java | 2 +- .../rootly/client/model/UpdateSecretData.java | 36 +- .../model/UpdateSecretDataAttributes.java | 47 +- .../rootly/client/model/UpdateService.java | 2 +- .../client/model/UpdateServiceData.java | 36 +- .../model/UpdateServiceDataAttributes.java | 2 +- .../UpdateServiceNowIncidentTaskParams.java | 2 +- .../rootly/client/model/UpdateSeverity.java | 2 +- .../client/model/UpdateSeverityData.java | 36 +- .../model/UpdateSeverityDataAttributes.java | 2 +- .../model/UpdateSharepointPageTaskParams.java | 2 +- .../model/UpdateShortcutStoryTaskParams.java | 2 +- .../model/UpdateShortcutTaskTaskParams.java | 2 +- .../com/rootly/client/model/UpdateSla.java | 2 +- .../rootly/client/model/UpdateSlaData.java | 36 +- .../client/model/UpdateSlaDataAttributes.java | 2 +- .../model/UpdateSlackCanvasTaskParams.java | 511 ++ .../UpdateSlackChannelTopicTaskParams.java | 60 +- .../rootly/client/model/UpdateStatusPage.java | 2 +- .../model/UpdateStatusPageAnnouncement.java | 2 +- .../UpdateStatusPageAnnouncementData.java | 36 +- ...eStatusPageAnnouncementDataAttributes.java | 2 +- .../model/UpdateStatusPageComponent.java | 2 +- .../model/UpdateStatusPageComponentData.java | 36 +- ...dateStatusPageComponentDataAttributes.java | 2 +- .../model/UpdateStatusPageComponentGroup.java | 2 +- .../UpdateStatusPageComponentGroupData.java | 36 +- ...tatusPageComponentGroupDataAttributes.java | 2 +- .../client/model/UpdateStatusPageData.java | 36 +- .../model/UpdateStatusPageDataAttributes.java | 2 +- .../client/model/UpdateStatusPageTeam.java | 214 + .../model/UpdateStatusPageTeamData.java | 327 + .../UpdateStatusPageTeamDataAttributes.java | 262 + .../model/UpdateStatusPageTemplate.java | 2 +- .../model/UpdateStatusPageTemplateData.java | 36 +- ...pdateStatusPageTemplateDataAttributes.java | 2 +- .../client/model/UpdateStatusTaskParams.java | 2 +- .../rootly/client/model/UpdateSubStatus.java | 2 +- .../client/model/UpdateSubStatusData.java | 36 +- .../model/UpdateSubStatusDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateTeam.java | 2 +- .../rootly/client/model/UpdateTeamData.java | 36 +- .../model/UpdateTeamDataAttributes.java | 152 +- .../model/UpdateTrelloCardTaskParams.java | 2 +- .../com/rootly/client/model/UpdateUser.java | 2 +- .../rootly/client/model/UpdateUserData.java | 36 +- .../model/UpdateUserDataAttributes.java | 2 +- .../client/model/UpdateUserEmailAddress.java | 2 +- .../model/UpdateUserEmailAddressData.java | 36 +- .../UpdateUserEmailAddressDataAttributes.java | 2 +- .../model/UpdateUserNotificationRule.java | 2 +- .../model/UpdateUserNotificationRuleData.java | 36 +- ...ateUserNotificationRuleDataAttributes.java | 2 +- .../client/model/UpdateUserPhoneNumber.java | 2 +- .../model/UpdateUserPhoneNumberData.java | 36 +- .../UpdateUserPhoneNumberDataAttributes.java | 2 +- .../UpdateVictorOpsIncidentTaskParams.java | 2 +- .../client/model/UpdateWebhooksEndpoint.java | 2 +- .../model/UpdateWebhooksEndpointData.java | 36 +- .../UpdateWebhooksEndpointDataAttributes.java | 4 +- .../rootly/client/model/UpdateWorkflow.java | 2 +- ...eWorkflowActionItemFormFieldCondition.java | 2 +- ...kflowActionItemFormFieldConditionData.java | 36 +- ...nItemFormFieldConditionDataAttributes.java | 2 +- .../UpdateWorkflowCustomFieldSelection.java | 2 +- ...pdateWorkflowCustomFieldSelectionData.java | 36 +- ...lowCustomFieldSelectionDataAttributes.java | 2 +- .../client/model/UpdateWorkflowData.java | 2 +- .../model/UpdateWorkflowDataAttributes.java | 210 +- .../UpdateWorkflowFormFieldCondition.java | 2 +- .../UpdateWorkflowFormFieldConditionData.java | 36 +- ...kflowFormFieldConditionDataAttributes.java | 2 +- .../client/model/UpdateWorkflowGroup.java | 2 +- .../client/model/UpdateWorkflowGroupData.java | 36 +- .../UpdateWorkflowGroupDataAttributes.java | 4 +- .../client/model/UpdateWorkflowTask.java | 2 +- .../client/model/UpdateWorkflowTaskData.java | 36 +- .../UpdateWorkflowTaskDataAttributes.java | 2 +- ...eWorkflowTaskDataAttributesTaskParams.java | 155 +- .../model/UpdateZendeskTicketTaskParams.java | 2 +- .../client/model/UptimeChartResponse.java | 2 +- .../java/com/rootly/client/model/User.java | 2 +- .../rootly/client/model/UserEmailAddress.java | 2 +- .../client/model/UserEmailAddressList.java | 2 +- .../model/UserEmailAddressResponse.java | 2 +- .../model/UserEmailAddressResponseData.java | 2 +- .../rootly/client/model/UserFlatResponse.java | 2 +- .../com/rootly/client/model/UserList.java | 2 +- .../client/model/UserNotificationRule.java | 2 +- .../model/UserNotificationRuleList.java | 2 +- .../model/UserNotificationRuleResponse.java | 2 +- .../UserNotificationRuleResponseData.java | 2 +- .../rootly/client/model/UserPhoneNumber.java | 2 +- .../client/model/UserPhoneNumberList.java | 2 +- .../client/model/UserPhoneNumberResponse.java | 2 +- .../model/UserPhoneNumberResponseData.java | 2 +- .../client/model/UserRelationships.java | 2 +- .../com/rootly/client/model/UserResponse.java | 2 +- .../rootly/client/model/UserResponseData.java | 2 +- .../rootly/client/model/VerifiedDomain.java | 2 +- .../client/model/VerifiedDomainList.java | 2 +- .../client/model/VerifiedDomainResponse.java | 2 +- .../model/VerifiedDomainResponseData.java | 2 +- .../model/VerifyPhoneNumberRequest.java | 2 +- .../VerifyUserPhoneNumber200Response.java | 214 + .../VerifyUserPhoneNumber429Response.java | 214 + .../rootly/client/model/WebhooksDelivery.java | 2 +- .../client/model/WebhooksDeliveryList.java | 2 +- .../model/WebhooksDeliveryResponse.java | 2 +- .../model/WebhooksDeliveryResponseData.java | 2 +- .../rootly/client/model/WebhooksEndpoint.java | 4 +- .../client/model/WebhooksEndpointList.java | 2 +- .../model/WebhooksEndpointResponse.java | 2 +- .../model/WebhooksEndpointResponseData.java | 2 +- .../com/rootly/client/model/Workflow.java | 208 +- .../WorkflowActionItemFormFieldCondition.java | 2 +- ...kflowActionItemFormFieldConditionList.java | 2 +- ...wActionItemFormFieldConditionResponse.java | 2 +- ...ionItemFormFieldConditionResponseData.java | 2 +- .../model/WorkflowCustomFieldSelection.java | 2 +- .../WorkflowCustomFieldSelectionList.java | 2 +- .../WorkflowCustomFieldSelectionResponse.java | 2 +- ...kflowCustomFieldSelectionResponseData.java | 2 +- .../model/WorkflowFormFieldCondition.java | 2 +- .../model/WorkflowFormFieldConditionList.java | 2 +- .../WorkflowFormFieldConditionResponse.java | 2 +- ...orkflowFormFieldConditionResponseData.java | 2 +- .../rootly/client/model/WorkflowGroup.java | 4 +- .../client/model/WorkflowGroupList.java | 2 +- .../client/model/WorkflowGroupResponse.java | 2 +- .../model/WorkflowGroupResponseData.java | 2 +- .../com/rootly/client/model/WorkflowList.java | 2 +- .../rootly/client/model/WorkflowResponse.java | 2 +- .../client/model/WorkflowResponseData.java | 2 +- .../com/rootly/client/model/WorkflowRun.java | 2 +- .../client/model/WorkflowRunResponse.java | 2 +- .../client/model/WorkflowRunResponseData.java | 2 +- .../rootly/client/model/WorkflowRunsList.java | 2 +- .../com/rootly/client/model/WorkflowTask.java | 2 +- .../rootly/client/model/WorkflowTaskList.java | 2 +- .../client/model/WorkflowTaskResponse.java | 2 +- .../model/WorkflowTaskResponseData.java | 2 +- .../com/rootly/client/model/WorkingHours.java | 294 + .../client/api/AlertConfigurationApiTest.java | 59 + .../rootly/client/api/AlertRoutesApiTest.java | 4 +- .../com/rootly/client/api/AlertsApiTest.java | 4 +- .../api/IncidentRetrospectivesApiTest.java | 2 +- .../rootly/client/api/IncidentsApiTest.java | 3 +- .../client/api/PrivateAgentsApiTest.java | 110 + .../client/api/ProblemActionItemsApiTest.java | 172 + .../rootly/client/api/ProblemsApiTest.java | 162 + .../api/ShiftCoverageRequestsApiTest.java | 2 +- ...iTest.java => StatusPageTeamsApiTest.java} | 66 +- .../client/api/UserPhoneNumbersApiTest.java | 30 + .../AcknowledgeAlertDataAttributesTest.java | 50 + ...est.java => AcknowledgeAlertDataTest.java} | 14 +- ...uleTest.java => AcknowledgeAlertTest.java} | 14 +- .../model/ActionItemTriggerParamsTest.java | 16 + ...> AlertConfigurationResponseDataTest.java} | 14 +- .../model/AlertConfigurationResponseTest.java | 49 + ...eTest.java => AlertConfigurationTest.java} | 49 +- .../rootly/client/model/AlertEventTest.java | 24 + .../rootly/client/model/AlertFieldTest.java | 32 +- .../model/AlertGroupAttributesInnerTest.java | 48 + .../model/AlertGroupTargetsInnerTest.java | 57 + .../rootly/client/model/AlertGroupTest.java | 13 +- .../client/model/AlertLabelsInnerTest.java | 57 + ...nditionGroupsInnerConditionsInnerTest.java | 107 + ...teRulesInnerConditionGroupsInnerTest.java} | 25 +- ...tRouteRulesInnerDestinationsInnerTest.java | 57 + ...est.java => AlertRouteRulesInnerTest.java} | 40 +- .../rootly/client/model/AlertRouteTest.java | 2 +- .../AlertSlackNotificationsInnerTest.java | 56 + ...erOneOf6Test.java => AlertSourceTest.java} | 12 +- .../com/rootly/client/model/AlertTest.java | 27 +- .../rootly/client/model/AlertUrgencyTest.java | 85 +- ...eAlertSourceFieldsAttributesInnerTest.java | 57 + ...ourceUrgencyRulesAttributesInnerTest.java} | 56 +- ...ertsSourceAlertTemplateAttributesTest.java | 65 + ...ributesConditionsAttributesInnerTest.java} | 52 +- ...rtsSourceResolutionRuleAttributesTest.java | 108 + ...butesFieldMappingsAttributesInnerTest.java | 56 + .../AlertsSourceSourceableAttributesTest.java | 18 +- .../rootly/client/model/AlertsSourceTest.java | 8 +- .../com/rootly/client/model/ApiKeyTest.java | 8 + ...eyWithTokenResponseDataAttributesTest.java | 8 + .../ArchiveSlackChannelsTaskParamsTest.java | 16 + .../com/rootly/client/model/AuditTest.java | 8 + .../BulkUpsertTeamsEntitiesInnerTest.java | 8 + .../client/model/CancelIncidentDataTest.java | 8 + ...angeSlackChannelPrivacyTaskParamsTest.java | 16 + ...CommunicationGroupConditionsInnerTest.java | 91 + .../client/model/CommunicationsGroupTest.java | 2 +- ...dgeConnectorRequestDataAttributesTest.java | 9 + .../CreateGoogleMeetingTaskParamsTest.java | 16 + ...reateSlackCanvasTaskParamsChannelTest.java | 56 + ...a => CreateSlackCanvasTaskParamsTest.java} | 53 +- .../CreateSlackChannelTaskParamsTest.java | 16 + .../CreateZoomMeetingTaskParamsTest.java | 16 + ...neOf5Test.java => DeferralWindowTest.java} | 14 +- ...=> DeferralWindowTimeBlocksInnerTest.java} | 28 +- .../EdgeConnectorDataAttributesTest.java | 9 + .../EnvironmentSlackAliasesInnerTest.java | 56 + .../EnvironmentSlackChannelsInnerTest.java | 56 + .../rootly/client/model/EnvironmentTest.java | 4 +- .../EscalateAlertDataAttributesTest.java | 10 + ...=> EscalationPolicyBusinessHoursTest.java} | 41 +- ...evelNotificationTargetParamsInnerTest.java | 65 + .../model/EscalationPolicyLevelTest.java | 2 +- .../model/EscalationPolicyPathTest.java | 19 +- ...onPolicyPathTimeRestrictionsInnerTest.java | 72 + .../client/model/EscalationPolicyTest.java | 2 +- .../client/model/FunctionalityTest.java | 4 +- .../model/HttpClientTaskParamsTest.java | 18 + .../model/InTriageIncidentDataTest.java | 8 + .../com/rootly/client/model/IncidentTest.java | 10 +- .../model/IncidentTriggerParamsTest.java | 16 + .../rootly/client/model/IncidentTypeTest.java | 4 +- ...InnerOneOf2Test.java => JSONPathTest.java} | 12 +- .../LinkIncidentsDataAttributesTest.java | 58 + ...taTest.java => LinkIncidentsDataTest.java} | 14 +- ...erRuleTest.java => LinkIncidentsTest.java} | 14 +- ...uterEscalationPolicyTriggerParamsTest.java | 56 + .../LiveCallRouterPagingTargetsInnerTest.java | 64 + .../client/model/LiveCallRouterTest.java | 4 +- .../model/MitigateIncidentDataTest.java | 8 + ...NewAlertDataAttributesActorOneOf1Test.java | 48 + .../NewAlertDataAttributesActorOneOfTest.java | 48 + .../NewAlertDataAttributesActorTest.java | 58 + .../model/NewAlertDataAttributesTest.java | 9 + .../NewAlertFieldDataAttributesTest.java | 10 + .../NewAlertGroupDataAttributesTest.java | 9 + ...ataAttributesSourceableAttributesTest.java | 16 + .../NewEdgeConnectorEdgeConnectorTest.java | 9 + ...ibutesNotificationTypeRulesInnerTest.java} | 37 +- ...olicyPathDataAttributesRulesInnerTest.java | 34 +- ...scalationPolicyPathDataAttributesTest.java | 17 + .../model/NewIncidentDataAttributesTest.java | 24 + .../NewOnCallRoleDataAttributesTest.java | 8 + .../model/NewPlaybookDataAttributesTest.java | 24 + ...ewProblemActionItemDataAttributesTest.java | 97 + .../model/NewProblemActionItemDataTest.java | 57 + .../model/NewProblemActionItemTest.java | 49 + .../model/NewProblemDataAttributesTest.java | 180 + .../client/model/NewProblemDataTest.java | 57 + .../rootly/client/model/NewProblemTest.java | 49 + .../model/NewRoleDataAttributesTest.java | 16 + ...heduleDataAttributesBusinessHoursTest.java | 64 + .../model/NewScheduleDataAttributesTest.java | 17 + .../model/NewSecretDataAttributesTest.java | 10 + ...hiftCoverageRequestDataAttributesTest.java | 10 + .../NewStatusPageTeamDataAttributesTest.java | 57 + .../model/NewStatusPageTeamDataTest.java | 57 + .../client/model/NewStatusPageTeamTest.java | 49 + .../model/NewTeamDataAttributesTest.java | 24 + ...sFailureNotificationChannelsInnerTest.java | 56 + .../model/NewWorkflowDataAttributesTest.java | 33 + ...rkflowDataAttributesTriggerParamsTest.java | 16 + ...kflowTaskDataAttributesTaskParamsTest.java | 126 +- ...java => NullableSeverityResponseTest.java} | 14 +- .../rootly/client/model/OnCallRoleTest.java | 8 + .../client/model/OverriddenShiftTest.java | 89 + .../client/model/PatchAlertRouteDataTest.java | 8 + .../com/rootly/client/model/PlaybookTest.java | 24 + .../model/PostMortemTriggerParamsTest.java | 16 + ...esProvidersInnerCapabilitiesInnerTest.java | 72 + ...entAttributesProvidersInnerHealthTest.java | 64 + ...entAttributesProvidersInnerPolicyTest.java | 418 + ...vateAgentAttributesProvidersInnerTest.java | 93 + .../model/PrivateAgentAttributesTest.java | 140 + ...llmentTokenResponseDataAttributesTest.java | 57 + ...eAgentEnrollmentTokenResponseDataTest.java | 66 + ...ivateAgentEnrollmentTokenResponseTest.java | 49 + .../client/model/PrivateAgentListTest.java | 59 + .../model/PrivateAgentResponseTest.java | 49 + .../PrivateAgentSummaryAttributesTest.java | 129 + .../client/model/PrivateAgentSummaryTest.java | 66 + .../rootly/client/model/PrivateAgentTest.java | 66 + .../PrivateAgentUpdateDataAttributesTest.java | 65 + .../model/PrivateAgentUpdateDataTest.java | 57 + .../client/model/PrivateAgentUpdateTest.java | 49 + ...st.java => ProblemActionItemListTest.java} | 14 +- .../ProblemActionItemResponseDataTest.java | 65 + .../model/ProblemActionItemResponseTest.java | 60 + .../client/model/ProblemActionItemTest.java | 138 + .../rootly/client/model/ProblemListTest.java | 78 + .../client/model/ProblemResponseDataTest.java | 65 + .../client/model/ProblemResponseTest.java | 60 + .../com/rootly/client/model/ProblemTest.java | 324 + .../model/PublishIncidentTaskParamsTest.java | 34 + .../client/model/PulseLabelsInnerTest.java | 56 + .../client/model/PulseRefsInnerTest.java | 56 + .../com/rootly/client/model/PulseTest.java | 4 +- ...Of7Test.java => RelatedIncidentsTest.java} | 12 +- .../RemoveFromSlackChannelTaskParamsTest.java | 64 + .../RenameSlackChannelTaskParamsTest.java | 16 + .../model/ResolveAlertDataAttributesTest.java | 9 + .../client/model/ResolveIncidentDataTest.java | 8 + .../client/model/RestartIncidentDataTest.java | 8 + .../com/rootly/client/model/RoleTest.java | 16 + .../model/ScheduleBusinessHoursTest.java | 64 + ...ctiveDayActiveTimeAttributesInnerTest.java | 56 + .../model/ScheduleRotationActiveDayTest.java | 2 +- ...RotationActiveTimeAttributesInnerTest.java | 56 + .../client/model/ScheduleRotationTest.java | 2 +- .../com/rootly/client/model/ScheduleTest.java | 17 + .../com/rootly/client/model/SecretTest.java | 10 + .../com/rootly/client/model/ServiceTest.java | 282 +- .../com/rootly/client/model/SeverityTest.java | 4 +- .../com/rootly/client/model/ShiftTest.java | 11 + .../model/SnoozeAlertDataAttributesTest.java | 10 + .../client/model/StatusPageTeamListTest.java | 78 + .../model/StatusPageTeamResponseDataTest.java | 65 + .../model/StatusPageTeamResponseTest.java | 60 + .../client/model/StatusPageTeamTest.java | 82 + .../com/rootly/client/model/TeamTest.java | 20 +- ...DataAttributesAlertAcknowledgmentTest.java | 64 + ...esDefaultUserNotificationSettingsTest.java | 58 + ...eAlertConfigurationDataAttributesTest.java | 77 + .../UpdateAlertConfigurationDataTest.java | 65 + .../model/UpdateAlertConfigurationTest.java | 49 + .../model/UpdateAlertDataAttributesTest.java | 9 + .../client/model/UpdateAlertDataTest.java | 8 + .../model/UpdateAlertEventDataTest.java | 8 + .../UpdateAlertFieldDataAttributesTest.java | 10 + .../model/UpdateAlertFieldDataTest.java | 8 + .../UpdateAlertGroupDataAttributesTest.java | 9 + .../model/UpdateAlertGroupDataTest.java | 8 + .../model/UpdateAlertRouteDataTest.java | 8 + .../model/UpdateAlertRoutingRuleDataTest.java | 8 + .../model/UpdateAlertUrgencyDataTest.java | 8 + ...sAlertSourceFieldsAttributesInnerTest.java | 65 + .../UpdateAlertsSourceDataAttributesTest.java | 2 +- .../model/UpdateAlertsSourceDataTest.java | 8 + .../client/model/UpdateApiKeyDataTest.java | 8 + .../model/UpdateAuthorizationDataTest.java | 8 + ...pdateCatalogChecklistTemplateDataTest.java | 8 + .../client/model/UpdateCatalogDataTest.java | 8 + .../model/UpdateCatalogEntityDataTest.java | 8 + .../UpdateCatalogEntityPropertyDataTest.java | 8 + .../model/UpdateCatalogFieldDataTest.java | 8 + .../model/UpdateCatalogPropertyDataTest.java | 8 + .../client/model/UpdateCauseDataTest.java | 8 + .../UpdateCommunicationsGroupDataTest.java | 8 + .../UpdateCommunicationsStageDataTest.java | 8 + .../UpdateCommunicationsTemplateDataTest.java | 8 + .../UpdateCommunicationsTypeDataTest.java | 8 + .../model/UpdateCustomFieldDataTest.java | 8 + .../UpdateCustomFieldOptionDataTest.java | 8 + .../model/UpdateCustomFormDataTest.java | 8 + .../client/model/UpdateDashboardDataTest.java | 8 + .../model/UpdateDashboardPanelDataTest.java | 8 + .../UpdateEdgeConnectorEdgeConnectorTest.java | 9 + ...dgeConnectorRequestDataAttributesTest.java | 9 + .../model/UpdateEnvironmentDataTest.java | 8 + .../model/UpdateEscalationPolicyDataTest.java | 8 + .../UpdateEscalationPolicyLevelDataTest.java | 8 + ...olicyPathDataAttributesRulesInnerTest.java | 34 +- ...scalationPolicyPathDataAttributesTest.java | 17 + .../UpdateEscalationPolicyPathDataTest.java | 8 + .../client/model/UpdateFormFieldDataTest.java | 8 + .../model/UpdateFormFieldOptionDataTest.java | 8 + ...teFormFieldPlacementConditionDataTest.java | 8 + .../UpdateFormFieldPlacementDataTest.java | 8 + .../UpdateFormFieldPositionDataTest.java | 8 + .../model/UpdateFormSetConditionDataTest.java | 8 + .../client/model/UpdateFormSetDataTest.java | 8 + .../model/UpdateFunctionalityDataTest.java | 8 + .../client/model/UpdateHeartbeatDataTest.java | 8 + .../UpdateIncidentActionItemDataTest.java | 8 + ...eIncidentCustomFieldSelectionDataTest.java | 8 + .../UpdateIncidentDataAttributesTest.java | 24 + .../client/model/UpdateIncidentDataTest.java | 8 + .../model/UpdateIncidentEventDataTest.java | 8 + ...ateIncidentEventFunctionalityDataTest.java | 8 + .../UpdateIncidentEventServiceDataTest.java | 8 + .../model/UpdateIncidentFeedbackDataTest.java | 8 + ...ateIncidentFormFieldSelectionDataTest.java | 8 + ...eIncidentPermissionSetBooleanDataTest.java | 8 + .../UpdateIncidentPermissionSetDataTest.java | 8 + ...IncidentPermissionSetResourceDataTest.java | 8 + ...eIncidentPostMortemDataAttributesTest.java | 8 + .../UpdateIncidentPostMortemDataTest.java | 8 + ...dateIncidentRetrospectiveStepDataTest.java | 8 + .../model/UpdateIncidentRoleDataTest.java | 8 + .../model/UpdateIncidentRoleTaskDataTest.java | 8 + ...UpdateIncidentStatusPageEventDataTest.java | 8 + .../UpdateIncidentSubStatusDataTest.java | 8 + .../model/UpdateIncidentTypeDataTest.java | 8 + .../model/UpdateLiveCallRouterDataTest.java | 8 + .../model/UpdateOnCallPayReportDataTest.java | 8 + .../UpdateOnCallRoleDataAttributesTest.java | 8 + .../model/UpdateOnCallRoleDataTest.java | 8 + .../model/UpdateOnCallShadowDataTest.java | 8 + .../model/UpdateOverrideShiftDataTest.java | 8 + .../UpdatePlaybookDataAttributesTest.java | 24 + .../client/model/UpdatePlaybookDataTest.java | 8 + .../model/UpdatePlaybookTaskDataTest.java | 8 + .../UpdatePostMortemTemplateDataTest.java | 8 + ...teProblemActionItemDataAttributesTest.java | 97 + .../UpdateProblemActionItemDataTest.java | 65 + .../model/UpdateProblemActionItemTest.java | 49 + .../UpdateProblemDataAttributesTest.java | 188 + .../client/model/UpdateProblemDataTest.java | 65 + .../client/model/UpdateProblemTest.java | 49 + .../client/model/UpdatePulseDataTest.java | 8 + ...ateRetrospectiveConfigurationDataTest.java | 8 + .../UpdateRetrospectiveProcessDataTest.java | 8 + ...dateRetrospectiveProcessGroupDataTest.java | 8 + ...RetrospectiveProcessGroupStepDataTest.java | 8 + .../UpdateRetrospectiveStepDataTest.java | 8 + .../model/UpdateRoleDataAttributesTest.java | 16 + .../client/model/UpdateRoleDataTest.java | 8 + .../UpdateScheduleDataAttributesTest.java | 17 + .../client/model/UpdateScheduleDataTest.java | 8 + ...dateScheduleRotationActiveDayDataTest.java | 8 + .../model/UpdateScheduleRotationDataTest.java | 8 + .../UpdateScheduleRotationUserDataTest.java | 8 + .../model/UpdateSecretDataAttributesTest.java | 10 + .../client/model/UpdateSecretDataTest.java | 8 + .../client/model/UpdateServiceDataTest.java | 8 + .../client/model/UpdateSeverityDataTest.java | 8 + .../client/model/UpdateSlaDataTest.java | 8 + .../UpdateSlackCanvasTaskParamsTest.java | 98 + ...UpdateSlackChannelTopicTaskParamsTest.java | 16 + .../UpdateStatusPageAnnouncementDataTest.java | 8 + .../UpdateStatusPageComponentDataTest.java | 8 + ...pdateStatusPageComponentGroupDataTest.java | 8 + .../model/UpdateStatusPageDataTest.java | 8 + ...pdateStatusPageTeamDataAttributesTest.java | 48 + .../model/UpdateStatusPageTeamDataTest.java | 65 + .../model/UpdateStatusPageTeamTest.java | 49 + .../UpdateStatusPageTemplateDataTest.java | 8 + .../client/model/UpdateSubStatusDataTest.java | 8 + .../model/UpdateTeamDataAttributesTest.java | 24 + .../client/model/UpdateTeamDataTest.java | 8 + .../client/model/UpdateUserDataTest.java | 8 + .../model/UpdateUserEmailAddressDataTest.java | 8 + .../UpdateUserNotificationRuleDataTest.java | 8 + .../model/UpdateUserPhoneNumberDataTest.java | 8 + .../model/UpdateWebhooksEndpointDataTest.java | 8 + ...wActionItemFormFieldConditionDataTest.java | 8 + ...eWorkflowCustomFieldSelectionDataTest.java | 8 + .../UpdateWorkflowDataAttributesTest.java | 33 + ...ateWorkflowFormFieldConditionDataTest.java | 8 + .../model/UpdateWorkflowGroupDataTest.java | 8 + ...kflowTaskDataAttributesTaskParamsTest.java | 126 +- .../model/UpdateWorkflowTaskDataTest.java | 8 + .../VerifyUserPhoneNumber200ResponseTest.java | 48 + .../VerifyUserPhoneNumber429ResponseTest.java | 48 + .../com/rootly/client/model/WorkflowTest.java | 33 + ...rOneOf1Test.java => WorkingHoursTest.java} | 12 +- 2340 files changed, 79867 insertions(+), 5865 deletions(-) create mode 100644 docs/AcknowledgeAlert.md create mode 100644 docs/AcknowledgeAlertData.md create mode 100644 docs/AcknowledgeAlertDataAttributes.md create mode 100644 docs/AlertConfiguration.md create mode 100644 docs/AlertConfigurationApi.md create mode 100644 docs/AlertConfigurationResponse.md create mode 100644 docs/AlertConfigurationResponseData.md create mode 100644 docs/AlertGroupAttributesInner.md create mode 100644 docs/AlertGroupTargetsInner.md create mode 100644 docs/AlertLabelsInner.md create mode 100644 docs/AlertRouteRulesInner.md create mode 100644 docs/AlertRouteRulesInnerConditionGroupsInner.md create mode 100644 docs/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.md create mode 100644 docs/AlertRouteRulesInnerDestinationsInner.md create mode 100644 docs/AlertSlackNotificationsInner.md create mode 100644 docs/AlertSource.md create mode 100644 docs/AlertsSourceAlertSourceFieldsAttributesInner.md create mode 100644 docs/AlertsSourceAlertSourceUrgencyRulesAttributesInner.md create mode 100644 docs/AlertsSourceAlertTemplateAttributes.md create mode 100644 docs/AlertsSourceResolutionRuleAttributes.md create mode 100644 docs/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.md create mode 100644 docs/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.md create mode 100644 docs/CommunicationsGroupCommunicationGroupConditionsInner.md create mode 100644 docs/CreateSlackCanvasTaskParams.md create mode 100644 docs/CreateSlackCanvasTaskParamsChannel.md create mode 100644 docs/DeferralWindow.md create mode 100644 docs/DeferralWindowTimeBlocksInner.md create mode 100644 docs/EnvironmentSlackAliasesInner.md create mode 100644 docs/EnvironmentSlackChannelsInner.md create mode 100644 docs/EscalationPolicyBusinessHours.md create mode 100644 docs/EscalationPolicyLevelNotificationTargetParamsInner.md create mode 100644 docs/EscalationPolicyPathTimeRestrictionsInner.md create mode 100644 docs/JSONPath.md create mode 100644 docs/LinkIncidents.md create mode 100644 docs/LinkIncidentsData.md create mode 100644 docs/LinkIncidentsDataAttributes.md create mode 100644 docs/LiveCallRouterEscalationPolicyTriggerParams.md create mode 100644 docs/LiveCallRouterPagingTargetsInner.md create mode 100644 docs/NewAlertDataAttributesActor.md create mode 100644 docs/NewAlertDataAttributesActorOneOf.md create mode 100644 docs/NewAlertDataAttributesActorOneOf1.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md create mode 100644 docs/NewProblem.md create mode 100644 docs/NewProblemActionItem.md create mode 100644 docs/NewProblemActionItemData.md create mode 100644 docs/NewProblemActionItemDataAttributes.md create mode 100644 docs/NewProblemData.md create mode 100644 docs/NewProblemDataAttributes.md create mode 100644 docs/NewScheduleDataAttributesBusinessHours.md create mode 100644 docs/NewStatusPageTeam.md create mode 100644 docs/NewStatusPageTeamData.md create mode 100644 docs/NewStatusPageTeamDataAttributes.md create mode 100644 docs/NewWorkflowDataAttributesFailureNotificationChannelsInner.md create mode 100644 docs/NullableSeverityResponse.md create mode 100644 docs/OverriddenShift.md create mode 100644 docs/PrivateAgent.md create mode 100644 docs/PrivateAgentAttributes.md create mode 100644 docs/PrivateAgentAttributesProvidersInner.md create mode 100644 docs/PrivateAgentAttributesProvidersInnerCapabilitiesInner.md create mode 100644 docs/PrivateAgentAttributesProvidersInnerHealth.md create mode 100644 docs/PrivateAgentAttributesProvidersInnerPolicy.md create mode 100644 docs/PrivateAgentEnrollmentTokenResponse.md create mode 100644 docs/PrivateAgentEnrollmentTokenResponseData.md create mode 100644 docs/PrivateAgentEnrollmentTokenResponseDataAttributes.md create mode 100644 docs/PrivateAgentList.md create mode 100644 docs/PrivateAgentResponse.md create mode 100644 docs/PrivateAgentSummary.md create mode 100644 docs/PrivateAgentSummaryAttributes.md create mode 100644 docs/PrivateAgentUpdate.md create mode 100644 docs/PrivateAgentUpdateData.md create mode 100644 docs/PrivateAgentUpdateDataAttributes.md create mode 100644 docs/PrivateAgentsApi.md create mode 100644 docs/Problem.md create mode 100644 docs/ProblemActionItem.md create mode 100644 docs/ProblemActionItemList.md create mode 100644 docs/ProblemActionItemResponse.md create mode 100644 docs/ProblemActionItemResponseData.md create mode 100644 docs/ProblemActionItemsApi.md create mode 100644 docs/ProblemList.md create mode 100644 docs/ProblemResponse.md create mode 100644 docs/ProblemResponseData.md create mode 100644 docs/ProblemsApi.md create mode 100644 docs/PulseLabelsInner.md create mode 100644 docs/PulseRefsInner.md create mode 100644 docs/RelatedIncidents.md create mode 100644 docs/RemoveFromSlackChannelTaskParams.md create mode 100644 docs/ScheduleBusinessHours.md create mode 100644 docs/ScheduleRotationActiveDayActiveTimeAttributesInner.md create mode 100644 docs/ScheduleRotationActiveTimeAttributesInner.md create mode 100644 docs/StatusPageTeam.md create mode 100644 docs/StatusPageTeamList.md create mode 100644 docs/StatusPageTeamResponse.md create mode 100644 docs/StatusPageTeamResponseData.md create mode 100644 docs/StatusPageTeamsApi.md create mode 100644 docs/UpdateAlertConfiguration.md create mode 100644 docs/UpdateAlertConfigurationData.md create mode 100644 docs/UpdateAlertConfigurationDataAttributes.md create mode 100644 docs/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md create mode 100644 docs/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md create mode 100644 docs/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md create mode 100644 docs/UpdateProblem.md create mode 100644 docs/UpdateProblemActionItem.md create mode 100644 docs/UpdateProblemActionItemData.md create mode 100644 docs/UpdateProblemActionItemDataAttributes.md create mode 100644 docs/UpdateProblemData.md create mode 100644 docs/UpdateProblemDataAttributes.md create mode 100644 docs/UpdateSlackCanvasTaskParams.md create mode 100644 docs/UpdateStatusPageTeam.md create mode 100644 docs/UpdateStatusPageTeamData.md create mode 100644 docs/UpdateStatusPageTeamDataAttributes.md create mode 100644 docs/VerifyUserPhoneNumber200Response.md create mode 100644 docs/VerifyUserPhoneNumber429Response.md create mode 100644 docs/WorkingHours.md create mode 100644 src/main/java/com/rootly/client/api/AlertConfigurationApi.java create mode 100644 src/main/java/com/rootly/client/api/PrivateAgentsApi.java create mode 100644 src/main/java/com/rootly/client/api/ProblemActionItemsApi.java create mode 100644 src/main/java/com/rootly/client/api/ProblemsApi.java create mode 100644 src/main/java/com/rootly/client/api/StatusPageTeamsApi.java create mode 100644 src/main/java/com/rootly/client/model/AcknowledgeAlert.java create mode 100644 src/main/java/com/rootly/client/model/AcknowledgeAlertData.java create mode 100644 src/main/java/com/rootly/client/model/AcknowledgeAlertDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/AlertConfiguration.java create mode 100644 src/main/java/com/rootly/client/model/AlertConfigurationResponse.java create mode 100644 src/main/java/com/rootly/client/model/AlertConfigurationResponseData.java create mode 100644 src/main/java/com/rootly/client/model/AlertGroupAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertGroupTargetsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertLabelsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteRulesInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertSlackNotificationsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertSource.java create mode 100644 src/main/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributes.java create mode 100644 src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributes.java create mode 100644 src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannel.java create mode 100644 src/main/java/com/rootly/client/model/DeferralWindow.java create mode 100644 src/main/java/com/rootly/client/model/DeferralWindowTimeBlocksInner.java create mode 100644 src/main/java/com/rootly/client/model/EnvironmentSlackAliasesInner.java create mode 100644 src/main/java/com/rootly/client/model/EnvironmentSlackChannelsInner.java create mode 100644 src/main/java/com/rootly/client/model/EscalationPolicyBusinessHours.java create mode 100644 src/main/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInner.java create mode 100644 src/main/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInner.java create mode 100644 src/main/java/com/rootly/client/model/JSONPath.java create mode 100644 src/main/java/com/rootly/client/model/LinkIncidents.java create mode 100644 src/main/java/com/rootly/client/model/LinkIncidentsData.java create mode 100644 src/main/java/com/rootly/client/model/LinkIncidentsDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParams.java create mode 100644 src/main/java/com/rootly/client/model/LiveCallRouterPagingTargetsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertDataAttributesActor.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewProblem.java create mode 100644 src/main/java/com/rootly/client/model/NewProblemActionItem.java create mode 100644 src/main/java/com/rootly/client/model/NewProblemActionItemData.java create mode 100644 src/main/java/com/rootly/client/model/NewProblemActionItemDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewProblemData.java create mode 100644 src/main/java/com/rootly/client/model/NewProblemDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHours.java create mode 100644 src/main/java/com/rootly/client/model/NewStatusPageTeam.java create mode 100644 src/main/java/com/rootly/client/model/NewStatusPageTeamData.java create mode 100644 src/main/java/com/rootly/client/model/NewStatusPageTeamDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInner.java create mode 100644 src/main/java/com/rootly/client/model/NullableSeverityResponse.java create mode 100644 src/main/java/com/rootly/client/model/OverriddenShift.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgent.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentAttributes.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInner.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInner.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealth.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicy.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponse.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseData.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentList.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentResponse.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentSummary.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentSummaryAttributes.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentUpdate.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentUpdateData.java create mode 100644 src/main/java/com/rootly/client/model/PrivateAgentUpdateDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/Problem.java create mode 100644 src/main/java/com/rootly/client/model/ProblemActionItem.java create mode 100644 src/main/java/com/rootly/client/model/ProblemActionItemList.java create mode 100644 src/main/java/com/rootly/client/model/ProblemActionItemResponse.java create mode 100644 src/main/java/com/rootly/client/model/ProblemActionItemResponseData.java create mode 100644 src/main/java/com/rootly/client/model/ProblemList.java create mode 100644 src/main/java/com/rootly/client/model/ProblemResponse.java create mode 100644 src/main/java/com/rootly/client/model/ProblemResponseData.java create mode 100644 src/main/java/com/rootly/client/model/PulseLabelsInner.java create mode 100644 src/main/java/com/rootly/client/model/PulseRefsInner.java create mode 100644 src/main/java/com/rootly/client/model/RelatedIncidents.java create mode 100644 src/main/java/com/rootly/client/model/RemoveFromSlackChannelTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/ScheduleBusinessHours.java create mode 100644 src/main/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/StatusPageTeam.java create mode 100644 src/main/java/com/rootly/client/model/StatusPageTeamList.java create mode 100644 src/main/java/com/rootly/client/model/StatusPageTeamResponse.java create mode 100644 src/main/java/com/rootly/client/model/StatusPageTeamResponseData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertConfiguration.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertConfigurationData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/UpdateProblem.java create mode 100644 src/main/java/com/rootly/client/model/UpdateProblemActionItem.java create mode 100644 src/main/java/com/rootly/client/model/UpdateProblemActionItemData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateProblemActionItemDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateProblemData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateProblemDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateSlackCanvasTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/UpdateStatusPageTeam.java create mode 100644 src/main/java/com/rootly/client/model/UpdateStatusPageTeamData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/VerifyUserPhoneNumber200Response.java create mode 100644 src/main/java/com/rootly/client/model/VerifyUserPhoneNumber429Response.java create mode 100644 src/main/java/com/rootly/client/model/WorkingHours.java create mode 100644 src/test/java/com/rootly/client/api/AlertConfigurationApiTest.java create mode 100644 src/test/java/com/rootly/client/api/PrivateAgentsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/ProblemActionItemsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/ProblemsApiTest.java rename src/test/java/com/rootly/client/api/{AlertRetriggerRulesApiTest.java => StatusPageTeamsApiTest.java} (62%) create mode 100644 src/test/java/com/rootly/client/model/AcknowledgeAlertDataAttributesTest.java rename src/test/java/com/rootly/client/model/{NewAlertRetriggerRuleDataTest.java => AcknowledgeAlertDataTest.java} (90%) rename src/test/java/com/rootly/client/model/{NewAlertRetriggerRuleTest.java => AcknowledgeAlertTest.java} (91%) rename src/test/java/com/rootly/client/model/{AlertRetriggerRuleResponseDataTest.java => AlertConfigurationResponseDataTest.java} (90%) create mode 100644 src/test/java/com/rootly/client/model/AlertConfigurationResponseTest.java rename src/test/java/com/rootly/client/model/{AlertRetriggerRuleTest.java => AlertConfigurationTest.java} (78%) create mode 100644 src/test/java/com/rootly/client/model/AlertGroupAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertGroupTargetsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertLabelsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInnerTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java => AlertRouteRulesInnerConditionGroupsInnerTest.java} (83%) create mode 100644 src/test/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInnerTest.java rename src/test/java/com/rootly/client/model/{NewAlertRetriggerRuleDataAttributesTest.java => AlertRouteRulesInnerTest.java} (81%) create mode 100644 src/test/java/com/rootly/client/model/AlertSlackNotificationsInnerTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf6Test.java => AlertSourceTest.java} (88%) create mode 100644 src/test/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInnerTest.java rename src/test/java/com/rootly/client/model/{NewAlertRetriggerRuleDataAttributesConditionsInnerTest.java => AlertsSourceAlertSourceUrgencyRulesAttributesInnerTest.java} (77%) create mode 100644 src/test/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributesTest.java rename src/test/java/com/rootly/client/model/{AlertRetriggerRuleConditionsInnerTest.java => AlertsSourceResolutionRuleAttributesConditionsAttributesInnerTest.java} (78%) create mode 100644 src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannelTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java => CreateSlackCanvasTaskParamsTest.java} (77%) rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java => DeferralWindowTest.java} (86%) rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java => DeferralWindowTimeBlocksInnerTest.java} (88%) create mode 100644 src/test/java/com/rootly/client/model/EnvironmentSlackAliasesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/EnvironmentSlackChannelsInnerTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java => EscalationPolicyBusinessHoursTest.java} (80%) create mode 100644 src/test/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInnerTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java => JSONPathTest.java} (89%) create mode 100644 src/test/java/com/rootly/client/model/LinkIncidentsDataAttributesTest.java rename src/test/java/com/rootly/client/model/{UpdateAlertRetriggerRuleDataTest.java => LinkIncidentsDataTest.java} (90%) rename src/test/java/com/rootly/client/model/{UpdateAlertRetriggerRuleTest.java => LinkIncidentsTest.java} (90%) create mode 100644 src/test/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/LiveCallRouterPagingTargetsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1Test.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOfTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertDataAttributesActorTest.java rename src/test/java/com/rootly/client/model/{UpdateAlertRetriggerRuleDataAttributesTest.java => NewEscalationPolicyPathDataAttributesNotificationTypeRulesInnerTest.java} (80%) create mode 100644 src/test/java/com/rootly/client/model/NewProblemActionItemDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewProblemActionItemDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewProblemActionItemTest.java create mode 100644 src/test/java/com/rootly/client/model/NewProblemDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewProblemDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewProblemTest.java create mode 100644 src/test/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHoursTest.java create mode 100644 src/test/java/com/rootly/client/model/NewStatusPageTeamDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewStatusPageTeamDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewStatusPageTeamTest.java create mode 100644 src/test/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInnerTest.java rename src/test/java/com/rootly/client/model/{AlertRetriggerRuleResponseTest.java => NullableSeverityResponseTest.java} (90%) create mode 100644 src/test/java/com/rootly/client/model/OverriddenShiftTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealthTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicyTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentListTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentSummaryAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentSummaryTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentUpdateDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentUpdateDataTest.java create mode 100644 src/test/java/com/rootly/client/model/PrivateAgentUpdateTest.java rename src/test/java/com/rootly/client/model/{AlertRetriggerRuleListTest.java => ProblemActionItemListTest.java} (91%) create mode 100644 src/test/java/com/rootly/client/model/ProblemActionItemResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ProblemActionItemResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/ProblemActionItemTest.java create mode 100644 src/test/java/com/rootly/client/model/ProblemListTest.java create mode 100644 src/test/java/com/rootly/client/model/ProblemResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ProblemResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/ProblemTest.java create mode 100644 src/test/java/com/rootly/client/model/PulseLabelsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PulseRefsInnerTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf7Test.java => RelatedIncidentsTest.java} (87%) create mode 100644 src/test/java/com/rootly/client/model/RemoveFromSlackChannelTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/ScheduleBusinessHoursTest.java create mode 100644 src/test/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusPageTeamListTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusPageTeamResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusPageTeamResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusPageTeamTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgmentTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettingsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertConfigurationTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateProblemActionItemDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateProblemActionItemDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateProblemActionItemTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateProblemDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateProblemDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateProblemTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateSlackCanvasTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateStatusPageTeamTest.java create mode 100644 src/test/java/com/rootly/client/model/VerifyUserPhoneNumber200ResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/VerifyUserPhoneNumber429ResponseTest.java rename src/test/java/com/rootly/client/model/{NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java => WorkingHoursTest.java} (87%) diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 451dee74..224d6630 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -2,6 +2,9 @@ .travis.yml api/openapi.yaml build.sbt +docs/AcknowledgeAlert.md +docs/AcknowledgeAlertData.md +docs/AcknowledgeAlertDataAttributes.md docs/ActionItemTriggerParams.md docs/AddActionItemTaskParams.md docs/AddActionItemTaskParamsAssignedToUser.md @@ -27,6 +30,10 @@ docs/AiChatSessionMessageList.md docs/Alert.md docs/AlertAlertFieldValuesInner.md docs/AlertAlertingTargetsInner.md +docs/AlertConfiguration.md +docs/AlertConfigurationApi.md +docs/AlertConfigurationResponse.md +docs/AlertConfigurationResponseData.md docs/AlertEvent.md docs/AlertEventEscalationTarget.md docs/AlertEventEscalationTargetData.md @@ -47,25 +54,26 @@ docs/AlertFieldResponse.md docs/AlertFieldResponseData.md docs/AlertFieldsApi.md docs/AlertGroup.md +docs/AlertGroupAttributesInner.md docs/AlertGroupConditionsInner.md docs/AlertGroupConditionsInnerValuesInner.md docs/AlertGroupList.md docs/AlertGroupResponse.md docs/AlertGroupResponseData.md +docs/AlertGroupTargetsInner.md docs/AlertGroupsApi.md +docs/AlertLabelsInner.md docs/AlertList.md docs/AlertResponse.md docs/AlertResponseData.md -docs/AlertRetriggerRule.md -docs/AlertRetriggerRuleConditionsInner.md -docs/AlertRetriggerRuleList.md -docs/AlertRetriggerRuleResponse.md -docs/AlertRetriggerRuleResponseData.md -docs/AlertRetriggerRulesApi.md docs/AlertRoute.md docs/AlertRouteList.md docs/AlertRouteResponse.md docs/AlertRouteResponseData.md +docs/AlertRouteRulesInner.md +docs/AlertRouteRulesInnerConditionGroupsInner.md +docs/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.md +docs/AlertRouteRulesInnerDestinationsInner.md docs/AlertRoutesApi.md docs/AlertRoutingRule.md docs/AlertRoutingRuleCondition.md @@ -79,6 +87,8 @@ docs/AlertRoutingRuleResponse.md docs/AlertRoutingRuleResponseData.md docs/AlertRoutingRuleTarget.md docs/AlertRoutingRulesApi.md +docs/AlertSlackNotificationsInner.md +docs/AlertSource.md docs/AlertSourcesApi.md docs/AlertTriggerParams.md docs/AlertTriggerParamsAlertFieldConditionsInner.md @@ -91,10 +101,16 @@ docs/AlertUrgencyResponse.md docs/AlertUrgencyResponseData.md docs/AlertsApi.md docs/AlertsSource.md +docs/AlertsSourceAlertSourceFieldsAttributesInner.md +docs/AlertsSourceAlertSourceUrgencyRulesAttributesInner.md +docs/AlertsSourceAlertTemplateAttributes.md docs/AlertsSourceList.md +docs/AlertsSourceResolutionRuleAttributes.md +docs/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.md docs/AlertsSourceResponse.md docs/AlertsSourceResponseData.md docs/AlertsSourceSourceableAttributes.md +docs/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.md docs/ApiKey.md docs/ApiKeyList.md docs/ApiKeyResponse.md @@ -243,6 +259,7 @@ docs/ChangeGoogleChatSpacePrivacyTaskParams.md docs/ChangeSlackChannelPrivacyTaskParams.md docs/CommunicationsGroup.md docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md +docs/CommunicationsGroupCommunicationGroupConditionsInner.md docs/CommunicationsGroupResponse.md docs/CommunicationsGroupResponseData.md docs/CommunicationsGroupsApi.md @@ -339,6 +356,8 @@ docs/CreateShortcutStoryTaskParams.md docs/CreateShortcutStoryTaskParamsAnyOf.md docs/CreateShortcutStoryTaskParamsAnyOf1.md docs/CreateShortcutTaskTaskParams.md +docs/CreateSlackCanvasTaskParams.md +docs/CreateSlackCanvasTaskParamsChannel.md docs/CreateSlackChannelTaskParams.md docs/CreateSubIncidentTaskParams.md docs/CreateTrelloCardTaskParams.md @@ -374,6 +393,8 @@ docs/DashboardPanelsApi.md docs/DashboardResponse.md docs/DashboardResponseData.md docs/DashboardsApi.md +docs/DeferralWindow.md +docs/DeferralWindowTimeBlocksInner.md docs/DeleteAlertRoute200Response.md docs/DeleteAlertRoute200ResponseData.md docs/DeleteAlertRoute200ResponseDataAttributes.md @@ -397,6 +418,8 @@ docs/Environment.md docs/EnvironmentList.md docs/EnvironmentResponse.md docs/EnvironmentResponseData.md +docs/EnvironmentSlackAliasesInner.md +docs/EnvironmentSlackChannelsInner.md docs/EnvironmentsApi.md docs/ErrorsList.md docs/ErrorsListErrorsInner.md @@ -409,9 +432,11 @@ docs/EscalationLevelsPoliciesApi.md docs/EscalationPathsApi.md docs/EscalationPoliciesApi.md docs/EscalationPolicy.md +docs/EscalationPolicyBusinessHours.md docs/EscalationPolicyLevel.md docs/EscalationPolicyLevelList.md docs/EscalationPolicyLevelListDataInner.md +docs/EscalationPolicyLevelNotificationTargetParamsInner.md docs/EscalationPolicyLevelResponse.md docs/EscalationPolicyLevelResponseData.md docs/EscalationPolicyList.md @@ -420,6 +445,7 @@ docs/EscalationPolicyPathList.md docs/EscalationPolicyPathListDataInner.md docs/EscalationPolicyPathResponse.md docs/EscalationPolicyPathResponseData.md +docs/EscalationPolicyPathTimeRestrictionsInner.md docs/EscalationPolicyResponse.md docs/EscalationPolicyResponseData.md docs/FormField.md @@ -588,10 +614,16 @@ docs/IpRanges.md docs/IpRangesApi.md docs/IpRangesResponse.md docs/IpRangesResponseData.md +docs/JSONPath.md docs/JsonapiIncludedResource.md +docs/LinkIncidents.md +docs/LinkIncidentsData.md +docs/LinkIncidentsDataAttributes.md docs/Links.md docs/LiveCallRouter.md +docs/LiveCallRouterEscalationPolicyTriggerParams.md docs/LiveCallRouterList.md +docs/LiveCallRouterPagingTargetsInner.md docs/LiveCallRouterResponse.md docs/LiveCallRouterResponseData.md docs/LiveCallRoutersApi.md @@ -613,6 +645,9 @@ docs/MitigateIncidentDataAttributes.md docs/NewAlert.md docs/NewAlertData.md docs/NewAlertDataAttributes.md +docs/NewAlertDataAttributesActor.md +docs/NewAlertDataAttributesActorOneOf.md +docs/NewAlertDataAttributesActorOneOf1.md docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md docs/NewAlertDataAttributesLabelsInner.md docs/NewAlertDataAttributesLabelsInnerValue.md @@ -629,10 +664,6 @@ docs/NewAlertGroupDataAttributes.md docs/NewAlertGroupDataAttributesAttributesInner.md docs/NewAlertGroupDataAttributesConditionsInner.md docs/NewAlertGroupDataAttributesTargetsInner.md -docs/NewAlertRetriggerRule.md -docs/NewAlertRetriggerRuleData.md -docs/NewAlertRetriggerRuleDataAttributes.md -docs/NewAlertRetriggerRuleDataAttributesConditionsInner.md docs/NewAlertRoute.md docs/NewAlertRouteData.md docs/NewAlertRouteDataAttributes.md @@ -749,16 +780,8 @@ docs/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.md docs/NewEscalationPolicyPath.md docs/NewEscalationPolicyPathData.md docs/NewEscalationPolicyPathDataAttributes.md +docs/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md docs/NewEscalationPolicyPathDataAttributesRulesInner.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.md docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md docs/NewFormField.md docs/NewFormFieldData.md @@ -865,6 +888,12 @@ docs/NewPlaybookTaskDataAttributes.md docs/NewPostMortemTemplate.md docs/NewPostMortemTemplateData.md docs/NewPostMortemTemplateDataAttributes.md +docs/NewProblem.md +docs/NewProblemActionItem.md +docs/NewProblemActionItemData.md +docs/NewProblemActionItemDataAttributes.md +docs/NewProblemData.md +docs/NewProblemDataAttributes.md docs/NewPulse.md docs/NewPulseData.md docs/NewPulseDataAttributes.md @@ -892,6 +921,7 @@ docs/NewRoleDataAttributes.md docs/NewSchedule.md docs/NewScheduleData.md docs/NewScheduleDataAttributes.md +docs/NewScheduleDataAttributesBusinessHours.md docs/NewScheduleDataAttributesSlackChannel.md docs/NewScheduleDataAttributesSlackUserGroup.md docs/NewScheduleRotation.md @@ -942,6 +972,9 @@ docs/NewStatusPageComponentGroupData.md docs/NewStatusPageComponentGroupDataAttributes.md docs/NewStatusPageData.md docs/NewStatusPageDataAttributes.md +docs/NewStatusPageTeam.md +docs/NewStatusPageTeamData.md +docs/NewStatusPageTeamDataAttributes.md docs/NewStatusPageTemplate.md docs/NewStatusPageTemplateData.md docs/NewStatusPageTemplateDataAttributes.md @@ -976,6 +1009,7 @@ docs/NewWorkflowCustomFieldSelectionData.md docs/NewWorkflowCustomFieldSelectionDataAttributes.md docs/NewWorkflowData.md docs/NewWorkflowDataAttributes.md +docs/NewWorkflowDataAttributesFailureNotificationChannelsInner.md docs/NewWorkflowDataAttributesTriggerParams.md docs/NewWorkflowFormFieldCondition.md docs/NewWorkflowFormFieldConditionData.md @@ -996,6 +1030,7 @@ docs/NewWorkflowTask.md docs/NewWorkflowTaskData.md docs/NewWorkflowTaskDataAttributes.md docs/NewWorkflowTaskDataAttributesTaskParams.md +docs/NullableSeverityResponse.md docs/OnCallPayReport.md docs/OnCallPayReportList.md docs/OnCallPayReportResponse.md @@ -1025,6 +1060,7 @@ docs/OncallRelationshipsSchedule.md docs/OncallRelationshipsScheduleData.md docs/OncallRelationshipsUser.md docs/OncallRelationshipsUserData.md +docs/OverriddenShift.md docs/OverrideShift.md docs/OverrideShiftList.md docs/OverrideShiftResponse.md @@ -1061,15 +1097,46 @@ docs/PostMortemTemplateResponse.md docs/PostMortemTemplateResponseData.md docs/PostMortemTriggerParams.md docs/PrintTaskParams.md +docs/PrivateAgent.md +docs/PrivateAgentAttributes.md +docs/PrivateAgentAttributesProvidersInner.md +docs/PrivateAgentAttributesProvidersInnerCapabilitiesInner.md +docs/PrivateAgentAttributesProvidersInnerHealth.md +docs/PrivateAgentAttributesProvidersInnerPolicy.md +docs/PrivateAgentEnrollmentTokenResponse.md +docs/PrivateAgentEnrollmentTokenResponseData.md +docs/PrivateAgentEnrollmentTokenResponseDataAttributes.md +docs/PrivateAgentList.md +docs/PrivateAgentResponse.md +docs/PrivateAgentSummary.md +docs/PrivateAgentSummaryAttributes.md +docs/PrivateAgentUpdate.md +docs/PrivateAgentUpdateData.md +docs/PrivateAgentUpdateDataAttributes.md +docs/PrivateAgentsApi.md +docs/Problem.md +docs/ProblemActionItem.md +docs/ProblemActionItemList.md +docs/ProblemActionItemResponse.md +docs/ProblemActionItemResponseData.md +docs/ProblemActionItemsApi.md +docs/ProblemList.md +docs/ProblemResponse.md +docs/ProblemResponseData.md +docs/ProblemsApi.md docs/PublishIncidentTaskParams.md docs/Pulse.md +docs/PulseLabelsInner.md docs/PulseList.md +docs/PulseRefsInner.md docs/PulseResponse.md docs/PulseResponseData.md docs/PulseTriggerParams.md docs/PulsesApi.md docs/Receipt.md docs/RedisClientTaskParams.md +docs/RelatedIncidents.md +docs/RemoveFromSlackChannelTaskParams.md docs/RemoveGoogleDocsPermissionsTaskParams.md docs/RemoveSubscribers.md docs/RemoveSubscribersData.md @@ -1125,17 +1192,20 @@ docs/RotateApiKeyData.md docs/RotateApiKeyDataAttributes.md docs/RunCommandHerokuTaskParams.md docs/Schedule.md +docs/ScheduleBusinessHours.md docs/ScheduleList.md docs/ScheduleListDataInner.md docs/ScheduleResponse.md docs/ScheduleResponseData.md docs/ScheduleRotation.md docs/ScheduleRotationActiveDay.md +docs/ScheduleRotationActiveDayActiveTimeAttributesInner.md docs/ScheduleRotationActiveDayList.md docs/ScheduleRotationActiveDayListDataInner.md docs/ScheduleRotationActiveDayResponse.md docs/ScheduleRotationActiveDayResponseData.md docs/ScheduleRotationActiveDaysApi.md +docs/ScheduleRotationActiveTimeAttributesInner.md docs/ScheduleRotationList.md docs/ScheduleRotationResponse.md docs/ScheduleRotationResponseData.md @@ -1234,6 +1304,11 @@ docs/StatusPageComponentsApi.md docs/StatusPageList.md docs/StatusPageResponse.md docs/StatusPageResponseData.md +docs/StatusPageTeam.md +docs/StatusPageTeamList.md +docs/StatusPageTeamResponse.md +docs/StatusPageTeamResponseData.md +docs/StatusPageTeamsApi.md docs/StatusPageTemplate.md docs/StatusPageTemplateList.md docs/StatusPageTemplateListDataInner.md @@ -1265,6 +1340,11 @@ docs/UnassignRoleFromUserDataAttributes.md docs/UpdateActionItemTaskParams.md docs/UpdateAirtableTableRecordTaskParams.md docs/UpdateAlert.md +docs/UpdateAlertConfiguration.md +docs/UpdateAlertConfigurationData.md +docs/UpdateAlertConfigurationDataAttributes.md +docs/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md +docs/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md docs/UpdateAlertData.md docs/UpdateAlertDataAttributes.md docs/UpdateAlertEvent.md @@ -1276,9 +1356,6 @@ docs/UpdateAlertFieldDataAttributes.md docs/UpdateAlertGroup.md docs/UpdateAlertGroupData.md docs/UpdateAlertGroupDataAttributes.md -docs/UpdateAlertRetriggerRule.md -docs/UpdateAlertRetriggerRuleData.md -docs/UpdateAlertRetriggerRuleDataAttributes.md docs/UpdateAlertRoute.md docs/UpdateAlertRouteData.md docs/UpdateAlertRouteDataAttributes.md @@ -1293,6 +1370,7 @@ docs/UpdateAlertUrgencyDataAttributes.md docs/UpdateAlertsSource.md docs/UpdateAlertsSourceData.md docs/UpdateAlertsSourceDataAttributes.md +docs/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md docs/UpdateApiKey.md docs/UpdateApiKeyData.md docs/UpdateApiKeyDataAttributes.md @@ -1507,6 +1585,12 @@ docs/UpdatePlaybookTaskDataAttributes.md docs/UpdatePostMortemTemplate.md docs/UpdatePostMortemTemplateData.md docs/UpdatePostMortemTemplateDataAttributes.md +docs/UpdateProblem.md +docs/UpdateProblemActionItem.md +docs/UpdateProblemActionItemData.md +docs/UpdateProblemActionItemDataAttributes.md +docs/UpdateProblemData.md +docs/UpdateProblemDataAttributes.md docs/UpdatePulse.md docs/UpdatePulseData.md docs/UpdatePulseDataAttributes.md @@ -1557,6 +1641,7 @@ docs/UpdateShortcutTaskTaskParams.md docs/UpdateSla.md docs/UpdateSlaData.md docs/UpdateSlaDataAttributes.md +docs/UpdateSlackCanvasTaskParams.md docs/UpdateSlackChannelTopicTaskParams.md docs/UpdateStatusPage.md docs/UpdateStatusPageAnnouncement.md @@ -1570,6 +1655,9 @@ docs/UpdateStatusPageComponentGroupData.md docs/UpdateStatusPageComponentGroupDataAttributes.md docs/UpdateStatusPageData.md docs/UpdateStatusPageDataAttributes.md +docs/UpdateStatusPageTeam.md +docs/UpdateStatusPageTeamData.md +docs/UpdateStatusPageTeamDataAttributes.md docs/UpdateStatusPageTemplate.md docs/UpdateStatusPageTemplateData.md docs/UpdateStatusPageTemplateDataAttributes.md @@ -1646,6 +1734,8 @@ docs/VerifiedDomainResponse.md docs/VerifiedDomainResponseData.md docs/VerifiedDomainsApi.md docs/VerifyPhoneNumberRequest.md +docs/VerifyUserPhoneNumber200Response.md +docs/VerifyUserPhoneNumber429Response.md docs/WebhooksDeliveriesApi.md docs/WebhooksDelivery.md docs/WebhooksDeliveryList.md @@ -1690,12 +1780,9 @@ docs/WorkflowTaskResponse.md docs/WorkflowTaskResponseData.md docs/WorkflowTasksApi.md docs/WorkflowsApi.md +docs/WorkingHours.md git_push.sh gradle.properties -gradle/wrapper/gradle-wrapper.jar -gradle/wrapper/gradle-wrapper.properties -gradlew -gradlew.bat settings.gradle src/main/AndroidManifest.xml src/main/java/com/rootly/client/ApiCallback.java @@ -1712,10 +1799,10 @@ src/main/java/com/rootly/client/ServerConfiguration.java src/main/java/com/rootly/client/ServerVariable.java src/main/java/com/rootly/client/StringUtil.java src/main/java/com/rootly/client/api/AiChatApi.java +src/main/java/com/rootly/client/api/AlertConfigurationApi.java src/main/java/com/rootly/client/api/AlertEventsApi.java src/main/java/com/rootly/client/api/AlertFieldsApi.java src/main/java/com/rootly/client/api/AlertGroupsApi.java -src/main/java/com/rootly/client/api/AlertRetriggerRulesApi.java src/main/java/com/rootly/client/api/AlertRoutesApi.java src/main/java/com/rootly/client/api/AlertRoutingRulesApi.java src/main/java/com/rootly/client/api/AlertSourcesApi.java @@ -1786,6 +1873,9 @@ src/main/java/com/rootly/client/api/OnCallsApi.java src/main/java/com/rootly/client/api/OverrideShiftsApi.java src/main/java/com/rootly/client/api/PlaybookTasksApi.java src/main/java/com/rootly/client/api/PlaybooksApi.java +src/main/java/com/rootly/client/api/PrivateAgentsApi.java +src/main/java/com/rootly/client/api/ProblemActionItemsApi.java +src/main/java/com/rootly/client/api/ProblemsApi.java src/main/java/com/rootly/client/api/PulsesApi.java src/main/java/com/rootly/client/api/RetrospectiveConfigurationsApi.java src/main/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApi.java @@ -1807,6 +1897,7 @@ src/main/java/com/rootly/client/api/SlasApi.java src/main/java/com/rootly/client/api/StatusPageAnnouncementsApi.java src/main/java/com/rootly/client/api/StatusPageComponentGroupsApi.java src/main/java/com/rootly/client/api/StatusPageComponentsApi.java +src/main/java/com/rootly/client/api/StatusPageTeamsApi.java src/main/java/com/rootly/client/api/StatusPageTemplatesApi.java src/main/java/com/rootly/client/api/StatusPagesApi.java src/main/java/com/rootly/client/api/StatusesApi.java @@ -1830,6 +1921,9 @@ src/main/java/com/rootly/client/auth/Authentication.java src/main/java/com/rootly/client/auth/HttpBasicAuth.java src/main/java/com/rootly/client/auth/HttpBearerAuth.java src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java +src/main/java/com/rootly/client/model/AcknowledgeAlert.java +src/main/java/com/rootly/client/model/AcknowledgeAlertData.java +src/main/java/com/rootly/client/model/AcknowledgeAlertDataAttributes.java src/main/java/com/rootly/client/model/ActionItemTriggerParams.java src/main/java/com/rootly/client/model/AddActionItemTaskParams.java src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java @@ -1854,6 +1948,9 @@ src/main/java/com/rootly/client/model/AiChatSessionMessageList.java src/main/java/com/rootly/client/model/Alert.java src/main/java/com/rootly/client/model/AlertAlertFieldValuesInner.java src/main/java/com/rootly/client/model/AlertAlertingTargetsInner.java +src/main/java/com/rootly/client/model/AlertConfiguration.java +src/main/java/com/rootly/client/model/AlertConfigurationResponse.java +src/main/java/com/rootly/client/model/AlertConfigurationResponseData.java src/main/java/com/rootly/client/model/AlertEvent.java src/main/java/com/rootly/client/model/AlertEventEscalationTarget.java src/main/java/com/rootly/client/model/AlertEventEscalationTargetData.java @@ -1872,23 +1969,25 @@ src/main/java/com/rootly/client/model/AlertFieldListDataInner.java src/main/java/com/rootly/client/model/AlertFieldResponse.java src/main/java/com/rootly/client/model/AlertFieldResponseData.java src/main/java/com/rootly/client/model/AlertGroup.java +src/main/java/com/rootly/client/model/AlertGroupAttributesInner.java src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java src/main/java/com/rootly/client/model/AlertGroupList.java src/main/java/com/rootly/client/model/AlertGroupResponse.java src/main/java/com/rootly/client/model/AlertGroupResponseData.java +src/main/java/com/rootly/client/model/AlertGroupTargetsInner.java +src/main/java/com/rootly/client/model/AlertLabelsInner.java src/main/java/com/rootly/client/model/AlertList.java src/main/java/com/rootly/client/model/AlertResponse.java src/main/java/com/rootly/client/model/AlertResponseData.java -src/main/java/com/rootly/client/model/AlertRetriggerRule.java -src/main/java/com/rootly/client/model/AlertRetriggerRuleConditionsInner.java -src/main/java/com/rootly/client/model/AlertRetriggerRuleList.java -src/main/java/com/rootly/client/model/AlertRetriggerRuleResponse.java -src/main/java/com/rootly/client/model/AlertRetriggerRuleResponseData.java src/main/java/com/rootly/client/model/AlertRoute.java src/main/java/com/rootly/client/model/AlertRouteList.java src/main/java/com/rootly/client/model/AlertRouteResponse.java src/main/java/com/rootly/client/model/AlertRouteResponseData.java +src/main/java/com/rootly/client/model/AlertRouteRulesInner.java +src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInner.java +src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.java +src/main/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInner.java src/main/java/com/rootly/client/model/AlertRoutingRule.java src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java @@ -1900,6 +1999,8 @@ src/main/java/com/rootly/client/model/AlertRoutingRuleList.java src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.java +src/main/java/com/rootly/client/model/AlertSlackNotificationsInner.java +src/main/java/com/rootly/client/model/AlertSource.java src/main/java/com/rootly/client/model/AlertTriggerParams.java src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java @@ -1909,10 +2010,16 @@ src/main/java/com/rootly/client/model/AlertUrgencyList.java src/main/java/com/rootly/client/model/AlertUrgencyResponse.java src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java src/main/java/com/rootly/client/model/AlertsSource.java +src/main/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInner.java +src/main/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInner.java +src/main/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributes.java src/main/java/com/rootly/client/model/AlertsSourceList.java +src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributes.java +src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.java src/main/java/com/rootly/client/model/AlertsSourceResponse.java src/main/java/com/rootly/client/model/AlertsSourceResponseData.java src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributes.java +src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.java src/main/java/com/rootly/client/model/ApiKey.java src/main/java/com/rootly/client/model/ApiKeyList.java src/main/java/com/rootly/client/model/ApiKeyResponse.java @@ -2051,6 +2158,7 @@ src/main/java/com/rootly/client/model/ChangeGoogleChatSpacePrivacyTaskParams.jav src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java src/main/java/com/rootly/client/model/CommunicationsGroup.java src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java +src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInner.java src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java @@ -2143,6 +2251,8 @@ src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf.java src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf1.java src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java +src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParams.java +src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannel.java src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java @@ -2175,6 +2285,8 @@ src/main/java/com/rootly/client/model/DashboardPanelResponse.java src/main/java/com/rootly/client/model/DashboardPanelResponseData.java src/main/java/com/rootly/client/model/DashboardResponse.java src/main/java/com/rootly/client/model/DashboardResponseData.java +src/main/java/com/rootly/client/model/DeferralWindow.java +src/main/java/com/rootly/client/model/DeferralWindowTimeBlocksInner.java src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java @@ -2192,15 +2304,19 @@ src/main/java/com/rootly/client/model/Environment.java src/main/java/com/rootly/client/model/EnvironmentList.java src/main/java/com/rootly/client/model/EnvironmentResponse.java src/main/java/com/rootly/client/model/EnvironmentResponseData.java +src/main/java/com/rootly/client/model/EnvironmentSlackAliasesInner.java +src/main/java/com/rootly/client/model/EnvironmentSlackChannelsInner.java src/main/java/com/rootly/client/model/ErrorsList.java src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java src/main/java/com/rootly/client/model/EscalateAlert.java src/main/java/com/rootly/client/model/EscalateAlertData.java src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java src/main/java/com/rootly/client/model/EscalationPolicy.java +src/main/java/com/rootly/client/model/EscalationPolicyBusinessHours.java src/main/java/com/rootly/client/model/EscalationPolicyLevel.java src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java +src/main/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInner.java src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java src/main/java/com/rootly/client/model/EscalationPolicyList.java @@ -2209,6 +2325,7 @@ src/main/java/com/rootly/client/model/EscalationPolicyPathList.java src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java +src/main/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInner.java src/main/java/com/rootly/client/model/EscalationPolicyResponse.java src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java src/main/java/com/rootly/client/model/FormField.java @@ -2350,10 +2467,16 @@ src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.ja src/main/java/com/rootly/client/model/IpRanges.java src/main/java/com/rootly/client/model/IpRangesResponse.java src/main/java/com/rootly/client/model/IpRangesResponseData.java +src/main/java/com/rootly/client/model/JSONPath.java src/main/java/com/rootly/client/model/JsonapiIncludedResource.java +src/main/java/com/rootly/client/model/LinkIncidents.java +src/main/java/com/rootly/client/model/LinkIncidentsData.java +src/main/java/com/rootly/client/model/LinkIncidentsDataAttributes.java src/main/java/com/rootly/client/model/Links.java src/main/java/com/rootly/client/model/LiveCallRouter.java +src/main/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParams.java src/main/java/com/rootly/client/model/LiveCallRouterList.java +src/main/java/com/rootly/client/model/LiveCallRouterPagingTargetsInner.java src/main/java/com/rootly/client/model/LiveCallRouterResponse.java src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java src/main/java/com/rootly/client/model/MeetingRecording.java @@ -2373,6 +2496,9 @@ src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java src/main/java/com/rootly/client/model/NewAlert.java src/main/java/com/rootly/client/model/NewAlertData.java src/main/java/com/rootly/client/model/NewAlertDataAttributes.java +src/main/java/com/rootly/client/model/NewAlertDataAttributesActor.java +src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf.java +src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1.java src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java @@ -2389,10 +2515,6 @@ src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java -src/main/java/com/rootly/client/model/NewAlertRetriggerRule.java -src/main/java/com/rootly/client/model/NewAlertRetriggerRuleData.java -src/main/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributes.java -src/main/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesConditionsInner.java src/main/java/com/rootly/client/model/NewAlertRoute.java src/main/java/com/rootly/client/model/NewAlertRouteData.java src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java @@ -2509,16 +2631,8 @@ src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNoti src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java +src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.java src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.java src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java src/main/java/com/rootly/client/model/NewFormField.java src/main/java/com/rootly/client/model/NewFormFieldData.java @@ -2625,6 +2739,12 @@ src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java src/main/java/com/rootly/client/model/NewPostMortemTemplate.java src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java +src/main/java/com/rootly/client/model/NewProblem.java +src/main/java/com/rootly/client/model/NewProblemActionItem.java +src/main/java/com/rootly/client/model/NewProblemActionItemData.java +src/main/java/com/rootly/client/model/NewProblemActionItemDataAttributes.java +src/main/java/com/rootly/client/model/NewProblemData.java +src/main/java/com/rootly/client/model/NewProblemDataAttributes.java src/main/java/com/rootly/client/model/NewPulse.java src/main/java/com/rootly/client/model/NewPulseData.java src/main/java/com/rootly/client/model/NewPulseDataAttributes.java @@ -2652,6 +2772,7 @@ src/main/java/com/rootly/client/model/NewRoleDataAttributes.java src/main/java/com/rootly/client/model/NewSchedule.java src/main/java/com/rootly/client/model/NewScheduleData.java src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java +src/main/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHours.java src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java src/main/java/com/rootly/client/model/NewScheduleRotation.java @@ -2702,6 +2823,9 @@ src/main/java/com/rootly/client/model/NewStatusPageComponentGroupData.java src/main/java/com/rootly/client/model/NewStatusPageComponentGroupDataAttributes.java src/main/java/com/rootly/client/model/NewStatusPageData.java src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java +src/main/java/com/rootly/client/model/NewStatusPageTeam.java +src/main/java/com/rootly/client/model/NewStatusPageTeamData.java +src/main/java/com/rootly/client/model/NewStatusPageTeamDataAttributes.java src/main/java/com/rootly/client/model/NewStatusPageTemplate.java src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java @@ -2736,6 +2860,7 @@ src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java src/main/java/com/rootly/client/model/NewWorkflowData.java src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java +src/main/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInner.java src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java @@ -2756,6 +2881,7 @@ src/main/java/com/rootly/client/model/NewWorkflowTask.java src/main/java/com/rootly/client/model/NewWorkflowTaskData.java src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java +src/main/java/com/rootly/client/model/NullableSeverityResponse.java src/main/java/com/rootly/client/model/OnCallPayReport.java src/main/java/com/rootly/client/model/OnCallPayReportList.java src/main/java/com/rootly/client/model/OnCallPayReportResponse.java @@ -2781,6 +2907,7 @@ src/main/java/com/rootly/client/model/OncallRelationshipsSchedule.java src/main/java/com/rootly/client/model/OncallRelationshipsScheduleData.java src/main/java/com/rootly/client/model/OncallRelationshipsUser.java src/main/java/com/rootly/client/model/OncallRelationshipsUserData.java +src/main/java/com/rootly/client/model/OverriddenShift.java src/main/java/com/rootly/client/model/OverrideShift.java src/main/java/com/rootly/client/model/OverrideShiftList.java src/main/java/com/rootly/client/model/OverrideShiftResponse.java @@ -2814,14 +2941,42 @@ src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java src/main/java/com/rootly/client/model/PostMortemTriggerParams.java src/main/java/com/rootly/client/model/PrintTaskParams.java +src/main/java/com/rootly/client/model/PrivateAgent.java +src/main/java/com/rootly/client/model/PrivateAgentAttributes.java +src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInner.java +src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInner.java +src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealth.java +src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicy.java +src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponse.java +src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseData.java +src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributes.java +src/main/java/com/rootly/client/model/PrivateAgentList.java +src/main/java/com/rootly/client/model/PrivateAgentResponse.java +src/main/java/com/rootly/client/model/PrivateAgentSummary.java +src/main/java/com/rootly/client/model/PrivateAgentSummaryAttributes.java +src/main/java/com/rootly/client/model/PrivateAgentUpdate.java +src/main/java/com/rootly/client/model/PrivateAgentUpdateData.java +src/main/java/com/rootly/client/model/PrivateAgentUpdateDataAttributes.java +src/main/java/com/rootly/client/model/Problem.java +src/main/java/com/rootly/client/model/ProblemActionItem.java +src/main/java/com/rootly/client/model/ProblemActionItemList.java +src/main/java/com/rootly/client/model/ProblemActionItemResponse.java +src/main/java/com/rootly/client/model/ProblemActionItemResponseData.java +src/main/java/com/rootly/client/model/ProblemList.java +src/main/java/com/rootly/client/model/ProblemResponse.java +src/main/java/com/rootly/client/model/ProblemResponseData.java src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java src/main/java/com/rootly/client/model/Pulse.java +src/main/java/com/rootly/client/model/PulseLabelsInner.java src/main/java/com/rootly/client/model/PulseList.java +src/main/java/com/rootly/client/model/PulseRefsInner.java src/main/java/com/rootly/client/model/PulseResponse.java src/main/java/com/rootly/client/model/PulseResponseData.java src/main/java/com/rootly/client/model/PulseTriggerParams.java src/main/java/com/rootly/client/model/Receipt.java src/main/java/com/rootly/client/model/RedisClientTaskParams.java +src/main/java/com/rootly/client/model/RelatedIncidents.java +src/main/java/com/rootly/client/model/RemoveFromSlackChannelTaskParams.java src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java src/main/java/com/rootly/client/model/RemoveSubscribers.java src/main/java/com/rootly/client/model/RemoveSubscribersData.java @@ -2870,16 +3025,19 @@ src/main/java/com/rootly/client/model/RotateApiKeyData.java src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java src/main/java/com/rootly/client/model/Schedule.java +src/main/java/com/rootly/client/model/ScheduleBusinessHours.java src/main/java/com/rootly/client/model/ScheduleList.java src/main/java/com/rootly/client/model/ScheduleListDataInner.java src/main/java/com/rootly/client/model/ScheduleResponse.java src/main/java/com/rootly/client/model/ScheduleResponseData.java src/main/java/com/rootly/client/model/ScheduleRotation.java src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java +src/main/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInner.java src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java +src/main/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInner.java src/main/java/com/rootly/client/model/ScheduleRotationList.java src/main/java/com/rootly/client/model/ScheduleRotationResponse.java src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java @@ -2966,6 +3124,10 @@ src/main/java/com/rootly/client/model/StatusPageComponentResponseData.java src/main/java/com/rootly/client/model/StatusPageList.java src/main/java/com/rootly/client/model/StatusPageResponse.java src/main/java/com/rootly/client/model/StatusPageResponseData.java +src/main/java/com/rootly/client/model/StatusPageTeam.java +src/main/java/com/rootly/client/model/StatusPageTeamList.java +src/main/java/com/rootly/client/model/StatusPageTeamResponse.java +src/main/java/com/rootly/client/model/StatusPageTeamResponseData.java src/main/java/com/rootly/client/model/StatusPageTemplate.java src/main/java/com/rootly/client/model/StatusPageTemplateList.java src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java @@ -2992,6 +3154,11 @@ src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java src/main/java/com/rootly/client/model/UpdateAlert.java +src/main/java/com/rootly/client/model/UpdateAlertConfiguration.java +src/main/java/com/rootly/client/model/UpdateAlertConfigurationData.java +src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributes.java +src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.java +src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.java src/main/java/com/rootly/client/model/UpdateAlertData.java src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java src/main/java/com/rootly/client/model/UpdateAlertEvent.java @@ -3003,9 +3170,6 @@ src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java src/main/java/com/rootly/client/model/UpdateAlertGroup.java src/main/java/com/rootly/client/model/UpdateAlertGroupData.java src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java -src/main/java/com/rootly/client/model/UpdateAlertRetriggerRule.java -src/main/java/com/rootly/client/model/UpdateAlertRetriggerRuleData.java -src/main/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataAttributes.java src/main/java/com/rootly/client/model/UpdateAlertRoute.java src/main/java/com/rootly/client/model/UpdateAlertRouteData.java src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java @@ -3020,6 +3184,7 @@ src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java src/main/java/com/rootly/client/model/UpdateAlertsSource.java src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java +src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java src/main/java/com/rootly/client/model/UpdateApiKey.java src/main/java/com/rootly/client/model/UpdateApiKeyData.java src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java @@ -3234,6 +3399,12 @@ src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java +src/main/java/com/rootly/client/model/UpdateProblem.java +src/main/java/com/rootly/client/model/UpdateProblemActionItem.java +src/main/java/com/rootly/client/model/UpdateProblemActionItemData.java +src/main/java/com/rootly/client/model/UpdateProblemActionItemDataAttributes.java +src/main/java/com/rootly/client/model/UpdateProblemData.java +src/main/java/com/rootly/client/model/UpdateProblemDataAttributes.java src/main/java/com/rootly/client/model/UpdatePulse.java src/main/java/com/rootly/client/model/UpdatePulseData.java src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java @@ -3284,6 +3455,7 @@ src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java src/main/java/com/rootly/client/model/UpdateSla.java src/main/java/com/rootly/client/model/UpdateSlaData.java src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java +src/main/java/com/rootly/client/model/UpdateSlackCanvasTaskParams.java src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java src/main/java/com/rootly/client/model/UpdateStatusPage.java src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncement.java @@ -3297,6 +3469,9 @@ src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupData.java src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataAttributes.java src/main/java/com/rootly/client/model/UpdateStatusPageData.java src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java +src/main/java/com/rootly/client/model/UpdateStatusPageTeam.java +src/main/java/com/rootly/client/model/UpdateStatusPageTeamData.java +src/main/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributes.java src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java @@ -3368,6 +3543,8 @@ src/main/java/com/rootly/client/model/VerifiedDomainList.java src/main/java/com/rootly/client/model/VerifiedDomainResponse.java src/main/java/com/rootly/client/model/VerifiedDomainResponseData.java src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java +src/main/java/com/rootly/client/model/VerifyUserPhoneNumber200Response.java +src/main/java/com/rootly/client/model/VerifyUserPhoneNumber429Response.java src/main/java/com/rootly/client/model/WebhooksDelivery.java src/main/java/com/rootly/client/model/WebhooksDeliveryList.java src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java @@ -3404,11 +3581,12 @@ src/main/java/com/rootly/client/model/WorkflowTask.java src/main/java/com/rootly/client/model/WorkflowTaskList.java src/main/java/com/rootly/client/model/WorkflowTaskResponse.java src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java +src/main/java/com/rootly/client/model/WorkingHours.java src/test/java/com/rootly/client/api/AiChatApiTest.java +src/test/java/com/rootly/client/api/AlertConfigurationApiTest.java src/test/java/com/rootly/client/api/AlertEventsApiTest.java src/test/java/com/rootly/client/api/AlertFieldsApiTest.java src/test/java/com/rootly/client/api/AlertGroupsApiTest.java -src/test/java/com/rootly/client/api/AlertRetriggerRulesApiTest.java src/test/java/com/rootly/client/api/AlertRoutesApiTest.java src/test/java/com/rootly/client/api/AlertRoutingRulesApiTest.java src/test/java/com/rootly/client/api/AlertSourcesApiTest.java @@ -3479,6 +3657,9 @@ src/test/java/com/rootly/client/api/OnCallsApiTest.java src/test/java/com/rootly/client/api/OverrideShiftsApiTest.java src/test/java/com/rootly/client/api/PlaybookTasksApiTest.java src/test/java/com/rootly/client/api/PlaybooksApiTest.java +src/test/java/com/rootly/client/api/PrivateAgentsApiTest.java +src/test/java/com/rootly/client/api/ProblemActionItemsApiTest.java +src/test/java/com/rootly/client/api/ProblemsApiTest.java src/test/java/com/rootly/client/api/PulsesApiTest.java src/test/java/com/rootly/client/api/RetrospectiveConfigurationsApiTest.java src/test/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApiTest.java @@ -3500,6 +3681,7 @@ src/test/java/com/rootly/client/api/SlasApiTest.java src/test/java/com/rootly/client/api/StatusPageAnnouncementsApiTest.java src/test/java/com/rootly/client/api/StatusPageComponentGroupsApiTest.java src/test/java/com/rootly/client/api/StatusPageComponentsApiTest.java +src/test/java/com/rootly/client/api/StatusPageTeamsApiTest.java src/test/java/com/rootly/client/api/StatusPageTemplatesApiTest.java src/test/java/com/rootly/client/api/StatusPagesApiTest.java src/test/java/com/rootly/client/api/StatusesApiTest.java @@ -3518,6 +3700,9 @@ src/test/java/com/rootly/client/api/WorkflowGroupsApiTest.java src/test/java/com/rootly/client/api/WorkflowRunsApiTest.java src/test/java/com/rootly/client/api/WorkflowTasksApiTest.java src/test/java/com/rootly/client/api/WorkflowsApiTest.java +src/test/java/com/rootly/client/model/AcknowledgeAlertDataAttributesTest.java +src/test/java/com/rootly/client/model/AcknowledgeAlertDataTest.java +src/test/java/com/rootly/client/model/AcknowledgeAlertTest.java src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java src/test/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUserTest.java src/test/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInnerTest.java @@ -3541,6 +3726,9 @@ src/test/java/com/rootly/client/model/AiChatSessionMessageListTest.java src/test/java/com/rootly/client/model/AiChatSessionMessageTest.java src/test/java/com/rootly/client/model/AlertAlertFieldValuesInnerTest.java src/test/java/com/rootly/client/model/AlertAlertingTargetsInnerTest.java +src/test/java/com/rootly/client/model/AlertConfigurationResponseDataTest.java +src/test/java/com/rootly/client/model/AlertConfigurationResponseTest.java +src/test/java/com/rootly/client/model/AlertConfigurationTest.java src/test/java/com/rootly/client/model/AlertEventEscalationTargetDataTest.java src/test/java/com/rootly/client/model/AlertEventEscalationTargetTest.java src/test/java/com/rootly/client/model/AlertEventFeedListTest.java @@ -3558,23 +3746,25 @@ src/test/java/com/rootly/client/model/AlertFieldListTest.java src/test/java/com/rootly/client/model/AlertFieldResponseDataTest.java src/test/java/com/rootly/client/model/AlertFieldResponseTest.java src/test/java/com/rootly/client/model/AlertFieldTest.java +src/test/java/com/rootly/client/model/AlertGroupAttributesInnerTest.java src/test/java/com/rootly/client/model/AlertGroupConditionsInnerTest.java src/test/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInnerTest.java src/test/java/com/rootly/client/model/AlertGroupListTest.java src/test/java/com/rootly/client/model/AlertGroupResponseDataTest.java src/test/java/com/rootly/client/model/AlertGroupResponseTest.java +src/test/java/com/rootly/client/model/AlertGroupTargetsInnerTest.java src/test/java/com/rootly/client/model/AlertGroupTest.java +src/test/java/com/rootly/client/model/AlertLabelsInnerTest.java src/test/java/com/rootly/client/model/AlertListTest.java src/test/java/com/rootly/client/model/AlertResponseDataTest.java src/test/java/com/rootly/client/model/AlertResponseTest.java -src/test/java/com/rootly/client/model/AlertRetriggerRuleConditionsInnerTest.java -src/test/java/com/rootly/client/model/AlertRetriggerRuleListTest.java -src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseDataTest.java -src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseTest.java -src/test/java/com/rootly/client/model/AlertRetriggerRuleTest.java src/test/java/com/rootly/client/model/AlertRouteListTest.java src/test/java/com/rootly/client/model/AlertRouteResponseDataTest.java src/test/java/com/rootly/client/model/AlertRouteResponseTest.java +src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInnerTest.java +src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerTest.java +src/test/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInnerTest.java +src/test/java/com/rootly/client/model/AlertRouteRulesInnerTest.java src/test/java/com/rootly/client/model/AlertRouteTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java @@ -3587,6 +3777,8 @@ src/test/java/com/rootly/client/model/AlertRoutingRuleResponseDataTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleResponseTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleTargetTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleTest.java +src/test/java/com/rootly/client/model/AlertSlackNotificationsInnerTest.java +src/test/java/com/rootly/client/model/AlertSourceTest.java src/test/java/com/rootly/client/model/AlertTest.java src/test/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInnerTest.java src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java @@ -3596,9 +3788,15 @@ src/test/java/com/rootly/client/model/AlertUrgencyListTest.java src/test/java/com/rootly/client/model/AlertUrgencyResponseDataTest.java src/test/java/com/rootly/client/model/AlertUrgencyResponseTest.java src/test/java/com/rootly/client/model/AlertUrgencyTest.java +src/test/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInnerTest.java +src/test/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInnerTest.java +src/test/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributesTest.java src/test/java/com/rootly/client/model/AlertsSourceListTest.java +src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInnerTest.java +src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesTest.java src/test/java/com/rootly/client/model/AlertsSourceResponseDataTest.java src/test/java/com/rootly/client/model/AlertsSourceResponseTest.java +src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInnerTest.java src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesTest.java src/test/java/com/rootly/client/model/AlertsSourceTest.java src/test/java/com/rootly/client/model/ApiKeyListTest.java @@ -3738,6 +3936,7 @@ src/test/java/com/rootly/client/model/CauseTest.java src/test/java/com/rootly/client/model/ChangeGoogleChatSpacePrivacyTaskParamsTest.java src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInnerTest.java +src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInnerTest.java src/test/java/com/rootly/client/model/CommunicationsGroupResponseDataTest.java src/test/java/com/rootly/client/model/CommunicationsGroupResponseTest.java src/test/java/com/rootly/client/model/CommunicationsGroupTest.java @@ -3831,6 +4030,8 @@ src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf1Test.ja src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOfTest.java src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsTest.java src/test/java/com/rootly/client/model/CreateShortcutTaskTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannelTest.java +src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsTest.java src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.java src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivationTest.java @@ -3863,6 +4064,8 @@ src/test/java/com/rootly/client/model/DashboardPanelTest.java src/test/java/com/rootly/client/model/DashboardResponseDataTest.java src/test/java/com/rootly/client/model/DashboardResponseTest.java src/test/java/com/rootly/client/model/DashboardTest.java +src/test/java/com/rootly/client/model/DeferralWindowTest.java +src/test/java/com/rootly/client/model/DeferralWindowTimeBlocksInnerTest.java src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributesTest.java src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataTest.java src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseTest.java @@ -3879,14 +4082,18 @@ src/test/java/com/rootly/client/model/EdgeConnectorTest.java src/test/java/com/rootly/client/model/EnvironmentListTest.java src/test/java/com/rootly/client/model/EnvironmentResponseDataTest.java src/test/java/com/rootly/client/model/EnvironmentResponseTest.java +src/test/java/com/rootly/client/model/EnvironmentSlackAliasesInnerTest.java +src/test/java/com/rootly/client/model/EnvironmentSlackChannelsInnerTest.java src/test/java/com/rootly/client/model/EnvironmentTest.java src/test/java/com/rootly/client/model/ErrorsListErrorsInnerTest.java src/test/java/com/rootly/client/model/ErrorsListTest.java src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java src/test/java/com/rootly/client/model/EscalateAlertDataTest.java src/test/java/com/rootly/client/model/EscalateAlertTest.java +src/test/java/com/rootly/client/model/EscalationPolicyBusinessHoursTest.java src/test/java/com/rootly/client/model/EscalationPolicyLevelListDataInnerTest.java src/test/java/com/rootly/client/model/EscalationPolicyLevelListTest.java +src/test/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInnerTest.java src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseDataTest.java src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseTest.java src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java @@ -3896,6 +4103,7 @@ src/test/java/com/rootly/client/model/EscalationPolicyPathListTest.java src/test/java/com/rootly/client/model/EscalationPolicyPathResponseDataTest.java src/test/java/com/rootly/client/model/EscalationPolicyPathResponseTest.java src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java +src/test/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInnerTest.java src/test/java/com/rootly/client/model/EscalationPolicyResponseDataTest.java src/test/java/com/rootly/client/model/EscalationPolicyResponseTest.java src/test/java/com/rootly/client/model/EscalationPolicyTest.java @@ -4038,9 +4246,15 @@ src/test/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParamsTes src/test/java/com/rootly/client/model/IpRangesResponseDataTest.java src/test/java/com/rootly/client/model/IpRangesResponseTest.java src/test/java/com/rootly/client/model/IpRangesTest.java +src/test/java/com/rootly/client/model/JSONPathTest.java src/test/java/com/rootly/client/model/JsonapiIncludedResourceTest.java +src/test/java/com/rootly/client/model/LinkIncidentsDataAttributesTest.java +src/test/java/com/rootly/client/model/LinkIncidentsDataTest.java +src/test/java/com/rootly/client/model/LinkIncidentsTest.java src/test/java/com/rootly/client/model/LinksTest.java +src/test/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParamsTest.java src/test/java/com/rootly/client/model/LiveCallRouterListTest.java +src/test/java/com/rootly/client/model/LiveCallRouterPagingTargetsInnerTest.java src/test/java/com/rootly/client/model/LiveCallRouterResponseDataTest.java src/test/java/com/rootly/client/model/LiveCallRouterResponseTest.java src/test/java/com/rootly/client/model/LiveCallRouterTest.java @@ -4058,6 +4272,9 @@ src/test/java/com/rootly/client/model/MetaTest.java src/test/java/com/rootly/client/model/MitigateIncidentDataAttributesTest.java src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java src/test/java/com/rootly/client/model/MitigateIncidentTest.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1Test.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOfTest.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesActorTest.java src/test/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.java src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerTest.java src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java @@ -4076,10 +4293,6 @@ src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInnerTes src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java src/test/java/com/rootly/client/model/NewAlertGroupDataTest.java src/test/java/com/rootly/client/model/NewAlertGroupTest.java -src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesConditionsInnerTest.java -src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesTest.java -src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataTest.java -src/test/java/com/rootly/client/model/NewAlertRetriggerRuleTest.java src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java @@ -4193,15 +4406,7 @@ src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNoti src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesTest.java src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataTest.java src/test/java/com/rootly/client/model/NewEscalationPolicyLevelTest.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf6Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf7Test.java -src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInnerTest.java src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java @@ -4313,6 +4518,12 @@ src/test/java/com/rootly/client/model/NewPlaybookTest.java src/test/java/com/rootly/client/model/NewPostMortemTemplateDataAttributesTest.java src/test/java/com/rootly/client/model/NewPostMortemTemplateDataTest.java src/test/java/com/rootly/client/model/NewPostMortemTemplateTest.java +src/test/java/com/rootly/client/model/NewProblemActionItemDataAttributesTest.java +src/test/java/com/rootly/client/model/NewProblemActionItemDataTest.java +src/test/java/com/rootly/client/model/NewProblemActionItemTest.java +src/test/java/com/rootly/client/model/NewProblemDataAttributesTest.java +src/test/java/com/rootly/client/model/NewProblemDataTest.java +src/test/java/com/rootly/client/model/NewProblemTest.java src/test/java/com/rootly/client/model/NewPulseDataAttributesLabelsInnerTest.java src/test/java/com/rootly/client/model/NewPulseDataAttributesRefsInnerTest.java src/test/java/com/rootly/client/model/NewPulseDataAttributesTest.java @@ -4337,6 +4548,7 @@ src/test/java/com/rootly/client/model/NewRetrospectiveStepTest.java src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java src/test/java/com/rootly/client/model/NewRoleDataTest.java src/test/java/com/rootly/client/model/NewRoleTest.java +src/test/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHoursTest.java src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannelTest.java src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroupTest.java src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java @@ -4389,6 +4601,9 @@ src/test/java/com/rootly/client/model/NewStatusPageComponentGroupTest.java src/test/java/com/rootly/client/model/NewStatusPageComponentTest.java src/test/java/com/rootly/client/model/NewStatusPageDataAttributesTest.java src/test/java/com/rootly/client/model/NewStatusPageDataTest.java +src/test/java/com/rootly/client/model/NewStatusPageTeamDataAttributesTest.java +src/test/java/com/rootly/client/model/NewStatusPageTeamDataTest.java +src/test/java/com/rootly/client/model/NewStatusPageTeamTest.java src/test/java/com/rootly/client/model/NewStatusPageTemplateDataAttributesTest.java src/test/java/com/rootly/client/model/NewStatusPageTemplateDataTest.java src/test/java/com/rootly/client/model/NewStatusPageTemplateTest.java @@ -4421,6 +4636,7 @@ src/test/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionTes src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributesTest.java src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataTest.java src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionTest.java +src/test/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInnerTest.java src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java src/test/java/com/rootly/client/model/NewWorkflowDataTest.java @@ -4444,6 +4660,7 @@ src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTest.java src/test/java/com/rootly/client/model/NewWorkflowTaskDataTest.java src/test/java/com/rootly/client/model/NewWorkflowTaskTest.java src/test/java/com/rootly/client/model/NewWorkflowTest.java +src/test/java/com/rootly/client/model/NullableSeverityResponseTest.java src/test/java/com/rootly/client/model/OnCallPayReportListTest.java src/test/java/com/rootly/client/model/OnCallPayReportResponseDataTest.java src/test/java/com/rootly/client/model/OnCallPayReportResponseTest.java @@ -4469,6 +4686,7 @@ src/test/java/com/rootly/client/model/OncallRelationshipsTest.java src/test/java/com/rootly/client/model/OncallRelationshipsUserDataTest.java src/test/java/com/rootly/client/model/OncallRelationshipsUserTest.java src/test/java/com/rootly/client/model/OncallTest.java +src/test/java/com/rootly/client/model/OverriddenShiftTest.java src/test/java/com/rootly/client/model/OverrideShiftListTest.java src/test/java/com/rootly/client/model/OverrideShiftResponseDataTest.java src/test/java/com/rootly/client/model/OverrideShiftResponseTest.java @@ -4502,14 +4720,42 @@ src/test/java/com/rootly/client/model/PostMortemTemplateResponseTest.java src/test/java/com/rootly/client/model/PostMortemTemplateTest.java src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java src/test/java/com/rootly/client/model/PrintTaskParamsTest.java +src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInnerTest.java +src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealthTest.java +src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicyTest.java +src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerTest.java +src/test/java/com/rootly/client/model/PrivateAgentAttributesTest.java +src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributesTest.java +src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataTest.java +src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseTest.java +src/test/java/com/rootly/client/model/PrivateAgentListTest.java +src/test/java/com/rootly/client/model/PrivateAgentResponseTest.java +src/test/java/com/rootly/client/model/PrivateAgentSummaryAttributesTest.java +src/test/java/com/rootly/client/model/PrivateAgentSummaryTest.java +src/test/java/com/rootly/client/model/PrivateAgentTest.java +src/test/java/com/rootly/client/model/PrivateAgentUpdateDataAttributesTest.java +src/test/java/com/rootly/client/model/PrivateAgentUpdateDataTest.java +src/test/java/com/rootly/client/model/PrivateAgentUpdateTest.java +src/test/java/com/rootly/client/model/ProblemActionItemListTest.java +src/test/java/com/rootly/client/model/ProblemActionItemResponseDataTest.java +src/test/java/com/rootly/client/model/ProblemActionItemResponseTest.java +src/test/java/com/rootly/client/model/ProblemActionItemTest.java +src/test/java/com/rootly/client/model/ProblemListTest.java +src/test/java/com/rootly/client/model/ProblemResponseDataTest.java +src/test/java/com/rootly/client/model/ProblemResponseTest.java +src/test/java/com/rootly/client/model/ProblemTest.java src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/PulseLabelsInnerTest.java src/test/java/com/rootly/client/model/PulseListTest.java +src/test/java/com/rootly/client/model/PulseRefsInnerTest.java src/test/java/com/rootly/client/model/PulseResponseDataTest.java src/test/java/com/rootly/client/model/PulseResponseTest.java src/test/java/com/rootly/client/model/PulseTest.java src/test/java/com/rootly/client/model/PulseTriggerParamsTest.java src/test/java/com/rootly/client/model/ReceiptTest.java src/test/java/com/rootly/client/model/RedisClientTaskParamsTest.java +src/test/java/com/rootly/client/model/RelatedIncidentsTest.java +src/test/java/com/rootly/client/model/RemoveFromSlackChannelTaskParamsTest.java src/test/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParamsTest.java src/test/java/com/rootly/client/model/RemoveSubscribersDataAttributesTest.java src/test/java/com/rootly/client/model/RemoveSubscribersDataTest.java @@ -4557,15 +4803,18 @@ src/test/java/com/rootly/client/model/RotateApiKeyDataAttributesTest.java src/test/java/com/rootly/client/model/RotateApiKeyDataTest.java src/test/java/com/rootly/client/model/RotateApiKeyTest.java src/test/java/com/rootly/client/model/RunCommandHerokuTaskParamsTest.java +src/test/java/com/rootly/client/model/ScheduleBusinessHoursTest.java src/test/java/com/rootly/client/model/ScheduleListDataInnerTest.java src/test/java/com/rootly/client/model/ScheduleListTest.java src/test/java/com/rootly/client/model/ScheduleResponseDataTest.java src/test/java/com/rootly/client/model/ScheduleResponseTest.java +src/test/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInnerTest.java src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInnerTest.java src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListTest.java src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseDataTest.java src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseTest.java src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java +src/test/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInnerTest.java src/test/java/com/rootly/client/model/ScheduleRotationListTest.java src/test/java/com/rootly/client/model/ScheduleRotationResponseDataTest.java src/test/java/com/rootly/client/model/ScheduleRotationResponseTest.java @@ -4652,6 +4901,10 @@ src/test/java/com/rootly/client/model/StatusPageComponentTest.java src/test/java/com/rootly/client/model/StatusPageListTest.java src/test/java/com/rootly/client/model/StatusPageResponseDataTest.java src/test/java/com/rootly/client/model/StatusPageResponseTest.java +src/test/java/com/rootly/client/model/StatusPageTeamListTest.java +src/test/java/com/rootly/client/model/StatusPageTeamResponseDataTest.java +src/test/java/com/rootly/client/model/StatusPageTeamResponseTest.java +src/test/java/com/rootly/client/model/StatusPageTeamTest.java src/test/java/com/rootly/client/model/StatusPageTemplateListDataInnerTest.java src/test/java/com/rootly/client/model/StatusPageTemplateListTest.java src/test/java/com/rootly/client/model/StatusPageTemplateResponseDataTest.java @@ -4679,6 +4932,11 @@ src/test/java/com/rootly/client/model/UnassignRoleFromUserDataTest.java src/test/java/com/rootly/client/model/UnassignRoleFromUserTest.java src/test/java/com/rootly/client/model/UpdateActionItemTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgmentTest.java +src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettingsTest.java +src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataTest.java +src/test/java/com/rootly/client/model/UpdateAlertConfigurationTest.java src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertDataTest.java src/test/java/com/rootly/client/model/UpdateAlertEventDataAttributesTest.java @@ -4690,9 +4948,6 @@ src/test/java/com/rootly/client/model/UpdateAlertFieldTest.java src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java src/test/java/com/rootly/client/model/UpdateAlertGroupTest.java -src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataAttributesTest.java -src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataTest.java -src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleTest.java src/test/java/com/rootly/client/model/UpdateAlertRouteDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java src/test/java/com/rootly/client/model/UpdateAlertRouteTest.java @@ -4705,6 +4960,7 @@ src/test/java/com/rootly/client/model/UpdateAlertTest.java src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java src/test/java/com/rootly/client/model/UpdateAlertUrgencyTest.java +src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java src/test/java/com/rootly/client/model/UpdateAlertsSourceTest.java @@ -4922,6 +5178,12 @@ src/test/java/com/rootly/client/model/UpdatePlaybookTest.java src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributesTest.java src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java src/test/java/com/rootly/client/model/UpdatePostMortemTemplateTest.java +src/test/java/com/rootly/client/model/UpdateProblemActionItemDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateProblemActionItemDataTest.java +src/test/java/com/rootly/client/model/UpdateProblemActionItemTest.java +src/test/java/com/rootly/client/model/UpdateProblemDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateProblemDataTest.java +src/test/java/com/rootly/client/model/UpdateProblemTest.java src/test/java/com/rootly/client/model/UpdatePulseDataAttributesTest.java src/test/java/com/rootly/client/model/UpdatePulseDataTest.java src/test/java/com/rootly/client/model/UpdatePulseTest.java @@ -4972,6 +5234,7 @@ src/test/java/com/rootly/client/model/UpdateShortcutTaskTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateSlaDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateSlaDataTest.java src/test/java/com/rootly/client/model/UpdateSlaTest.java +src/test/java/com/rootly/client/model/UpdateSlackCanvasTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataTest.java @@ -4984,6 +5247,9 @@ src/test/java/com/rootly/client/model/UpdateStatusPageComponentGroupTest.java src/test/java/com/rootly/client/model/UpdateStatusPageComponentTest.java src/test/java/com/rootly/client/model/UpdateStatusPageDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java +src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataTest.java +src/test/java/com/rootly/client/model/UpdateStatusPageTeamTest.java src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java src/test/java/com/rootly/client/model/UpdateStatusPageTemplateTest.java @@ -5056,6 +5322,8 @@ src/test/java/com/rootly/client/model/VerifiedDomainResponseDataTest.java src/test/java/com/rootly/client/model/VerifiedDomainResponseTest.java src/test/java/com/rootly/client/model/VerifiedDomainTest.java src/test/java/com/rootly/client/model/VerifyPhoneNumberRequestTest.java +src/test/java/com/rootly/client/model/VerifyUserPhoneNumber200ResponseTest.java +src/test/java/com/rootly/client/model/VerifyUserPhoneNumber429ResponseTest.java src/test/java/com/rootly/client/model/WebhooksDeliveryListTest.java src/test/java/com/rootly/client/model/WebhooksDeliveryResponseDataTest.java src/test/java/com/rootly/client/model/WebhooksDeliveryResponseTest.java @@ -5092,3 +5360,4 @@ src/test/java/com/rootly/client/model/WorkflowTaskResponseDataTest.java src/test/java/com/rootly/client/model/WorkflowTaskResponseTest.java src/test/java/com/rootly/client/model/WorkflowTaskTest.java src/test/java/com/rootly/client/model/WorkflowTest.java +src/test/java/com/rootly/client/model/WorkingHoursTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 04d84df9..d9ff9cbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added +- Alert configuration endpoints to retrieve and update team alert configuration +- Private agent endpoints for enrollment tokens, listing, retrieval, updates, and revocation +- Problem and problem action item endpoints for listing, creating, retrieving, updating, deleting, and linking or unlinking incidents +- Status page team endpoints to list, add, retrieve, update, and remove teams +- Phone number verification and resend-verification endpoints + +### Removed +- **BREAKING**: Alert re-trigger rule endpoints (`GET`/`POST /v1/alert_retrigger_rules` and `GET`/`PUT`/`DELETE /v1/alert_retrigger_rules/{id}`) and their models + +### Dependencies +- Regenerated with OpenAPI Generator 7.13.0; runtime dependency versions unchanged + ## [0.0.4] - 2026-01-22 ### Fixed diff --git a/api/openapi.yaml b/api/openapi.yaml index 678c12a8..2f209dc2 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -246,6 +246,71 @@ paths: - AI Chat x-accepts: - application/json + /v1/alert_configuration: + get: + operationId: getAlertConfiguration + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_configuration_response' + description: alert configuration found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: team has no alert configuration + security: + - bearer_auth: [] + summary: Retrieves the team's alert configuration + tags: + - AlertConfiguration + x-accepts: + - application/vnd.api+json + put: + operationId: updateAlertConfiguration + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_alert_configuration' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_configuration_response' + description: alert configuration updated + "403": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: an attribute's feature is not enabled for the team + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: team has no alert configuration + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: the settings are invalid + security: + - bearer_auth: [] + summary: Updates the team's alert configuration + tags: + - AlertConfiguration + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json /v1/alerts/{alert_id}/events: get: description: List alert_events @@ -418,6 +483,8 @@ paths: - ignored_alert_request - call_lifecycle - level_skipped + - team_attached_from_payload + - user_paged - emailed - slacked - ms_teams_messaged @@ -437,6 +504,7 @@ paths: - attached - snoozed - retrigger_suppressed + - retrigger_cancelled - triggered - open - updated @@ -1121,56 +1189,179 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/alert_retrigger_rules: + /v1/alert_routes: get: - operationId: listAlertRetriggerRules + description: "List all alert routes for the current team with filtering and\ + \ pagination. **Note: This endpoint requires access to Advanced Alert Routing.\ + \ If you're unsure whether you have access to this feature, please contact\ + \ Rootly customer support.**" + operationId: listAlertRoutes + parameters: + - explode: true + in: query + name: "page[number]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "page[size]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "filter[search]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[name]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[slug][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[slug][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[slug][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[slug][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[name][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[name][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[name][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[name][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: sort + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/alert_retrigger_rule_list' - description: alert re-trigger rules listed + $ref: '#/components/schemas/alert_route_list' + description: alert routes filtered by search + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: unauthorized security: - bearer_auth: [] - summary: List alert re-trigger rules + summary: List alert routes tags: - - AlertRetriggerRules + - AlertRoutes x-accepts: - application/vnd.api+json post: - operationId: createAlertRetriggerRule + description: |- + Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** + + ## Asynchronous Rule Creation + + For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. + + Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and for an update it includes the rules already on the route, not just those in the payload. + + **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. + + If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + operationId: createAlertRoute parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_alert_retrigger_rule' + $ref: '#/components/schemas/new_alert_route' required: true responses: "201": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/alert_retrigger_rule_response' - description: alert re-trigger rule created + $ref: '#/components/schemas/alert_route_response' + description: unknown attribute filtered out gracefully "422": content: application/vnd.api+json: schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: "create: raises error when multiple fallback rules are present" + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: unauthorized security: - bearer_auth: [] - summary: Creates an alert re-trigger rule + summary: Creates an alert route tags: - - AlertRetriggerRules + - AlertRoutes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/alert_retrigger_rules/{id}: + /v1/alert_routes/{id}: delete: - operationId: deleteAlertRetriggerRule + description: "Delete a specific alert route by id. **Note: This endpoint requires\ + \ access to Advanced Alert Routing. If you're unsure whether you have access\ + \ to this feature, please contact Rootly customer support.**" + operationId: deleteAlertRoute parameters: - explode: false in: path @@ -1181,16 +1372,85 @@ paths: style: simple responses: "200": - description: alert re-trigger rule deleted + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/deleteAlertRoute_200_response' + description: alert route deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cross-team access denied + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: destroy failed + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: unauthorized security: - bearer_auth: [] - summary: Deletes an alert re-trigger rule + summary: Delete an alert route tags: - - AlertRetriggerRules + - AlertRoutes x-accepts: - - application/json + - application/vnd.api+json get: - operationId: getAlertRetriggerRule + description: |- + Get a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** + + ## Optional Parameters + + - **show_nested_ids** (query parameter): When set to `true`, the response will include IDs for all nested resources (destinations, condition_groups, conditions). This is useful when you need to reference these nested resources for updates or deletions via PATCH requests. + + Example: `GET /v1/alert_routes/{id}?show_nested_ids=true` + operationId: getAlertRoute + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_route_response' + description: alert route found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cross-team access denied + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: unauthorized + security: + - bearer_auth: [] + summary: Get an alert route + tags: + - AlertRoutes + x-accepts: + - application/vnd.api+json + patch: + description: "Updates an alert route. **Note: This endpoint requires access\ + \ to Advanced Alert Routing. If you're unsure whether you have access to this\ + \ feature, please contact Rootly customer support.**" + operationId: patchAlertRoute parameters: - explode: false in: path @@ -1199,22 +1459,59 @@ paths: schema: type: string style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/patch_alert_route' + required: true responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/alert_retrigger_rule_response' - description: alert re-trigger rule found + $ref: '#/components/schemas/alert_route_response' + description: delete existing rule by id with _destroy + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: unauthorized + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cross-team access denied security: - bearer_auth: [] - summary: Retrieves an alert re-trigger rule + summary: Update an alert route tags: - - AlertRetriggerRules + - AlertRoutes + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json put: - operationId: updateAlertRetriggerRule + description: |- + Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** + + ### Asynchronous Rule Creation + + For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. + + Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and includes the rules already on the route, not just those in the payload, so a small payload against a large route may still be processed asynchronously. + + **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. + + If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + operationId: updateAlertRoute parameters: - explode: false in: path @@ -1227,398 +1524,50 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_alert_retrigger_rule' + $ref: '#/components/schemas/update_alert_route' required: true responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/alert_retrigger_rule_response' - description: alert re-trigger rule updated + $ref: '#/components/schemas/alert_route_response' + description: "update: handles mixed position types correctly" + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: "update: raises error when multiple fallback rules are present" + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cross-team access denied security: - bearer_auth: [] - summary: Updates an alert re-trigger rule + summary: Update an alert route tags: - - AlertRetriggerRules + - AlertRoutes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/alert_routes: + /v1/alert_routing_rules: get: - description: "List all alert routes for the current team with filtering and\ - \ pagination. **Note: This endpoint requires access to Advanced Alert Routing.\ - \ If you're unsure whether you have access to this feature, please contact\ - \ Rootly customer support.**" - operationId: listAlertRoutes + description: "List alert routing rules. **Note: If you are an advanced alert\ + \ routing user, you should use the Alert Routes endpoint instead of this endpoint.\ + \ If you don't know whether you are an advanced user, please contact Rootly\ + \ customer support.**" + operationId: listAlertRoutingRules parameters: - - explode: true - in: query - name: "page[number]" - required: false - schema: - type: integer - style: form - - explode: true - in: query - name: "page[size]" - required: false - schema: - type: integer - style: form - - explode: true - in: query - name: "filter[search]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[slug][eq]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[slug][not_eq]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[slug][in]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[slug][not_in]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name][eq]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name][not_eq]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name][in]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name][not_in]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/alert_route_list' - description: alert routes filtered by search - "401": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: unauthorized - security: - - bearer_auth: [] - summary: List alert routes - tags: - - AlertRoutes - x-accepts: - - application/vnd.api+json - post: - description: |- - Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** - - ## Asynchronous Rule Creation - - For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. - - **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route after a few minutes to get the updated rules. - - If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. - operationId: createAlertRoute - parameters: [] - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_alert_route' - required: true - responses: - "201": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/alert_route_response' - description: unknown attribute filtered out gracefully - "422": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: "create: raises error when multiple fallback rules are present" - "401": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: unauthorized - security: - - bearer_auth: [] - summary: Creates an alert route - tags: - - AlertRoutes - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/alert_routes/{id}: - delete: - description: "Delete a specific alert route by id. **Note: This endpoint requires\ - \ access to Advanced Alert Routing. If you're unsure whether you have access\ - \ to this feature, please contact Rootly customer support.**" - operationId: deleteAlertRoute - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/deleteAlertRoute_200_response' - description: alert route deleted - "404": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: cross-team access denied - "422": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: destroy failed - "401": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: unauthorized - security: - - bearer_auth: [] - summary: Delete an alert route - tags: - - AlertRoutes - x-accepts: - - application/vnd.api+json - get: - description: |- - Get a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** - - ## Optional Parameters - - - **show_nested_ids** (query parameter): When set to `true`, the response will include IDs for all nested resources (destinations, condition_groups, conditions). This is useful when you need to reference these nested resources for updates or deletions via PATCH requests. - - Example: `GET /v1/alert_routes/{id}?show_nested_ids=true` - operationId: getAlertRoute - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/alert_route_response' - description: alert route found - "404": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: cross-team access denied - "401": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: unauthorized - security: - - bearer_auth: [] - summary: Get an alert route - tags: - - AlertRoutes - x-accepts: - - application/vnd.api+json - patch: - description: "Updates an alert route. **Note: This endpoint requires access\ - \ to Advanced Alert Routing. If you're unsure whether you have access to this\ - \ feature, please contact Rootly customer support.**" - operationId: patchAlertRoute - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/patch_alert_route' - required: true - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/alert_route_response' - description: delete existing rule by id with _destroy - "422": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: unauthorized - "404": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: cross-team access denied - security: - - bearer_auth: [] - summary: Update an alert route - tags: - - AlertRoutes - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - put: - description: |- - Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** - - ### Asynchronous Rule Creation - - For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. - - **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route after a few minutes to get the updated rules. - - If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. - operationId: updateAlertRoute - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_alert_route' - required: true - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/alert_route_response' - description: "update: handles mixed position types correctly" - "422": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: "update: raises error when multiple fallback rules are present" - "404": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/errors_list' - description: cross-team access denied - security: - - bearer_auth: [] - summary: Update an alert route - tags: - - AlertRoutes - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/alert_routing_rules: - get: - description: "List alert routing rules. **Note: If you are an advanced alert\ - \ routing user, you should use the Alert Routes endpoint instead of this endpoint.\ - \ If you don't know whether you are an advanced user, please contact Rootly\ - \ customer support.**" - operationId: listAlertRoutingRules - parameters: - - explode: true - in: query - name: include - required: false - schema: - type: string - style: form + - explode: true + in: query + name: include + required: false + schema: + type: string + style: form - explode: true in: query name: "page[number]" @@ -2357,18 +2306,24 @@ paths: $ref: '#/components/schemas/update_alerts_source' required: true responses: - "200": + "404": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/alerts_source_response' - description: preserves existing alert source field ids - "404": + $ref: '#/components/schemas/errors_list' + description: resource not found + "422": content: application/vnd.api+json: schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: built-in alert fields cannot be unbound + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alerts_source_response' + description: preserves existing alert source field ids security: - bearer_auth: [] summary: Update an alert source @@ -3004,6 +2959,11 @@ paths: schema: type: string style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/acknowledge_alert' responses: "200": content: @@ -3011,6 +2971,18 @@ paths: schema: $ref: '#/components/schemas/alert_response' description: alert acknowledged + "403": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: actor not supported for this API key + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: actor could not be resolved "404": content: application/vnd.api+json: @@ -3028,6 +3000,7 @@ paths: summary: Acknowledges an alert tags: - Alerts + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json /v1/alerts/{id}/resolve: @@ -4388,6 +4361,8 @@ paths: - -updated_at - position - -position + - name + - -name type: string style: form - explode: true @@ -7944,6 +7919,12 @@ paths: schema: $ref: '#/components/schemas/dashboard_panel_response' description: dashboard panel created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: rejects a group_by on a field that cannot be grouped "401": content: application/vnd.api+json: @@ -10516,6 +10497,12 @@ paths: schema: $ref: '#/components/schemas/form_field_placement_response' description: form_field_placement deleted + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: fixed problem gate placement rejected "404": content: application/vnd.api+json: @@ -16625,7 +16612,12 @@ paths: x-accepts: - application/vnd.api+json put: - description: Update a specific incident retrospective by id + description: "Update a specific incident retrospective by id. The body may be\ + \ written as `content` (or its alias `smart_content`) and is sanitized to\ + \ the tags the retrospective editor supports. When no `title` is sent and\ + \ the body opens with an `

`, that heading becomes the retrospective title,\ + \ matching the editor. Once a retrospective has been opened in the collaborative\ + \ editor that editor owns the body, and body writes are rejected with a 409." operationId: updateIncidentPostmortem parameters: - explode: false @@ -16654,6 +16646,18 @@ paths: schema: $ref: '#/components/schemas/errors_list' description: resource not found + "409": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: retrospective body owned by the collaborative editor + "503": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: collaborative document state could not be verified security: - bearer_auth: [] summary: Update an incident retrospective @@ -17420,6 +17424,13 @@ paths: schema: $ref: '#/components/schemas/incident_status_page_event_response' description: incident_status_page_event started_at updated + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: moving a private incident's event to a public status page is + rejected "404": content: application/vnd.api+json: @@ -19339,7 +19350,20 @@ paths: post: description: Creates a new incident from provided data operationId: createIncident - parameters: [] + parameters: + - description: "Optional client-generated key that makes creation safe to retry.\ + \ Within 24 hours, a repeat request carrying the same key returns the incident\ + \ created by the first request with status 200 instead of creating a duplicate.\ + \ Keys are scoped to the team. Keys longer than 255 characters are rejected\ + \ with 422." + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + type: string + style: simple requestBody: content: application/vnd.api+json: @@ -19353,6 +19377,12 @@ paths: schema: $ref: '#/components/schemas/incident_response' description: incident created + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_response' + description: incident already created for this Idempotency-Key "422": content: application/vnd.api+json: @@ -20455,7 +20485,7 @@ paths: $ref: '#/components/schemas/start_session_response' description: session created "422": - description: invalid platform + description: Scribe is disabled for the organization security: - bearer_auth: [] summary: Start a recording session @@ -22286,6 +22316,1146 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/private_agents/enrollment_tokens: + post: + description: "Issue a one-time token valid for 24 hours. No request body is\ + \ required. Requires Private Agent management permission plus the Private\ + \ Agents and AI SRE features. The agent uses this token for gRPC Enroll; the\ + \ agent record is created on enrollment, not by this request. The plaintext\ + \ is returned only here and is not recoverable. Repeated requests issue distinct\ + \ tokens; this endpoint is not idempotent." + operationId: createPrivateAgentEnrollmentToken + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/private_agent_enrollment_token_response' + description: Enrollment token issued + "401": + description: Invalid or missing API credential + "404": + description: Not authorized or feature disabled + security: + - bearer_auth: [] + summary: Create a one-time token for agent enrollment + tags: + - Private Agents + x-accepts: + - application/vnd.api+json + /v1/private_agents: + get: + description: "List this tenant's agents, including revoked and offline agents.\ + \ Inventory pages omit provider snapshots to bound database and response costs;\ + \ use Get private agent for provider inventory and last-reported health. Requires\ + \ Private Agent management access plus the Private Agents and AI SRE features.\ + \ Credentials and capability schemas are never returned." + operationId: listPrivateAgents + parameters: + - explode: true + in: query + name: "page[number]" + required: false + schema: + minimum: 1 + type: integer + style: form + - explode: true + in: query + name: "page[size]" + required: false + schema: + default: 50 + maximum: 1000 + minimum: 1 + type: integer + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/private_agent_list' + description: Agents listed + "401": + description: Invalid or missing API credential + security: + - bearer_auth: [] + summary: List private agents + tags: + - Private Agents + x-accepts: + - application/vnd.api+json + /v1/private_agents/{id}: + get: + description: Return provider inventory and last-reported health for one agent. + Requires Private Agent read permission plus the Private Agents and AI SRE + features. Credentials and capability schemas are never returned. + operationId: getPrivateAgent + parameters: + - explode: false + in: path + name: id + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/private_agent_response' + description: Agent details + "404": + description: Not found or unauthorized + "401": + description: Invalid or missing API credential + security: + - bearer_auth: [] + summary: Get private agent + tags: + - Private Agents + x-accepts: + - application/vnd.api+json + patch: + description: Update routing metadata or pause tool execution without disconnecting + the agent. The agent UUID and provider IDs remain the execution identities. + Requires Private Agent update permission. + operationId: updatePrivateAgent + parameters: + - explode: false + in: path + name: id + required: true + schema: + format: uuid + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/private_agent_update' + required: true + responses: + "204": + description: Agent metadata updated + "422": + description: Invalid metadata + "409": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: Agent update is busy + "404": + description: Not found or unauthorized + "401": + description: Invalid or missing API credential + security: + - bearer_auth: [] + summary: Update private agent metadata + tags: + - Private Agents + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/private_agents/{id}/revoke: + post: + description: Invalidate access and refresh credentials and remove provider routing + registrations. Requires Private Agent delete permission plus the Private Agents + and AI SRE features. Retains the agent and invocation history. Repeated revocation + is safe. An executing customer-side operation is not guaranteed to stop immediately. + Use a new enrollment token to re-enroll a revoked installation. + operationId: revokePrivateAgent + parameters: + - explode: false + in: path + name: id + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/private_agent_response' + description: Agent revoked + "404": + description: Not found or unauthorized + "401": + description: Invalid or missing API credential + security: + - bearer_auth: [] + summary: Revoke private agent + tags: + - Private Agents + x-accepts: + - application/vnd.api+json + /v1/problems/{problem_id}/action_items: + get: + description: "List action items belonging to a problem, with filter, sort and\ + \ pagination support" + operationId: listProblemActionItems + parameters: + - explode: false + in: path + name: problem_id + required: true + schema: + type: string + style: simple + - explode: true + in: query + name: "page[number]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "page[size]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: sort + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[search]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][not_in]" + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_action_item_list' + description: success + security: + - bearer_auth: [] + summary: List a problem's action items + tags: + - ProblemActionItems + x-accepts: + - application/vnd.api+json + post: + description: Creates a new action item on a problem from provided data + operationId: createProblemActionItem + parameters: + - explode: false + in: path + name: problem_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_problem_action_item' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_action_item_response' + description: problem action item created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Creates a problem action item + tags: + - ProblemActionItems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/problem_action_items/{id}: + delete: + description: Deletes a problem action item + operationId: deleteProblemActionItem + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_action_item_response' + description: problem action item deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem action item not found + security: + - bearer_auth: [] + summary: Deletes a problem action item + tags: + - ProblemActionItems + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific problem action item by id + operationId: getProblemActionItem + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_action_item_response' + description: assignee without problems.read can view their assigned item + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem action item not found + security: + - bearer_auth: [] + summary: Retrieves a problem action item + tags: + - ProblemActionItems + x-accepts: + - application/vnd.api+json + put: + description: Updates a problem action item + operationId: updateProblemActionItem + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_problem_action_item' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_action_item_response' + description: problem action item updated + security: + - bearer_auth: [] + summary: Update a problem action item + tags: + - ProblemActionItems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/problem_action_items: + get: + description: "List all problem action items the caller can access across the\ + \ team, with filter, sort and pagination support" + operationId: listAllProblemActionItems + parameters: + - explode: true + in: query + name: "page[number]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "page[size]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: sort + required: false + schema: + type: string + style: form + - explode: true + in: query + name: problem_id + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[search]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[assigned_to_user_id][not_in]" + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_action_item_list' + description: excludes items from other teams + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem-management feature flag disabled + security: + - bearer_auth: [] + summary: List all problem action items + tags: + - ProblemActionItems + x-accepts: + - application/vnd.api+json + /v1/problems: + get: + description: "Sorting by incidents_count would let callers without incident\ + \ read infer relative hidden incident counts, so it is rejected." + operationId: listProblems + parameters: + - explode: true + in: query + name: "page[number]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "page[size]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: sort + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[search]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[owner_user_id]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "filter[owner_group_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_by_user_id]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "filter[created_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[created_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[due_date][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[status][not_in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][not_eq]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][in]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[priority][not_in]" + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_list' + description: sorted by incidents_count with incident read permission + "400": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: incidents_count sort rejected without incident read permission + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem-management feature flag disabled + security: + - bearer_auth: [] + summary: List problems + tags: + - Problems + x-accepts: + - application/vnd.api+json + post: + description: Creates a new problem from provided data + operationId: createProblem + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_problem' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_response' + description: problem created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Creates a problem + tags: + - Problems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/problems/{id}: + delete: + description: Soft-deletes a problem + operationId: deleteProblem + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_response' + description: problem deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem not found + security: + - bearer_auth: [] + summary: Deletes a problem + tags: + - Problems + x-accepts: + - application/vnd.api+json + get: + description: API callers lacking access to the problem's team receive an error. + The API deliberately returns 404 rather than 403 so existence is not leaked. + operationId: getProblem + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_response' + description: linked incidents hidden without incident read permission + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem belongs to another team + security: + - bearer_auth: [] + summary: Retrieves a problem + tags: + - Problems + x-accepts: + - application/vnd.api+json + put: + description: "When a status transition fails validation, accompanying field\ + \ updates roll back with it." + operationId: updateProblem + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_problem' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_response' + description: status transition applies other fields atomically + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: failed transition does not persist other fields + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: problem not found + security: + - bearer_auth: [] + summary: Update a problem + tags: + - Problems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/problems/{id}/incidents: + post: + description: Links one or more incidents to a problem. Accepts `incident_id` + (single) or `incident_ids` (array). + operationId: linkProblemIncidents + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/link_incidents' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_response' + description: incident linked + "400": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: incident_id missing + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: incident not found or inaccessible + security: + - bearer_auth: [] + summary: Links incidents to a problem + tags: + - Problems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/problems/{id}/incidents/{incident_id}: + delete: + description: Unlinks an incident from a problem + operationId: unlinkProblemIncident + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/problem_response' + description: incident unlinked + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: incident not linked + security: + - bearer_auth: [] + summary: Unlinks an incident from a problem + tags: + - Problems + x-accepts: + - application/vnd.api+json /v1/pulses: get: description: List pulses @@ -26106,7 +27276,8 @@ paths: \ time range. A range can span multiple consecutive shifts (e.g. across a\ \ handoff), so one or more coverage requests may be created; the response\ \ is always a list. A coverage request broadcasts to schedule members so someone\ - \ can volunteer to cover the shift." + \ can volunteer to cover the shift, or targets recipient_user_ids when targeted-shift-coverage\ + \ is enabled." operationId: createShiftCoverageRequest parameters: - explode: false @@ -26215,8 +27386,9 @@ paths: - shift_shadow type: string style: form - - description: "Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z\ - \ or 2025-01-01T00:00:00+00:00)" + - description: "Start range for shifts in ISO-8601 format. When omitted with\ + \ `to`, defaults to `to` for a point-in-time lookup; when both bounds are\ + \ omitted, defaults to the current time through one month ahead." explode: true in: query name: from @@ -26224,8 +27396,9 @@ paths: schema: type: string style: form - - description: "End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z\ - \ or 2025-01-01T00:00:00+00:00)" + - description: "End range for shifts in ISO-8601 format. When omitted with `from`,\ + \ defaults to `from`; when both bounds are omitted, defaults to the current\ + \ time through one month ahead." explode: true in: query name: to @@ -27142,6 +28315,230 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/status-pages/{status_page_id}/teams: + get: + description: "Lists the teams assigned to a status page, oldest first" + operationId: listStatusPageTeams + parameters: + - explode: false + in: path + name: status_page_id + required: true + schema: + type: string + style: simple + - explode: true + in: query + name: include + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "page[number]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "page[size]" + required: false + schema: + type: integer + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_team_list' + description: success + security: + - bearer_auth: [] + summary: Lists the teams with access to a status page + tags: + - StatusPageTeams + x-accepts: + - application/vnd.api+json + post: + description: Assigns a team to a status page. Members of the team get the chosen + permission level on that page in addition to their role. Requires an owner + or admin role. + operationId: createStatusPageTeam + parameters: + - explode: false + in: path + name: status_page_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_status_page_team' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_team_response' + description: status page team assignment created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: team is already assigned + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: caller is not an owner or admin + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Grants a team access to a status page + tags: + - StatusPageTeams + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/status-pages/{status_page_id}/teams/{id}: + delete: + description: Removes a team from a status page. Its members lose the page access + the assignment granted on their next request. Requires an owner or admin role. + operationId: deleteStatusPageTeam + parameters: + - explode: false + in: path + name: status_page_id + required: true + schema: + type: string + style: simple + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_team_response' + description: status page team assignment deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Removes a team's access to a status page + tags: + - StatusPageTeams + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific status page team assignment by id + operationId: getStatusPageTeam + parameters: + - explode: false + in: path + name: status_page_id + required: true + schema: + type: string + style: simple + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_team_response' + description: status page team assignment found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a status page team assignment + tags: + - StatusPageTeams + x-accepts: + - application/vnd.api+json + put: + description: "Changes the permission level of a team on a status page. Requires\ + \ an owner or admin role. To move the grant to another team, delete it and\ + \ create a new one." + operationId: updateStatusPageTeam + parameters: + - explode: false + in: path + name: status_page_id + required: true + schema: + type: string + style: simple + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_status_page_team' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_team_response' + description: status page team assignment updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Updates a status page team assignment + tags: + - StatusPageTeams + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json /v1/status-pages/{status_page_id}/templates: get: description: List status page templates @@ -28291,6 +29688,12 @@ paths: schema: $ref: '#/components/schemas/team_response' description: team created + "403": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: feature not enabled for the organization "422": content: application/vnd.api+json: @@ -28410,6 +29813,12 @@ paths: schema: $ref: '#/components/schemas/team_response' description: team updated + "403": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: feature not enabled for the organization "404": content: application/vnd.api+json: @@ -28630,6 +30039,12 @@ paths: schema: $ref: '#/components/schemas/bulk_upsert_teams_response' description: records upserted successfully + "403": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: feature not enabled for the organization "422": content: application/vnd.api+json: @@ -29403,6 +30818,98 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/phone_numbers/{id}/verify: + post: + description: Sends a verification code to the phone number. SMS sends are limited + per recipient to 3 per hour and 5 per day. An application rate-limit 429 response + includes Retry-After with the remaining wait in seconds. + operationId: verifyUserPhoneNumber + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/verifyUserPhoneNumber_200_response' + description: verification code sent + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/verifyUserPhoneNumber_429_response' + description: application verification rate limit + headers: + Retry-After: + description: Seconds until the recipient can request another SMS verification + code + explode: false + schema: + minimum: 1 + type: integer + style: simple + "503": + content: + application/json: + schema: + $ref: '#/components/schemas/verifyUserPhoneNumber_429_response' + description: verification rate limiter unavailable + security: + - bearer_auth: [] + summary: Send verification code + tags: + - UserPhoneNumbers + x-accepts: + - application/json + /v1/phone_numbers/{id}/resend_verification: + post: + description: Resends a verification code to the phone number. SMS sends are + limited per recipient to 3 per hour and 5 per day. An application rate-limit + 429 response includes Retry-After with the remaining wait in seconds. + operationId: resendVerificationUserPhoneNumber + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/verifyUserPhoneNumber_200_response' + description: verification code resent + "429": + content: + application/json: + schema: + $ref: '#/components/schemas/verifyUserPhoneNumber_429_response' + description: application resend rate limit + headers: + Retry-After: + description: Seconds until the recipient can request another SMS verification + code + explode: false + schema: + minimum: 1 + type: integer + style: simple + security: + - bearer_auth: [] + summary: Resend verification code + tags: + - UserPhoneNumbers + x-accepts: + - application/json /v1/users: get: description: List users @@ -30199,6 +31706,7 @@ components: - messages type: object attach_alert: + additionalProperties: false properties: data: $ref: '#/components/schemas/attach_alert_data' @@ -30206,6 +31714,7 @@ components: - data type: object new_alert: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_data' @@ -30213,6 +31722,7 @@ components: - data type: object update_alert: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alert_data' @@ -30333,7 +31843,7 @@ components: type: boolean labels: items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + $ref: '#/components/schemas/alert_labels_inner' type: array data: description: Additional data @@ -30394,6 +31904,14 @@ components: $ref: '#/components/schemas/alert_alerting_targets_inner' nullable: true type: array + slack_notifications: + description: Slack channel and root thread ts of each announcement Rootly + posted for the alert. Only present when the alert-slack-message-references + feature flag is enabled for the team. + items: + $ref: '#/components/schemas/alert_slack_notifications_inner' + nullable: true + type: array url: description: The Rootly dashboard URL for the alert format: uri @@ -30408,6 +31926,21 @@ components: format: date-time nullable: true type: string + acknowledged_at: + description: When the alert was first acknowledged. Null if it has never + been acknowledged. An alert that is retriggered and acknowledged again + keeps its original acknowledgement timestamp. + format: date-time + nullable: true + type: string + resolved_at: + description: "When the alert was first resolved. Null if it has never been\ + \ resolved. Like `acknowledged_at`, an alert that is retriggered and resolved\ + \ again keeps its original resolution timestamp; use `ended_at` for the\ + \ current resolution state." + format: date-time + nullable: true + type: string created_at: description: Date of creation type: string @@ -30456,11 +31989,19 @@ components: - meta type: object resolve_alert: + additionalProperties: false properties: data: $ref: '#/components/schemas/resolve_alert_data' type: object + acknowledge_alert: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/acknowledge_alert_data' + type: object snooze_alert: + additionalProperties: false properties: data: $ref: '#/components/schemas/snooze_alert_data' @@ -30468,6 +32009,7 @@ components: - data type: object escalate_alert: + additionalProperties: false properties: data: $ref: '#/components/schemas/escalate_alert_data' @@ -30507,6 +32049,7 @@ components: - updated_at type: object new_alert_event: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_event_data' @@ -30514,6 +32057,7 @@ components: - data type: object update_alert_event: + additionalProperties: false description: "Update an alert event. Note: Only alert events with kind='note'\ \ can be updated. You cannot change the kind field." properties: @@ -30549,6 +32093,8 @@ components: - ignored_alert_request - call_lifecycle - level_skipped + - team_attached_from_payload + - user_paged - emailed - slacked - ms_teams_messaged @@ -30568,6 +32114,7 @@ components: - attached - snoozed - retrigger_suppressed + - retrigger_cancelled - triggered - open - updated @@ -30579,6 +32126,23 @@ components: - muted - deferred type: string + page_reason: + description: Present on paged events when a user explicitly reassigns the + alert to another notification target. + enum: + - manual_reassignment + nullable: true + type: string + slack_message_ts: + description: "Slack thread ts of the message Rootly posted for this event,\ + \ when present." + nullable: true + type: string + slack_message_permalink: + description: "Permalink to the Slack message Rootly posted for this event,\ + \ when present." + nullable: true + type: string source: type: string user_id: @@ -30713,6 +32277,7 @@ components: - meta type: object new_alerts_source: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alerts_source_data' @@ -30720,6 +32285,7 @@ components: - data type: object update_alerts_source: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alerts_source_data' @@ -30790,24 +32356,24 @@ components: type: string type: array alert_template_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_alert_template_attributes' + $ref: '#/components/schemas/alerts_source_alert_template_attributes' alert_source_urgency_rules_attributes: description: List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload items: - $ref: '#/components/schemas/new_alerts_source_data_attributes_alert_source_urgency_rules_attributes_inner' + $ref: '#/components/schemas/alerts_source_alert_source_urgency_rules_attributes_inner' type: array sourceable_attributes: $ref: '#/components/schemas/alerts_source_sourceable_attributes' resolution_rule_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_resolution_rule_attributes' + $ref: '#/components/schemas/alerts_source_resolution_rule_attributes' alert_source_fields_attributes: description: "List of alert fields to be added to the alert source. Note:\ \ This attribute requires the alert field feature to be enabled on your\ \ account. Contact Rootly customer support if you need assistance with\ \ this feature." items: - $ref: '#/components/schemas/new_alerts_source_data_attributes_alert_source_fields_attributes_inner' + $ref: '#/components/schemas/alerts_source_alert_source_fields_attributes_inner' type: array status: description: The status of the alert source @@ -30875,11 +32441,13 @@ components: - meta type: object new_alert_route: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_route_data' type: object update_alert_route: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alert_route_data' @@ -30887,6 +32455,7 @@ components: - data type: object patch_alert_route: + additionalProperties: false properties: data: $ref: '#/components/schemas/patch_alert_route_data' @@ -30915,7 +32484,7 @@ components: type: array rules: items: - $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner' + $ref: '#/components/schemas/alert_route_rules_inner' type: array required: - alerts_source_ids @@ -30948,6 +32517,7 @@ components: - meta type: object new_alert_routing_rule: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_routing_rule_data' @@ -30955,6 +32525,7 @@ components: - data type: object update_alert_routing_rule: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alert_routing_rule_data' @@ -31146,44 +32717,41 @@ components: required: - position type: object - new_alert_retrigger_rule: - properties: - data: - $ref: '#/components/schemas/new_alert_retrigger_rule_data' - required: - - data - type: object - update_alert_retrigger_rule: + update_alert_configuration: + additionalProperties: false properties: data: - $ref: '#/components/schemas/update_alert_retrigger_rule_data' + $ref: '#/components/schemas/update_alert_configuration_data' required: - data type: object - alert_retrigger_rule: + alert_configuration: properties: - name: - description: A human-readable name for the rule - type: string - match_mode: - description: Whether all or any of the conditions must match - enum: - - match-all-rules - - match-any-rule - type: string - timeout_minutes: - description: Minutes after acknowledgment to re-trigger. Null means never - re-trigger. - nullable: true - type: integer - position: - description: The position of the rule for ordering evaluation - type: integer - conditions: - description: The conditions for the rule + alert_acknowledgment: + $ref: '#/components/schemas/update_alert_configuration_data_attributes_alert_acknowledgment' + manual_paging_form_settings: + description: "Stored entity types for the manual paging form, as configured;\ + \ at least one is required. The form itself may hide a type the team cannot\ + \ use yet, such as functionality." items: - $ref: '#/components/schemas/alert_retrigger_rule_conditions_inner' + enum: + - user + - team + - service + - functionality + - escalation_policy + type: string type: array + manual_paging_urgency_ids: + description: Alert urgency ids allowed when manually paging. Empty means + all; deleted urgencies are left out. Present and accepted only while the + manual-page-urgency-allowlist feature is on for the team. + items: + format: uuid + type: string + type: array + default_user_notification_settings: + $ref: '#/components/schemas/update_alert_configuration_data_attributes_default_user_notification_settings' created_at: format: date-time type: string @@ -31191,41 +32759,15 @@ components: format: date-time type: string type: object - alert_retrigger_rule_response: - properties: - data: - $ref: '#/components/schemas/alert_retrigger_rule_response_data' - included: - items: - $ref: '#/components/schemas/jsonapi_included_resource' - type: array - required: - - data - type: object - alert_retrigger_rule_list: + alert_configuration_response: properties: data: - items: - $ref: '#/components/schemas/alert_retrigger_rule_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - meta: - allOf: - - $ref: '#/components/schemas/meta' - type: object - included: - items: - $ref: '#/components/schemas/jsonapi_included_resource' - type: array + $ref: '#/components/schemas/alert_configuration_response_data' required: - data - - links - - meta type: object new_alert_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_field_data' @@ -31233,6 +32775,7 @@ components: - data type: object update_alert_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alert_field_data' @@ -31251,6 +32794,12 @@ components: kind: description: The kind of alert field type: string + owner_group_ids: + description: IDs of the teams that own the alert field. Empty for org-wide + fields. + items: + type: string + type: array created_at: description: Date of creation type: string @@ -31298,6 +32847,7 @@ components: - meta type: object new_alert_urgency: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_urgency_data' @@ -31305,6 +32855,7 @@ components: - data type: object update_alert_urgency: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alert_urgency_data' @@ -31327,7 +32878,7 @@ components: type: integer retrigger_timeout_minutes: description: "Re-trigger acknowledged alerts of this urgency after N minutes;\ - \ null inherits the workspace default, negative = never." + \ null inherits the workspace default, -1 = never." nullable: true type: integer urgency: @@ -31393,6 +32944,7 @@ components: - meta type: object new_alert_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_alert_group_data' @@ -31400,6 +32952,7 @@ components: - data type: object update_alert_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_alert_group_data' @@ -31437,16 +32990,25 @@ components: \ not. This field is deprecated. Please use the `conditions` field with\ \ advanced alert grouping instead." type: boolean + owner_group_ids: + description: "Teams that own this alert group. Admins of an owning team\ + \ can manage it, and an owned alert group can only target destinations\ + \ that belong to its owning teams. Only available when owning teams for\ + \ alert groups are enabled for the organization." + items: + format: uuid + type: string + type: array targets: items: - $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' + $ref: '#/components/schemas/alert_group_targets_inner' type: array attributes: deprecated: true description: "This field is deprecated. Please use the `conditions` field\ \ instead, `attributes` will be removed in the future." items: - $ref: '#/components/schemas/new_alert_group_data_attributes_attributes_inner' + $ref: '#/components/schemas/alert_group_attributes_inner' type: array conditions: description: The conditions for the alert group @@ -31497,6 +33059,7 @@ components: - data type: object new_api_key: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_api_key_data' @@ -31504,6 +33067,7 @@ components: - data type: object update_api_key: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_api_key_data' @@ -31511,6 +33075,7 @@ components: - data type: object rotate_api_key: + additionalProperties: false properties: data: $ref: '#/components/schemas/rotate_api_key_data' @@ -31533,6 +33098,12 @@ components: - team - organization type: string + group_id: + description: The group (team) ID for team API keys. Keys created via the + API have exactly one group; for keys with multiple groups this is the + first group. + nullable: true + type: string role_id: description: The role ID nullable: true @@ -31613,7 +33184,13 @@ components: audit: properties: event: - description: Describes the action that was taken. + description: The raw stored action that was taken. Rows written before IR-6875 + may carry a trailing `!` for status transitions (e.g. `mark_as_resolved!`); + prefer `event_display` for presentation. + type: string + event_display: + description: "Human-friendly display name for the action, normalized so\ + \ a status change reads the same regardless of the surface it came from" type: string item_type: description: Describes the object in which the action was taken on @@ -31622,6 +33199,7 @@ components: - AlertRoutingRule - Alerts::Source - ApiKey + - BrowserIpPolicy - Catalog - CatalogEntity - CatalogEntityProperty @@ -31673,6 +33251,7 @@ components: - LiveCallRouter - LoginActivity - Membership + - OauthApplication - OnCallRole - Playbook - PlaybookTask @@ -31766,6 +33345,7 @@ components: - meta type: object new_authorization: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_authorization_data' @@ -31773,6 +33353,7 @@ components: - data type: object update_authorization: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_authorization_data' @@ -31855,6 +33436,7 @@ components: - meta type: object new_catalog: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_catalog_data' @@ -31862,6 +33444,7 @@ components: - data type: object update_catalog: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_catalog_data' @@ -31956,6 +33539,7 @@ components: - meta type: object new_catalog_field: + additionalProperties: false description: A catalog can have a maximum of 50 fields. properties: data: @@ -31964,6 +33548,7 @@ components: - data type: object update_catalog_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_catalog_field_data' @@ -32074,6 +33659,7 @@ components: - meta type: object new_catalog_property: + additionalProperties: false description: A catalog can have a maximum of 50 properties. properties: data: @@ -32082,6 +33668,7 @@ components: - data type: object update_catalog_property: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_catalog_property_data' @@ -32192,6 +33779,7 @@ components: - meta type: object new_catalog_entity: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_catalog_entity_data' @@ -32199,6 +33787,7 @@ components: - data type: object update_catalog_entity: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_catalog_entity_data' @@ -32333,6 +33922,7 @@ components: $ref: '#/components/schemas/bulk_destroy_catalog_entities_response_data' type: object new_catalog_entity_property: + additionalProperties: false deprecated: true description: "**Deprecated:** This endpoint is deprecated, please use the `fields`\ \ attribute on catalog entities or native catalog endpoints (teams, services,\ @@ -32345,6 +33935,7 @@ components: - data type: object update_catalog_entity_property: + additionalProperties: false deprecated: true description: "**Deprecated:** This endpoint is deprecated, please use the `fields`\ \ attribute on catalog entities or native catalog endpoints (teams, services,\ @@ -32429,6 +34020,7 @@ components: - meta type: object new_catalog_checklist_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_catalog_checklist_template_data' @@ -32436,6 +34028,7 @@ components: - data type: object update_catalog_checklist_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_catalog_checklist_template_data' @@ -32631,6 +34224,7 @@ components: - data type: object new_cause: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_cause_data' @@ -32638,6 +34232,7 @@ components: - data type: object update_cause: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_cause_data' @@ -32730,6 +34325,7 @@ components: - data type: object new_communications_stage: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_communications_stage_data' @@ -32737,6 +34333,7 @@ components: - data type: object update_communications_stage: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_communications_stage_data' @@ -32805,6 +34402,7 @@ components: - data type: object new_communications_type: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_communications_type_data' @@ -32812,6 +34410,7 @@ components: - data type: object update_communications_type: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_communications_type_data' @@ -32884,6 +34483,7 @@ components: - data type: object new_communications_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_communications_template_data' @@ -32891,6 +34491,7 @@ components: - data type: object update_communications_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_communications_template_data' @@ -32970,6 +34571,7 @@ components: - data type: object new_communications_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_communications_group_data' @@ -32977,6 +34579,7 @@ components: - data type: object update_communications_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_communications_group_data' @@ -33023,7 +34626,7 @@ components: communication_group_conditions: description: Group conditions attributes items: - $ref: '#/components/schemas/new_communications_group_data_attributes_communication_group_conditions_inner' + $ref: '#/components/schemas/communications_group_communication_group_conditions_inner' nullable: true type: array member_ids: @@ -33087,6 +34690,7 @@ components: - data type: object new_custom_field_option: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_custom_field_option_data' @@ -33094,6 +34698,7 @@ components: - data type: object update_custom_field_option: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_custom_field_option_data' @@ -33164,6 +34769,7 @@ components: - meta type: object new_custom_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_custom_field_data' @@ -33171,6 +34777,7 @@ components: - data type: object update_custom_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_custom_field_data' @@ -33286,6 +34893,7 @@ components: - meta type: object new_custom_form: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_custom_form_data' @@ -33293,6 +34901,7 @@ components: - data type: object update_custom_form: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_custom_form_data' @@ -33365,6 +34974,7 @@ components: - meta type: object new_dashboard_panel: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_dashboard_panel_data' @@ -33372,6 +34982,7 @@ components: - data type: object update_dashboard_panel: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_dashboard_panel_data' @@ -33433,6 +35044,7 @@ components: - meta type: object new_dashboard: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_dashboard_data' @@ -33440,6 +35052,7 @@ components: - data type: object update_dashboard: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_dashboard_data' @@ -33561,6 +35174,74 @@ components: required: - edge_connector type: object + private_agent: + additionalProperties: false + properties: + id: + format: uuid + type: string + type: + enum: + - private_agents + type: string + attributes: + $ref: '#/components/schemas/private_agent_attributes' + required: + - attributes + - id + - type + type: object + private_agent_response: + properties: + data: + $ref: '#/components/schemas/private_agent' + required: + - data + type: object + private_agent_update: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/private_agent_update_data' + required: + - data + type: object + private_agent_list: + properties: + data: + items: + $ref: '#/components/schemas/private_agent_summary' + type: array + meta: + type: object + required: + - data + - meta + type: object + private_agent_enrollment_token_response: + properties: + data: + $ref: '#/components/schemas/private_agent_enrollment_token_response_data' + required: + - data + type: object + private_agent_summary: + additionalProperties: false + properties: + id: + format: uuid + type: string + type: + enum: + - private_agents + type: string + attributes: + $ref: '#/components/schemas/private_agent_summary_attributes' + required: + - attributes + - id + - type + type: object edge_connector_action: properties: data: @@ -33583,6 +35264,7 @@ components: - action type: object new_environment: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_environment_data' @@ -33590,6 +35272,7 @@ components: - data type: object update_environment: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_environment_data' @@ -33646,13 +35329,13 @@ components: slack_channels: description: Slack Channels associated with this environment items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + $ref: '#/components/schemas/environment_slack_channels_inner' nullable: true type: array slack_aliases: description: Slack Aliases associated with this environment items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + $ref: '#/components/schemas/environment_slack_aliases_inner' nullable: true type: array properties: @@ -33754,6 +35437,7 @@ components: type: array type: object new_escalation_policy: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_escalation_policy_data' @@ -33761,6 +35445,7 @@ components: - data type: object update_escalation_policy: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_escalation_policy_data' @@ -33799,7 +35484,7 @@ components: type: string type: array business_hours: - $ref: '#/components/schemas/new_escalation_policy_data_attributes_business_hours' + $ref: '#/components/schemas/escalation_policy_business_hours' created_at: description: Date of creation type: string @@ -33846,6 +35531,7 @@ components: - meta type: object new_escalation_policy_path: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_escalation_policy_path_data' @@ -33853,6 +35539,7 @@ components: - data type: object update_escalation_policy_path: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_escalation_policy_path_data' @@ -33916,7 +35603,7 @@ components: type: integer retrigger_timeout_minutes: description: "Re-trigger acknowledged alerts on this path after N minutes;\ - \ null inherits the urgency/workspace default, negative = never." + \ null inherits the urgency/workspace default, -1 = never." nullable: true type: integer created_at: @@ -33930,6 +35617,26 @@ components: items: $ref: '#/components/schemas/update_escalation_policy_path_data_attributes_rules_inner' type: array + notification_type_rules: + description: "Rules deciding whether an alert pages audible or quiet, evaluated\ + \ in order — the first matching rule's notification_type wins, otherwise\ + \ notification_type_fallback applies. When present, the path's notification_type\ + \ is aligned to notification_type_fallback. Only available when notification\ + \ type conditions are enabled for the team." + items: + $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_notification_type_rules_inner' + maxItems: 10 + type: array + notification_type_fallback: + default: audible + description: Paged when no notification type rule matches. Considered only + when notification_type_rules are present — the path's notification_type + is aligned to it; without rules it is aligned to notification_type instead. + Only available when notification type conditions are enabled for the team. + enum: + - audible + - quiet + type: string time_restriction_time_zone: description: Time zone used for time restrictions. enum: @@ -34005,6 +35712,8 @@ components: - Atlantic/Azores - Cape Verde Is. - Atlantic/Cape_Verde + - Casablanca + - Africa/Casablanca - Edinburgh - Europe/London - Lisbon @@ -34028,8 +35737,6 @@ components: - Europe/Brussels - Budapest - Europe/Budapest - - Casablanca - - Africa/Casablanca - Copenhagen - Europe/Copenhagen - Dublin @@ -34074,7 +35781,7 @@ components: - Kaliningrad - Europe/Kaliningrad - Kyiv - - Europe/Kiev + - Europe/Kyiv - Pretoria - Africa/Johannesburg - Riga @@ -34141,7 +35848,7 @@ components: - Urumqi - Asia/Urumqi - Rangoon - - Asia/Rangoon + - Asia/Yangon - Bangkok - Asia/Bangkok - Hanoi @@ -34238,13 +35945,15 @@ components: - Pacific/Marquesas - Pacific/Kiritimati - Pacific/Norfolk + - Asia/Rangoon + - Europe/Kiev nullable: true type: string time_restrictions: description: "If time restrictions are set, alerts will follow this path\ \ when they arrive within the specified time ranges and meet the rules." items: - $ref: '#/components/schemas/update_escalation_policy_path_data_attributes_time_restrictions_inner' + $ref: '#/components/schemas/escalation_policy_path_time_restrictions_inner' type: array required: - default @@ -34289,6 +35998,7 @@ components: - meta type: object new_escalation_policy_level: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_escalation_policy_level_data' @@ -34296,6 +36006,7 @@ components: - data type: object update_escalation_policy_level: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_escalation_policy_level_data' @@ -34369,7 +36080,7 @@ components: notification_target_params: description: Escalation level's notification targets items: - $ref: '#/components/schemas/update_escalation_policy_level_data_attributes_notification_target_params_inner' + $ref: '#/components/schemas/escalation_policy_level_notification_target_params_inner' type: array required: - delay @@ -34412,6 +36123,7 @@ components: - meta type: object new_form_field_option: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_field_option_data' @@ -34419,6 +36131,7 @@ components: - data type: object update_form_field_option: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_field_option_data' @@ -34492,6 +36205,7 @@ components: - meta type: object new_form_field_placement_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_field_placement_condition_data' @@ -34499,6 +36213,7 @@ components: - data type: object update_form_field_placement_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_field_placement_condition_data' @@ -34579,6 +36294,7 @@ components: - meta type: object new_form_field_placement: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_field_placement_data' @@ -34586,6 +36302,7 @@ components: - data type: object update_form_field_placement: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_field_placement_data' @@ -34670,6 +36387,7 @@ components: - meta type: object new_form_field_position: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_field_position_data' @@ -34677,6 +36395,7 @@ components: - data type: object update_form_field_position: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_field_position_data' @@ -34756,6 +36475,7 @@ components: - meta type: object new_form_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_field_data' @@ -34763,6 +36483,7 @@ components: - data type: object update_form_field: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_field_data' @@ -34779,6 +36500,7 @@ components: - summary - mitigation_message - resolution_message + - cancellation_message - severity - environments - types @@ -34948,6 +36670,7 @@ components: - meta type: object new_form_set_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_set_condition_data' @@ -34955,6 +36678,7 @@ components: - data type: object update_form_set_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_set_condition_data' @@ -35021,6 +36745,7 @@ components: - meta type: object new_form_set: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_form_set_data' @@ -35028,6 +36753,7 @@ components: - data type: object update_form_set: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_form_set_data' @@ -35118,6 +36844,7 @@ components: - meta type: object new_functionality: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_functionality_data' @@ -35125,6 +36852,7 @@ components: - data type: object update_functionality: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_functionality_data' @@ -35234,13 +36962,13 @@ components: slack_channels: description: Slack Channels associated with this functionality items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + $ref: '#/components/schemas/environment_slack_channels_inner' nullable: true type: array slack_aliases: description: Slack Aliases associated with this functionality items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + $ref: '#/components/schemas/environment_slack_aliases_inner' nullable: true type: array properties: @@ -35519,6 +37247,19 @@ components: emoji: description: The bookmark emoji type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - channel type: object @@ -35563,6 +37304,19 @@ components: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - channels type: object @@ -36616,6 +38370,19 @@ components: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - description - summary @@ -37883,6 +39650,19 @@ components: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - topic type: object @@ -38122,6 +39902,20 @@ components: \ and the header value." example: 2 type: integer + expected_response_headers: + additionalProperties: + minLength: 1 + type: string + default: {} + description: Map of valid HTTP header names to regexp patterns. Header names + must use HTTP token characters. Task fails if any header value does not + match its pattern (case-insensitive). Leave empty to skip validation. + type: object + follow_redirects: + default: true + description: Whether to follow HTTP 3xx redirects. Defaults to true. Set + to false to treat redirect responses as-is. + type: boolean required: - succeed_on_status - url @@ -38710,13 +40504,51 @@ components: status_page_id: type: string status_page_ids: - description: "Publishes the update to every listed status page (requires\ - \ the status-page-v3-limited-bulk-publish feature). When set, it takes\ - \ precedence over status_page_id and the first entry becomes status_page_id." + description: "Publishes the update to every listed status page. This field\ + \ is in limited Early Access; contact Rootly Support to request access.\ + \ When set, it takes precedence over status_page_id and the first entry\ + \ becomes status_page_id." items: type: string maxItems: 50 type: array + selected_component_keys: + description: Composite "SourceType:" keys of the status page components + affected by the publish. This field is in Early Access and is not generally + available; contact Rootly Support to request access. + items: + type: string + type: array + selected_component_statuses: + additionalProperties: + enum: + - operational + - degraded_performance + - partial_outage + - major_outage + type: string + description: Impact status to publish for each selected component key. Keys + must match selected_component_keys entries. + type: object + sync_incident_components: + description: "When true, every run also publishes the incident's tagged\ + \ services and functionalities that are components on the target page.\ + \ Defaults to true when selected_component_keys is empty. This field is\ + \ in Early Access and is not generally available; contact Rootly Support\ + \ to request access." + nullable: true + type: boolean + synced_component_status: + description: Impact status published for components synced from the incident. + Defaults to degraded_performance. A component also listed in selected_component_keys + keeps its selected_component_statuses entry. + enum: + - operational + - degraded_performance + - partial_outage + - major_outage + nullable: true + type: string integration_payload: description: Additional API Payload you can pass to statuspage.io for example. Can contain liquid markup and need to be valid JSON @@ -38763,10 +40595,36 @@ components: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' title: type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - channel - title type: object + remove_from_slack_channel_task_params: + properties: + task_type: + enum: + - remove_from_slack_channel + type: string + target_kind: + enum: + - users_without_private_incident_access + type: string + dry_run: + type: boolean + type: object change_slack_channel_privacy_task_params: properties: task_type: @@ -38780,6 +40638,19 @@ components: - private - public type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - channel - privacy @@ -38915,10 +40786,58 @@ components: - "true" - "false" type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - title - workspace type: object + create_slack_canvas_task_params: + description: "Create a canvas in a Slack channel, preserving an existing canvas.\ + \ The connected Slack app must have Canvas permissions." + properties: + task_type: + enum: + - create_slack_canvas + type: string + channel: + $ref: '#/components/schemas/create_slack_canvas_task_params_channel' + title: + description: The canvas title. Supports Liquid variables. + type: string + content: + description: The initial canvas content in Markdown. Supports Liquid variables. + An existing channel canvas is preserved. + type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer + required: + - channel + - content + - title + type: object send_slack_message_task_params: anyOf: - $ref: '#/components/schemas/send_slack_message_task_params_anyOf' @@ -39010,6 +40929,24 @@ components: description: "When set to true, if the parent for this threaded message\ \ cannot be found the message will be skipped." type: boolean + allow_cross_workflow_threading: + description: "When set to true, allows workflows from different sources\ + \ (e.g. different incidents or alerts) to thread together on the same\ + \ parent message." + type: boolean + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - text type: object @@ -39623,10 +41560,66 @@ components: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' topic: type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - channel - topic type: object + update_slack_canvas_task_params: + description: Update the selected channel canvas using Markdown. The connected + Slack app must have Canvas permissions. + properties: + task_type: + enum: + - update_slack_canvas + type: string + channel: + $ref: '#/components/schemas/create_slack_canvas_task_params_channel' + content: + description: The canvas content in Markdown. Supports Liquid variables. + type: string + operation: + default: insert_at_end + description: Append content or replace the selected table or entire canvas. + enum: + - insert_at_end + - replace + type: string + section_name: + description: "With replace, target the single table containing this label.\ + \ Include the label in the replacement table. Blank replaces the entire\ + \ canvas. Supports Liquid." + nullable: true + type: string + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer + required: + - channel + - content + type: object update_status_task_params: properties: task_type: @@ -39826,6 +41819,7 @@ components: - post_mortem - pulse - alert + - problem type: string attribute_to_query_by: default: id @@ -39839,7 +41833,8 @@ components: \ :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id,\ \ :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\"\ , \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only\ - \ match [:id]\", \"(alert) kind can only match [:id]\"]" + \ match [:id]\", \"(alert) kind can only match [:id]\", \"(problem) kind\ + \ can only match [:id]\"]" enum: - id - slug @@ -39944,6 +41939,24 @@ components: description: "When set to true, if the parent for this threaded message\ \ cannot be found the message will be skipped." type: boolean + allow_cross_workflow_threading: + description: "When set to true, allows workflows from different sources\ + \ (e.g. different incidents or alerts) to thread together on the same\ + \ parent message." + type: boolean + retry_count: + default: 0 + description: Number of times to retry on rate-limit (HTTP 429) responses + (0-4). 0 disables retry. + example: 3 + type: integer + retry_wait_time: + default: 1 + description: "Seconds to wait before each retry (1-15). Retry-After header\ + \ is honored when present and <= 90s, taking the larger of retry_wait_time\ + \ and the header value." + example: 2 + type: integer required: - blocks type: object @@ -40093,6 +42106,7 @@ components: - prompt type: object new_workflow_task: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_task_data' @@ -40100,6 +42114,7 @@ components: - data type: object update_workflow_task: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_workflow_task_data' @@ -40176,6 +42191,7 @@ components: - meta type: object new_workflow_action_item_form_field_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_action_item_form_field_condition_data' @@ -40183,6 +42199,7 @@ components: - data type: object update_workflow_action_item_form_field_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_workflow_action_item_form_field_condition_data' @@ -40306,6 +42323,7 @@ components: - meta type: object new_workflow_custom_field_selection: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_custom_field_selection_data' @@ -40313,6 +42331,7 @@ components: - data type: object update_workflow_custom_field_selection: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_workflow_custom_field_selection_data' @@ -40392,6 +42411,7 @@ components: - meta type: object new_workflow_form_field_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_form_field_condition_data' @@ -40399,6 +42419,7 @@ components: - data type: object update_workflow_form_field_condition: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_workflow_form_field_condition_data' @@ -40522,6 +42543,7 @@ components: - meta type: object new_workflow_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_group_data' @@ -40529,6 +42551,7 @@ components: - data type: object update_workflow_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_workflow_group_data' @@ -40545,6 +42568,7 @@ components: - post_mortem - action_item - pulse + - problem - alert nullable: true type: string @@ -40607,6 +42631,7 @@ components: - meta type: object new_workflow_run: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_run_data' @@ -40705,6 +42730,7 @@ components: - meta type: object new_workflow: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_workflow_data' @@ -40722,6 +42748,7 @@ components: description: "Actions that trigger the workflow. One of custom_fields..updated,\ \ incident_in_triage, incident_created, incident_started, incident_updated,\ \ title_updated, summary_updated, status_updated, severity_updated,\ + \ notify_emails_updated, scheduled_for_updated, scheduled_until_updated,\ \ environments_added, environments_removed, environments_updated, incident_types_added,\ \ incident_types_removed, incident_types_updated, services_added, services_removed,\ \ services_updated, visibility_updated, functionalities_added, functionalities_removed,\ @@ -41005,6 +43032,18 @@ components: - UNSET nullable: true type: string + incident_condition_scheduled_for: + enum: + - SET + - UNSET + nullable: true + type: string + incident_condition_scheduled_until: + enum: + - SET + - UNSET + nullable: true + type: string incident_conditional_inactivity: enum: - IS @@ -41296,6 +43335,18 @@ components: - UNSET nullable: true type: string + incident_condition_scheduled_for: + enum: + - SET + - UNSET + nullable: true + type: string + incident_condition_scheduled_until: + enum: + - SET + - UNSET + nullable: true + type: string incident_conditional_inactivity: enum: - IS @@ -41588,6 +43639,18 @@ components: - UNSET nullable: true type: string + incident_condition_scheduled_for: + enum: + - SET + - UNSET + nullable: true + type: string + incident_condition_scheduled_until: + enum: + - SET + - UNSET + nullable: true + type: string incident_conditional_inactivity: enum: - IS @@ -41916,6 +43979,7 @@ components: - trigger_type type: object update_workflow: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_workflow_data' @@ -41966,6 +44030,11 @@ components: \ override your conditions set by repeat_condition_duration_since_first_run\ \ and repeat_condition_number_of_repeats parameters." type: boolean + run_once_per_resource: + description: "When true, the workflow runs at most once per incident. Later\ + \ triggers on the same incident create a canceled run instead. Manual\ + \ runs and repeats are not affected. Only applies to incident workflows." + type: boolean repeat_on: items: description: Repeat on weekdays @@ -42023,6 +44092,11 @@ components: items: type: string type: array + group_assignment_ids: + description: Owning team IDs. Requires team-scoped workflows. + items: + type: string + type: array cause_ids: items: type: string @@ -42031,6 +44105,21 @@ components: items: type: string type: array + failure_notification_mode: + description: "Where failure notifications for this workflow are sent. `inherit`\ + \ uses the account default channel, `custom` uses `failure_notification_channels`,\ + \ `off` suppresses them." + enum: + - inherit + - custom + - "off" + type: string + failure_notification_channels: + description: Slack channels notified when a run of this workflow fails. + Used when `failure_notification_mode` is `custom`. + items: + $ref: '#/components/schemas/new_workflow_data_attributes_failure_notification_channels_inner' + type: array created_at: description: Date of creation type: string @@ -42077,6 +44166,7 @@ components: - meta type: object new_live_call_router: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_live_call_router_data' @@ -42084,6 +44174,7 @@ components: - data type: object update_live_call_router: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_live_call_router_data' @@ -42192,10 +44283,10 @@ components: description: Paging targets that callers can select from when this live call router is configured as a phone tree. items: - $ref: '#/components/schemas/new_live_call_router_data_attributes_paging_targets_inner' + $ref: '#/components/schemas/live_call_router_paging_targets_inner' type: array escalation_policy_trigger_params: - $ref: '#/components/schemas/update_live_call_router_data_attributes_escalation_policy_trigger_params' + $ref: '#/components/schemas/live_call_router_escalation_policy_trigger_params' created_at: description: Date of creation type: string @@ -42242,6 +44333,7 @@ components: - meta type: object new_heartbeat: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_heartbeat_data' @@ -42249,6 +44341,7 @@ components: - data type: object update_heartbeat: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_heartbeat_data' @@ -42384,6 +44477,7 @@ components: - meta type: object new_incident_action_item: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_action_item_data' @@ -42391,6 +44485,7 @@ components: - data type: object update_incident_action_item: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_action_item_data' @@ -42507,6 +44602,7 @@ components: - meta type: object new_incident_custom_field_selection: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_custom_field_selection_data' @@ -42514,6 +44610,7 @@ components: - data type: object update_incident_custom_field_selection: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_custom_field_selection_data' @@ -42574,6 +44671,7 @@ components: - meta type: object new_incident_event_functionality: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_event_functionality_data' @@ -42581,6 +44679,7 @@ components: - data type: object update_incident_event_functionality: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_event_functionality_data' @@ -42643,6 +44742,7 @@ components: - meta type: object new_incident_event_service: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_event_service_data' @@ -42650,6 +44750,7 @@ components: - data type: object update_incident_event_service: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_event_service_data' @@ -42712,6 +44813,7 @@ components: - meta type: object new_incident_event: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_event_data' @@ -42719,6 +44821,7 @@ components: - data type: object update_incident_event: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_event_data' @@ -42786,6 +44889,7 @@ components: - meta type: object new_incident_feedback: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_feedback_data' @@ -42793,6 +44897,7 @@ components: - data type: object update_incident_feedback: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_feedback_data' @@ -42864,6 +44969,7 @@ components: - meta type: object new_incident_form_field_selection: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_form_field_selection_data' @@ -42871,6 +44977,7 @@ components: - data type: object update_incident_form_field_selection: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_form_field_selection_data' @@ -42974,6 +45081,7 @@ components: - meta type: object new_incident_permission_set_boolean: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_permission_set_boolean_data' @@ -42981,6 +45089,7 @@ components: - data type: object update_incident_permission_set_boolean: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_permission_set_boolean_data' @@ -43054,6 +45163,7 @@ components: - meta type: object new_incident_permission_set_resource: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_permission_set_resource_data' @@ -43061,6 +45171,7 @@ components: - data type: object update_incident_permission_set_resource: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_permission_set_resource_data' @@ -43129,6 +45240,7 @@ components: - meta type: object new_incident_permission_set: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_permission_set_data' @@ -43136,6 +45248,7 @@ components: - data type: object update_incident_permission_set: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_permission_set_data' @@ -43217,6 +45330,7 @@ components: - meta type: object update_incident_post_mortem: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_post_mortem_data' @@ -43333,6 +45447,7 @@ components: - meta type: object update_incident_retrospective_step: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_retrospective_step_data' @@ -43400,6 +45515,7 @@ components: - data type: object new_incident_role_task: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_role_task_data' @@ -43407,6 +45523,7 @@ components: - data type: object update_incident_role_task: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_role_task_data' @@ -43477,6 +45594,7 @@ components: - meta type: object new_incident_role: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_role_data' @@ -43484,6 +45602,7 @@ components: - data type: object update_incident_role: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_role_data' @@ -43563,6 +45682,7 @@ components: - meta type: object new_incident_status_page_event: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_status_page_event_data' @@ -43570,6 +45690,7 @@ components: - data type: object update_incident_status_page_event: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_status_page_event_data' @@ -43658,6 +45779,7 @@ components: - meta type: object new_incident_type: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_type_data' @@ -43665,6 +45787,7 @@ components: - data type: object update_incident_type: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_type_data' @@ -43705,13 +45828,13 @@ components: slack_channels: description: Slack Channels associated with this incident type items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + $ref: '#/components/schemas/environment_slack_channels_inner' nullable: true type: array slack_aliases: description: Slack Aliases associated with this incident type items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + $ref: '#/components/schemas/environment_slack_aliases_inner' nullable: true type: array properties: @@ -43765,6 +45888,7 @@ components: - meta type: object new_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_data' @@ -43772,6 +45896,7 @@ components: - data type: object update_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_data' @@ -43779,6 +45904,7 @@ components: - data type: object in_triage_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/in_triage_incident_data' @@ -43786,6 +45912,7 @@ components: - data type: object restart_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/restart_incident_data' @@ -43793,6 +45920,7 @@ components: - data type: object mitigate_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/mitigate_incident_data' @@ -43800,6 +45928,7 @@ components: - data type: object resolve_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/resolve_incident_data' @@ -43807,6 +45936,7 @@ components: - data type: object cancel_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/cancel_incident_data' @@ -43814,6 +45944,7 @@ components: - data type: object duplicate_incident: + additionalProperties: false properties: data: $ref: '#/components/schemas/duplicate_incident_data' @@ -43821,6 +45952,7 @@ components: - data type: object add_subscribers: + additionalProperties: false properties: data: $ref: '#/components/schemas/add_subscribers_data' @@ -43828,6 +45960,7 @@ components: - data type: object remove_subscribers: + additionalProperties: false properties: data: $ref: '#/components/schemas/remove_subscribers_data' @@ -43835,6 +45968,7 @@ components: - data type: object assign_role_to_user: + additionalProperties: false properties: data: $ref: '#/components/schemas/assign_role_to_user_data' @@ -43842,6 +45976,7 @@ components: - data type: object unassign_role_from_user: + additionalProperties: false properties: data: $ref: '#/components/schemas/unassign_role_from_user_data' @@ -43907,11 +46042,7 @@ components: nullable: true type: object severity: - allOf: - - $ref: '#/components/schemas/severity_response' - description: The Severity of the incident - nullable: true - type: object + $ref: '#/components/schemas/nullable_severity_response' environments: description: The Environments of the incident items: @@ -44139,6 +46270,10 @@ components: description: Asana task URL nullable: true type: string + linear_issue_key: + description: Linear issue key + nullable: true + type: string linear_issue_id: description: Linear issue ID nullable: true @@ -44832,6 +46967,7 @@ components: $ref: '#/components/schemas/oncall_relationships_escalation_policy' type: object new_on_call_pay_report: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_on_call_pay_report_data' @@ -44839,6 +46975,7 @@ components: - data type: object update_on_call_pay_report: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_on_call_pay_report_data' @@ -44913,14 +47050,16 @@ components: \ their pay calculation; otherwise the report-wide time_zone is used." type: boolean csv_file_url: - description: Download URL for the generated CSV report. Null until the report - is generated. + description: "Short-lived, presigned download URL for the generated CSV\ + \ report. Fetch the report again if the URL expires. Null until the report\ + \ is generated." format: uri nullable: true type: string xlsx_file_url: - description: Download URL for the generated XLSX report. Null until the - report is generated. + description: "Short-lived, presigned download URL for the generated XLSX\ + \ report. Fetch the report again if the URL expires. Null until the report\ + \ is generated." format: uri nullable: true type: string @@ -44972,6 +47111,7 @@ components: - meta type: object new_on_call_shadow: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_on_call_shadow_data' @@ -44979,6 +47119,7 @@ components: - data type: object update_on_call_shadow: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_on_call_shadow_data' @@ -45063,6 +47204,7 @@ components: - meta type: object new_on_call_role: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_on_call_role_data' @@ -45070,6 +47212,7 @@ components: - data type: object update_on_call_role: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_on_call_role_data' @@ -45243,6 +47386,14 @@ components: - delete type: string type: array + members_permissions: + items: + enum: + - read + - update + - delete + type: string + type: array schedule_override_permissions: items: enum: @@ -45348,6 +47499,7 @@ components: - meta type: object new_override_shift: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_override_shift_data' @@ -45355,6 +47507,7 @@ components: - data type: object update_override_shift: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_override_shift_data' @@ -45477,6 +47630,7 @@ components: - data type: object new_playbook_task: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_playbook_task_data' @@ -45484,6 +47638,7 @@ components: - data type: object update_playbook_task: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_playbook_task_data' @@ -45551,6 +47706,7 @@ components: - meta type: object new_playbook: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_playbook_data' @@ -45558,6 +47714,7 @@ components: - data type: object update_playbook: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_playbook_data' @@ -45573,6 +47730,20 @@ components: description: The summary of the playbook nullable: true type: string + kind: + description: Whether the playbook body lives in Rootly (`internal_document`) + or at an external link (`external_url`). + enum: + - internal_document + - external_url + nullable: true + type: string + content: + description: "Sanitized HTML instructions. Still returned when `kind` is\ + \ `external_url`, where the body may be stale — branch on `kind`, not\ + \ on `content` being present." + nullable: true + type: string external_url: description: The external url of the playbook nullable: true @@ -45613,6 +47784,12 @@ components: type: string nullable: true type: array + cause_ids: + description: The Cause IDs to attach to the incident + items: + type: string + nullable: true + type: array created_at: description: Date of creation type: string @@ -45659,6 +47836,7 @@ components: - meta type: object new_post_mortem_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_post_mortem_template_data' @@ -45666,6 +47844,7 @@ components: - data type: object update_post_mortem_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_post_mortem_template_data' @@ -45756,7 +47935,344 @@ components: - links - meta type: object + new_problem: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/new_problem_data' + required: + - data + type: object + update_problem: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/update_problem_data' + required: + - data + type: object + link_incidents: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/link_incidents_data' + required: + - data + type: object + problem: + properties: + sequential_id: + description: Team-scoped sequential number of the problem + type: integer + display_id: + description: Human-readable identifier of the problem (e.g. PROB-12) + readOnly: true + type: string + title: + description: The title of the problem + type: string + description: + description: The description of the problem + nullable: true + type: string + owner_user_id: + description: ID of the user who owns the problem + nullable: true + type: integer + owner_group_id: + description: ID of the group (team) that owns the problem + nullable: true + type: string + priority: + description: The priority of the problem + enum: + - P0 + - P1 + - P2 + - P3 + nullable: true + type: string + due_date: + description: The due date of the problem + format: date + nullable: true + type: string + scope: + description: The scope of the problem + nullable: true + type: string + exit_criteria: + description: The exit criteria of the problem + nullable: true + type: string + impact_so_far: + description: The impact observed so far + nullable: true + type: string + root_cause: + description: The root cause of the problem + nullable: true + type: string + resolution: + description: The resolution of the problem + nullable: true + type: string + deferral_reason: + description: The reason and accepted risk for deferring the problem + nullable: true + type: string + cancellation_reason: + description: The reason for cancelling the problem + nullable: true + type: string + next_review_at: + description: The next review date for a deferred problem + nullable: true + type: string + re_review_cadence: + description: Days between reviews for a deferred problem + nullable: true + type: integer + status: + description: The status of the problem + enum: + - created + - in_progress + - completed + - deferred + - cancelled + readOnly: true + type: string + created_by_user_id: + description: ID of the user who created the problem + readOnly: true + type: integer + in_progress_by_user_id: + description: ID of the user who moved the problem to in progress + nullable: true + readOnly: true + type: integer + completed_by_user_id: + description: ID of the user who completed the problem + nullable: true + readOnly: true + type: integer + deferred_by_user_id: + description: ID of the user who approved deferring the problem + nullable: true + readOnly: true + type: integer + cancelled_by_user_id: + description: ID of the user who cancelled the problem + nullable: true + readOnly: true + type: integer + in_progress_at: + description: When the problem moved to in progress + nullable: true + readOnly: true + type: string + completed_at: + description: When the problem was completed + nullable: true + readOnly: true + type: string + deferred_at: + description: When the problem was deferred + nullable: true + readOnly: true + type: string + cancelled_at: + description: When the problem was cancelled + nullable: true + readOnly: true + type: string + incident_ids: + description: IDs of incidents linked to the problem + items: + type: string + readOnly: true + type: array + incidents_count: + description: Number of incidents linked to the problem + readOnly: true + type: integer + action_items_count: + description: Number of action items on the problem + readOnly: true + type: integer + subscribers_count: + description: Number of users following the problem + readOnly: true + type: integer + users_assigned_count: + description: Number of problem role assignees + readOnly: true + type: integer + url: + description: URL of the problem in the Rootly web app + readOnly: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - status + - title + - updated_at + type: object + problem_response: + properties: + data: + $ref: '#/components/schemas/problem_response_data' + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + type: object + problem_list: + properties: + data: + items: + $ref: '#/components/schemas/problem_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + - links + - meta + type: object + new_problem_action_item: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/new_problem_action_item_data' + required: + - data + type: object + update_problem_action_item: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/update_problem_action_item_data' + required: + - data + type: object + problem_action_item: + properties: + problem_id: + description: ID of the problem this action item belongs to + type: string + summary: + description: The summary of the action item + type: string + description: + description: The description of the action item + nullable: true + type: string + assigned_to_user_id: + description: ID of user you wish to assign this action item + nullable: true + type: integer + priority: + description: The priority of the action item + enum: + - high + - medium + - low + type: string + status: + description: The status of the action item + enum: + - open + - in_progress + - cancelled + - done + type: string + due_date: + description: The due date of the action item + nullable: true + type: string + jira_issue_url: + description: The Jira issue URL. + nullable: true + type: string + assigned_to: + allOf: + - $ref: '#/components/schemas/user_flat_response' + description: User assigned to this action item + nullable: true + type: object + created_by: + allOf: + - $ref: '#/components/schemas/user_flat_response' + description: User who created this action item + nullable: true + type: object + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - summary + - updated_at + type: object + problem_action_item_response: + properties: + data: + $ref: '#/components/schemas/problem_action_item_response_data' + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + type: object + problem_action_item_list: + properties: + data: + items: + $ref: '#/components/schemas/problem_action_item_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + - links + - meta + type: object new_pulse: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_pulse_data' @@ -45764,6 +48280,7 @@ components: - data type: object update_pulse: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_pulse_data' @@ -45799,11 +48316,11 @@ components: type: string labels: items: - $ref: '#/components/schemas/new_pulse_data_attributes_labels_inner' + $ref: '#/components/schemas/pulse_labels_inner' type: array refs: items: - $ref: '#/components/schemas/new_pulse_data_attributes_refs_inner' + $ref: '#/components/schemas/pulse_refs_inner' type: array data: description: Additional data @@ -45886,6 +48403,7 @@ components: - state type: object update_retrospective_configuration: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_retrospective_configuration_data' @@ -45950,6 +48468,7 @@ components: - data type: object new_retrospective_process: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_retrospective_process_data' @@ -45957,6 +48476,7 @@ components: - data type: object update_retrospective_process: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_retrospective_process_data' @@ -46022,6 +48542,7 @@ components: - meta type: object new_retrospective_step: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_retrospective_step_data' @@ -46029,6 +48550,7 @@ components: - data type: object update_retrospective_step: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_retrospective_step_data' @@ -46112,6 +48634,7 @@ components: - meta type: object new_role: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_role_data' @@ -46119,6 +48642,7 @@ components: - data type: object update_role: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_role_data' @@ -46357,6 +48881,16 @@ components: - delete type: string type: array + status_page_updates_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + nullable: true + type: array webhooks_permissions: items: enum: @@ -46402,6 +48936,19 @@ components: - delete type: string type: array + private_agent_permissions: + description: "Private Agent management permissions: create issues enrollment\ + \ tokens, read views agent inventory and details, and delete revokes agent\ + \ credentials. Create and delete can be used independently through the\ + \ API; browser inventory requires read." + items: + enum: + - create + - read + - update + - delete + type: string + type: array slas_permissions: items: enum: @@ -46483,6 +49030,7 @@ components: - meta type: object new_schedule_rotation_active_day: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_schedule_rotation_active_day_data' @@ -46490,6 +49038,7 @@ components: - data type: object update_schedule_rotation_active_day: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_schedule_rotation_active_day_data' @@ -46514,7 +49063,7 @@ components: active_time_attributes: description: Schedule rotation active times per day items: - $ref: '#/components/schemas/new_schedule_rotation_active_day_data_attributes_active_time_attributes_inner' + $ref: '#/components/schemas/schedule_rotation_active_day_active_time_attributes_inner' type: array created_at: description: Date of creation @@ -46561,11 +49110,13 @@ components: - meta type: object new_schedule_rotation_user: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_schedule_rotation_user_data' type: object update_schedule_rotation_user: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_schedule_rotation_user_data' @@ -46630,6 +49181,7 @@ components: - data type: object new_schedule_rotation: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_schedule_rotation_data' @@ -46637,6 +49189,7 @@ components: - data type: object update_schedule_rotation: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_schedule_rotation_data' @@ -46693,11 +49246,13 @@ components: active_time_attributes: description: Schedule rotation's active times items: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_active_time_attributes_inner' + $ref: '#/components/schemas/schedule_rotation_active_time_attributes_inner' type: array time_zone: default: Etc/UTC - description: A valid IANA time zone name. + description: A valid IANA time zone name. Organizations with one timezone + per schedule manage this on the schedule; a value differing from the schedule's + is rejected. type: string schedule_rotationable_attributes: $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' @@ -46754,6 +49309,7 @@ components: - meta type: object new_schedule: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_schedule_data' @@ -46761,6 +49317,7 @@ components: - data type: object update_schedule: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_schedule_data' @@ -46780,6 +49337,10 @@ components: description: 24/7 coverage of the schedule nullable: true type: boolean + time_zone: + description: IANA time zone the schedule's rotations are rendered in + nullable: true + type: string slack_user_group: $ref: '#/components/schemas/schedule_slack_user_group' slack_channel: @@ -46831,6 +49392,8 @@ components: shift_report_time_zone: description: IANA time zone used for the weekly shift summary type: string + business_hours: + $ref: '#/components/schemas/schedule_business_hours' created_at: description: Date of creation type: string @@ -46878,6 +49441,7 @@ components: - meta type: object new_secret: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_secret_data' @@ -46885,6 +49449,7 @@ components: - data type: object update_secret: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_secret_data' @@ -46909,6 +49474,13 @@ components: hashicorp_vault_version: description: The HashiCorp Vault secret version type: integer + owner_group_ids: + description: IDs of the teams whose members can see and pick this secret; + their team admins can manage it. Empty means only users with the org Secrets + permission can. Ignored unless team scoping is enabled for the organization. + items: + type: string + type: array created_at: description: Date of creation type: string @@ -46945,6 +49517,7 @@ components: - data type: object new_service: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_service_data' @@ -46952,6 +49525,7 @@ components: - data type: object update_service: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_service_data' @@ -47093,13 +49667,13 @@ components: slack_channels: description: Slack Channels associated with this service items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + $ref: '#/components/schemas/environment_slack_channels_inner' nullable: true type: array slack_aliases: description: Slack Aliases associated with this service items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + $ref: '#/components/schemas/environment_slack_aliases_inner' nullable: true type: array alert_broadcast_enabled: @@ -47206,6 +49780,7 @@ components: $ref: '#/components/schemas/bulk_destroy_catalog_entities_response_data' type: object new_severity: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_severity_data' @@ -47213,6 +49788,7 @@ components: - data type: object update_severity: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_severity_data' @@ -47257,13 +49833,13 @@ components: slack_channels: description: Slack Channels associated with this severity items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + $ref: '#/components/schemas/environment_slack_channels_inner' nullable: true type: array slack_aliases: description: Slack Aliases associated with this severity items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + $ref: '#/components/schemas/environment_slack_aliases_inner' nullable: true type: array created_at: @@ -47288,6 +49864,20 @@ components: required: - data type: object + nullable_severity_response: + description: "The severity assigned to an incident, or null when no severity\ + \ is assigned" + nullable: true + properties: + data: + $ref: '#/components/schemas/severity_response_data' + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + type: object severity_list: properties: data: @@ -47339,6 +49929,14 @@ components: description: ID of user on shift nullable: true type: integer + overridden_shifts: + description: "For override shifts, the portions of the regular shifts this\ + \ override replaces, clipped to the override window. Null for non-override\ + \ shifts. Available when overridden shifts are enabled for the organization." + items: + $ref: '#/components/schemas/overridden_shift' + nullable: true + type: array required: - ends_at - is_override @@ -47347,6 +49945,34 @@ components: - schedule_id - starts_at type: object + overridden_shift: + properties: + starts_at: + description: Start datetime of the overridden portion + type: string + ends_at: + description: End datetime of the overridden portion + type: string + user_id: + description: ID of the user whose shift was overridden + nullable: true + type: integer + rotation_id: + description: ID of the rotation the overridden shift belongs to + nullable: true + type: string + assignee_type: + description: Type of the overridden assignee (User or Schedule) + nullable: true + type: string + assignee_id: + description: ID of the overridden assignee + nullable: true + type: string + required: + - ends_at + - starts_at + type: object shift_list: properties: data: @@ -47374,6 +50000,7 @@ components: $ref: '#/components/schemas/shift_relationships_assignee' type: object new_shift_coverage_request: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_shift_coverage_request_data' @@ -47499,6 +50126,7 @@ components: - updated_at type: object new_status_page_announcement: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_status_page_announcement_data' @@ -47506,6 +50134,7 @@ components: - data type: object update_status_page_announcement: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_status_page_announcement_data' @@ -47579,6 +50208,7 @@ components: - meta type: object new_status_page_component_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_status_page_component_group_data' @@ -47586,6 +50216,7 @@ components: - data type: object update_status_page_component_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_status_page_component_group_data' @@ -47660,6 +50291,7 @@ components: - meta type: object new_status_page_component: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_status_page_component_data' @@ -47667,6 +50299,7 @@ components: - data type: object update_status_page_component: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_status_page_component_data' @@ -47764,7 +50397,88 @@ components: - links - meta type: object + new_status_page_team: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/new_status_page_team_data' + required: + - data + type: object + update_status_page_team: + additionalProperties: false + properties: + data: + $ref: '#/components/schemas/update_status_page_team_data' + required: + - data + type: object + status_page_team: + properties: + status_page_id: + description: ID of the status page the team is assigned to + type: string + group_id: + description: ID of the team granted access to the status page + format: uuid + type: string + permission_level: + description: Access level granted to members of the team + enum: + - edit_and_publish + - publish_only + type: string + created_at: + description: Date of creation + format: date-time + type: string + updated_at: + description: Date of last update + format: date-time + type: string + required: + - created_at + - group_id + - permission_level + - status_page_id + - updated_at + type: object + status_page_team_response: + properties: + data: + $ref: '#/components/schemas/status_page_team_response_data' + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + type: object + status_page_team_list: + properties: + data: + items: + $ref: '#/components/schemas/status_page_team_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + included: + items: + $ref: '#/components/schemas/jsonapi_included_resource' + type: array + required: + - data + - links + - meta + type: object new_status_page_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_status_page_template_data' @@ -47772,6 +50486,7 @@ components: - data type: object update_status_page_template: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_status_page_template_data' @@ -47862,6 +50577,7 @@ components: - meta type: object new_status_page: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_status_page_data' @@ -47869,6 +50585,7 @@ components: - data type: object update_status_page: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_status_page_data' @@ -48082,6 +50799,7 @@ components: - meta type: object new_team: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_team_data' @@ -48089,6 +50807,7 @@ components: - data type: object update_team: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_team_data' @@ -48173,6 +50892,10 @@ components: description: The Service Now CI sys id associated to this team nullable: true type: string + scim_group_id: + description: The SCIM group id linked to this team + nullable: true + type: string user_ids: description: The user ids of the members of this team. items: @@ -48201,13 +50924,13 @@ components: slack_channels: description: Slack Channels associated with this team items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + $ref: '#/components/schemas/environment_slack_channels_inner' nullable: true type: array slack_aliases: description: Slack Aliases associated with this team items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + $ref: '#/components/schemas/environment_slack_aliases_inner' nullable: true type: array alert_broadcast_enabled: @@ -48237,6 +50960,18 @@ components: - all nullable: true type: string + schedule_override_policy: + description: "Who can create and update overrides for schedules owned by\ + \ this team: `everyone` in the organization, only team `members`, or only\ + \ team `admins`. Users still need override permission from their on-call\ + \ role. Only available when the team-level schedule override policy feature\ + \ is enabled for the organization. Requests that set it while that feature\ + \ is disabled are rejected." + enum: + - everyone + - members + - admins + type: string properties: description: Array of property values for this team. items: @@ -48329,6 +51064,7 @@ components: $ref: '#/components/schemas/bulk_destroy_catalog_entities_response_data' type: object new_user_notification_rule: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_user_notification_rule_data' @@ -48336,6 +51072,7 @@ components: - data type: object update_user_notification_rule: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_user_notification_rule_data' @@ -48435,6 +51172,7 @@ components: - meta type: object new_user_phone_number: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_user_phone_number_data' @@ -48442,6 +51180,7 @@ components: - data type: object update_user_phone_number: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_user_phone_number_data' @@ -48526,6 +51265,7 @@ components: type: string type: object new_user_email_address: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_user_email_address_data' @@ -48533,6 +51273,7 @@ components: - data type: object update_user_email_address: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_user_email_address_data' @@ -48705,6 +51446,7 @@ components: $ref: '#/components/schemas/on_call_role_relationship' type: object update_user: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_user_data' @@ -48815,6 +51557,7 @@ components: - data type: object new_webhooks_endpoint: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_webhooks_endpoint_data' @@ -48822,6 +51565,7 @@ components: - data type: object update_webhooks_endpoint: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_webhooks_endpoint_data' @@ -48869,6 +51613,7 @@ components: - alert.updated - pulse.created - shift.started + - shift.ended - genius_workflow_run.queued - genius_workflow_run.started - genius_workflow_run.completed @@ -48996,6 +51741,7 @@ components: - meta type: object new_sub_status: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_sub_status_data' @@ -49003,6 +51749,7 @@ components: - data type: object update_sub_status: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_sub_status_data' @@ -49080,6 +51827,7 @@ components: - meta type: object new_incident_sub_status: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_incident_sub_status_data' @@ -49087,6 +51835,7 @@ components: - data type: object update_incident_sub_status: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_incident_sub_status_data' @@ -49147,6 +51896,7 @@ components: - meta type: object new_retrospective_process_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_retrospective_process_group_data' @@ -49154,6 +51904,7 @@ components: - data type: object update_retrospective_process_group: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_retrospective_process_group_data' @@ -49208,6 +51959,7 @@ components: - meta type: object new_retrospective_process_group_step: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_retrospective_process_group_step_data' @@ -49215,6 +51967,7 @@ components: - data type: object update_retrospective_process_group_step: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_retrospective_process_group_step_data' @@ -49269,6 +52022,7 @@ components: - meta type: object new_sla: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_sla_data' @@ -49276,6 +52030,7 @@ components: - data type: object update_sla: + additionalProperties: false properties: data: $ref: '#/components/schemas/update_sla_data' @@ -49411,6 +52166,7 @@ components: - meta type: object new_verified_domain: + additionalProperties: false properties: data: $ref: '#/components/schemas/new_verified_domain_data' @@ -49676,6 +52432,12 @@ components: items: type: string type: array + owner_group_ids: + description: IDs of the teams (groups) that own this connector + items: + format: uuid + type: string + type: array filters: $ref: '#/components/schemas/createEdgeConnector_request_data_attributes_filters' required: @@ -49715,6 +52477,12 @@ components: items: type: string type: array + owner_group_ids: + description: IDs of the teams (groups) that own this connector + items: + format: uuid + type: string + type: array filters: description: Event filters type: object @@ -49775,6 +52543,24 @@ components: anyOf: - $ref: '#/components/schemas/errors_list' - $ref: '#/components/schemas/bulk_destroy_teams_response' + verifyUserPhoneNumber_200_response: + example: + message: message + properties: + message: + type: string + required: + - message + type: object + verifyUserPhoneNumber_429_response: + example: + error: error + properties: + error: + type: string + required: + - error + type: object ai_chat_response_data_attributes: properties: session_id: @@ -49824,6 +52610,7 @@ components: - alert_ids type: object attach_alert_data: + additionalProperties: false properties: type: enum: @@ -49835,6 +52622,36 @@ components: - attributes - type type: object + new_alert_data_attributes_actor_oneOf: + additionalProperties: false + properties: + email: + description: "Email of the user, including verified secondary emails." + type: string + required: + - email + type: object + new_alert_data_attributes_actor_oneOf_1: + additionalProperties: false + properties: + user_id: + description: Rootly ID of the user. + type: string + required: + - user_id + type: object + new_alert_data_attributes_actor: + description: "The user to record as performing this action. Only available when\ + \ actor attribution is enabled for the organization; otherwise it is ignored.\ + \ Only supported with Global and Team API keys; with a Team API key the user\ + \ must belong to one of the key's teams. When omitted or null, the action\ + \ is attributed to the API key. Otherwise provide either `email` or `user_id`,\ + \ not both." + nullable: true + oneOf: + - $ref: '#/components/schemas/new_alert_data_attributes_actor_oneOf' + - $ref: '#/components/schemas/new_alert_data_attributes_actor_oneOf_1' + type: object new_alert_data_attributes_notification_targets_inner: additionalProperties: false properties: @@ -49862,6 +52679,7 @@ components: - type: number - type: boolean new_alert_data_attributes_labels_inner: + additionalProperties: false nullable: true properties: key: @@ -49874,6 +52692,7 @@ components: - value type: object new_alert_data_attributes_alert_field_values_attributes_inner: + additionalProperties: false nullable: true properties: alert_field_id: @@ -49889,6 +52708,8 @@ components: new_alert_data_attributes: additionalProperties: false properties: + actor: + $ref: '#/components/schemas/new_alert_data_attributes_actor' noise: description: Whether the alert is marked as noise enum: @@ -50018,6 +52839,7 @@ components: - summary type: object new_alert_data: + additionalProperties: false properties: type: enum: @@ -50032,6 +52854,8 @@ components: update_alert_data_attributes: additionalProperties: false properties: + actor: + $ref: '#/components/schemas/new_alert_data_attributes_actor' noise: description: Whether the alert is marked as noise enum: @@ -50117,7 +52941,12 @@ components: type: array type: object update_alert_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alerts @@ -50128,6 +52957,18 @@ components: - attributes - type type: object + alert_labels_inner: + nullable: true + properties: + key: + description: Key of the tag + type: string + value: + $ref: '#/components/schemas/new_alert_data_attributes_labels_inner_value' + required: + - key + - value + type: object alert_alert_field_values_inner: properties: id: @@ -50169,6 +53010,18 @@ components: - id - type type: object + alert_slack_notifications_inner: + properties: + channel_id: + description: Slack channel ID + type: string + thread_ts: + description: Slack ts of the root announcement message + type: string + required: + - channel_id + - thread_ts + type: object alert_response_data: properties: id: @@ -50201,8 +53054,11 @@ components: description: Resolve all associated incidents nullable: true type: boolean + actor: + $ref: '#/components/schemas/new_alert_data_attributes_actor' type: object resolve_alert_data: + additionalProperties: false properties: type: enum: @@ -50211,6 +53067,22 @@ components: attributes: $ref: '#/components/schemas/resolve_alert_data_attributes' type: object + acknowledge_alert_data_attributes: + additionalProperties: false + properties: + actor: + $ref: '#/components/schemas/new_alert_data_attributes_actor' + type: object + acknowledge_alert_data: + additionalProperties: false + properties: + type: + enum: + - alerts + type: string + attributes: + $ref: '#/components/schemas/acknowledge_alert_data_attributes' + type: object snooze_alert_data_attributes: additionalProperties: false properties: @@ -50219,10 +53091,13 @@ components: maximum: 10080 minimum: 1 type: integer + actor: + $ref: '#/components/schemas/new_alert_data_attributes_actor' required: - delay_minutes type: object snooze_alert_data: + additionalProperties: false properties: type: enum: @@ -50247,8 +53122,11 @@ components: \ to the next level (same EP) or level 1 (different EP)." minimum: 1 type: integer + actor: + $ref: '#/components/schemas/new_alert_data_attributes_actor' type: object escalate_alert_data: + additionalProperties: false properties: type: enum: @@ -50275,6 +53153,7 @@ components: - kind type: object new_alert_event_data: + additionalProperties: false properties: type: enum: @@ -50299,7 +53178,12 @@ components: - details type: object update_alert_event_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_events @@ -50411,6 +53295,7 @@ components: - type type: object new_alerts_source_data_attributes_alert_template_attributes: + additionalProperties: false nullable: true properties: title: @@ -50427,6 +53312,7 @@ components: type: string type: object new_alerts_source_data_attributes_alert_source_urgency_rules_attributes_inner: + additionalProperties: false properties: json_path: description: JSON path expression to extract a specific value from the alert's @@ -50468,6 +53354,7 @@ components: type: string type: object new_alerts_source_data_attributes_sourceable_attributes_field_mappings_attributes_inner: + additionalProperties: false properties: field: description: Select the field on which the condition to be evaluated @@ -50489,9 +53376,11 @@ components: type: string type: object new_alerts_source_data_attributes_sourceable_attributes: + additionalProperties: false description: "Provide additional attributes for the underlying source. `auto_resolve`,\ \ `resolve_state` and `field_mappings_attributes` apply to generic_webhook\ - \ sources; `accept_threaded_emails` applies to email sources." + \ sources; `accept_threaded_emails`, `notification_target_type` and `notification_target_id`\ + \ apply to email sources." nullable: true properties: auto_resolve: @@ -50506,6 +53395,27 @@ components: accept_threaded_emails: description: Set this to false to reject threaded emails type: boolean + notification_target_type: + description: "Email sources only. The type of the notification target every\ + \ alert from this source pages directly; While it points to an active,\ + \ pageable target, Alert Routes are not evaluated. Only used when the\ + \ `email-alert-source-notification-target` feature flag is on for the\ + \ team." + enum: + - EscalationPolicy + - Group + - Service + - Functionality + - User + nullable: true + type: string + notification_target_id: + description: Email sources only. The ID of the notification target. Set + to null to clear it; this also clears `notification_target_type`. Only + used when the `email-alert-source-notification-target` feature flag is + on for the team. + nullable: true + type: string field_mappings_attributes: description: Specify rules to auto resolve alerts items: @@ -50513,6 +53423,7 @@ components: type: array type: object new_alerts_source_data_attributes_resolution_rule_attributes_conditions_attributes_inner: + additionalProperties: false properties: field: description: JSON path expression to extract a specific value from the alert's @@ -50553,6 +53464,7 @@ components: type: string type: object new_alerts_source_data_attributes_resolution_rule_attributes: + additionalProperties: false description: Provide additional attributes for email alerts source nullable: true properties: @@ -50600,6 +53512,7 @@ components: type: array type: object new_alerts_source_data_attributes_alert_source_fields_attributes_inner: + additionalProperties: false properties: alert_field_id: description: The ID of the alert field @@ -50698,6 +53611,7 @@ components: - name type: object new_alerts_source_data: + additionalProperties: false properties: type: enum: @@ -50709,6 +53623,24 @@ components: - attributes - type type: object + update_alerts_source_data_attributes_alert_source_fields_attributes_inner: + additionalProperties: false + properties: + alert_field_id: + description: The ID of the alert field. Must be visible to the caller; unknown + or hidden IDs return 404 + type: string + template_body: + description: Liquid expression to extract a specific value from the alert's + payload for evaluation + nullable: true + type: string + _destroy: + description: Set to true to unbind the alert field from the alert source. + Built-in fields cannot be unbound (422) + nullable: true + type: boolean + type: object update_alerts_source_data_attributes: additionalProperties: false properties: @@ -50791,11 +53723,16 @@ components: \ account. Contact Rootly customer support if you need assistance with\ \ this feature." items: - $ref: '#/components/schemas/new_alerts_source_data_attributes_alert_source_fields_attributes_inner' + $ref: '#/components/schemas/update_alerts_source_data_attributes_alert_source_fields_attributes_inner' type: array type: object update_alerts_source_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_sources @@ -50806,10 +53743,89 @@ components: - attributes - type type: object + alerts_source_alert_template_attributes: + nullable: true + properties: + title: + description: The alert title. + nullable: true + type: string + description: + description: The alert description. + nullable: true + type: string + external_url: + description: The alert URL. + nullable: true + type: string + type: object + alerts_source_alert_source_urgency_rules_attributes_inner: + properties: + json_path: + description: JSON path expression to extract a specific value from the alert's + payload for evaluation + nullable: true + type: string + operator: + description: Comparison operator used to evaluate the extracted value against + the specified condition + enum: + - is + - is_not + - contains + - does_not_contain + type: string + value: + description: Value that the extracted payload data is compared to using + the specified operator to determine a match + type: string + conditionable_type: + description: The type of the conditionable + enum: + - AlertField + nullable: true + type: string + conditionable_id: + description: "The ID of the conditionable. If conditionable_type is AlertField,\ + \ this is the ID of the alert field." + nullable: true + type: string + kind: + description: The kind of the conditionable + enum: + - payload + - alert_field + type: string + alert_urgency_id: + description: The ID of the alert urgency + type: string + type: object + alerts_source_sourceable_attributes_field_mappings_attributes_inner: + properties: + field: + description: Select the field on which the condition to be evaluated + enum: + - external_id + - state + - alert_title + - alert_description + - alert_external_url + - notification_target_type + - notification_target_id + type: string + json_path: + description: "JSON path expression to extract a specific value from the\ + \ alert's payload for evaluation. For `notification_target_id` only: if\ + \ your account has opted in to Dynamic Notification Targets, this may\ + \ also be a Liquid template that resolves to a notification target id\ + \ at routing time." + type: string + type: object alerts_source_sourceable_attributes: description: "Provide additional attributes for the underlying source. `auto_resolve`,\ \ `resolve_state` and `field_mappings_attributes` apply to generic_webhook\ - \ sources; `accept_threaded_emails` applies to email sources." + \ sources; `accept_threaded_emails`, `notification_target_type` and `notification_target_id`\ + \ apply to email sources." nullable: true properties: id: @@ -50829,12 +53845,131 @@ components: accept_threaded_emails: description: Set this to false to reject threaded emails type: boolean + notification_target_type: + description: "Email sources only. The type of the notification target every\ + \ alert from this source pages directly; While it points to an active,\ + \ pageable target, Alert Routes are not evaluated. Only used when the\ + \ `email-alert-source-notification-target` feature flag is on for the\ + \ team." + enum: + - EscalationPolicy + - Group + - Service + - Functionality + - User + nullable: true + type: string + notification_target_id: + description: Email sources only. The ID of the notification target. Set + to null to clear it; this also clears `notification_target_type`. Only + used when the `email-alert-source-notification-target` feature flag is + on for the team. + nullable: true + type: string field_mappings_attributes: description: Specify rules to auto resolve alerts items: - $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes_field_mappings_attributes_inner' + $ref: '#/components/schemas/alerts_source_sourceable_attributes_field_mappings_attributes_inner' + type: array + type: object + alerts_source_resolution_rule_attributes_conditions_attributes_inner: + properties: + field: + description: JSON path expression to extract a specific value from the alert's + payload for evaluation + nullable: true + type: string + operator: + description: Comparison operator used to evaluate the extracted value against + the specified condition + enum: + - is + - is_not + - contains + - does_not_contain + - starts_with + - ends_with + type: string + value: + description: Value that the extracted payload data is compared to using + the specified operator to determine a match + type: string + conditionable_type: + description: The type of the conditionable + enum: + - AlertField + nullable: true + type: string + conditionable_id: + description: "The ID of the conditionable. If conditionable_type is AlertField,\ + \ this is the ID of the alert field." + nullable: true + type: string + kind: + description: The kind of the conditionable + enum: + - payload + - alert_field + type: string + type: object + alerts_source_resolution_rule_attributes: + description: Provide additional attributes for email alerts source + nullable: true + properties: + enabled: + description: Set this to true to enable the auto resolution rule + type: boolean + condition_type: + description: The type of condition to evaluate to apply auto resolution + rule + enum: + - all + - any + type: string + identifier_matchable_type: + description: The type of the identifier matchable + enum: + - AlertField + nullable: true + type: string + identifier_matchable_id: + description: "The ID of the identifier matchable. If identifier_matchable_type\ + \ is AlertField, this is the ID of the alert field." + nullable: true + type: string + identifier_reference_kind: + description: The kind of the identifier reference + enum: + - payload + - alert_field + type: string + identifier_json_path: + description: JSON path expression to extract unique alert identifier used + to match triggered alerts with resolving alerts + nullable: true + type: string + identifier_value_regex: + description: Regex group to further specify the part of the string used + as a unique identifier + nullable: true + type: string + conditions_attributes: + description: List of conditions to evaluate for auto resolution + items: + $ref: '#/components/schemas/alerts_source_resolution_rule_attributes_conditions_attributes_inner' type: array type: object + alerts_source_alert_source_fields_attributes_inner: + properties: + alert_field_id: + description: The ID of the alert field + type: string + template_body: + description: Liquid expression to extract a specific value from the alert's + payload for evaluation + nullable: true + type: string + type: object alerts_source_response_data: properties: id: @@ -50854,6 +53989,7 @@ components: - type type: object new_alert_route_data_attributes_rules_inner_destinations_inner: + additionalProperties: false properties: target_type: description: The type of the target. Please contact support if you encounter @@ -50873,6 +54009,7 @@ components: - target_type type: object new_alert_route_data_attributes_rules_inner_condition_groups_inner_conditions_inner: + additionalProperties: false properties: property_field_condition_type: enum: @@ -50925,6 +54062,7 @@ components: - property_field_type type: object new_alert_route_data_attributes_rules_inner_condition_groups_inner: + additionalProperties: false properties: position: description: The position of the condition group @@ -50937,6 +54075,7 @@ components: - conditions type: object new_alert_route_data_attributes_rules_inner: + additionalProperties: false properties: name: description: The name of the alert routing rule @@ -50962,6 +54101,7 @@ components: - name type: object new_alert_route_data_attributes: + additionalProperties: false properties: name: description: The name of the alert route @@ -50990,6 +54130,7 @@ components: - name type: object new_alert_route_data: + additionalProperties: false properties: type: enum: @@ -51025,7 +54166,12 @@ components: type: array type: object update_alert_route_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_routes @@ -51037,6 +54183,7 @@ components: - type type: object patch_alert_route_data_attributes_rules_inner_destinations_inner: + additionalProperties: false properties: id: description: The ID of the destination. Required for updating or deleting @@ -51061,6 +54208,7 @@ components: type: string type: object patch_alert_route_data_attributes_rules_inner_condition_groups_inner_conditions_inner: + additionalProperties: false properties: id: description: The ID of the condition. Required for updating or deleting @@ -51118,6 +54266,7 @@ components: type: string type: object patch_alert_route_data_attributes_rules_inner_condition_groups_inner: + additionalProperties: false properties: id: description: The ID of the condition group. Required for updating or deleting @@ -51136,6 +54285,7 @@ components: type: array type: object patch_alert_route_data_attributes_rules_inner: + additionalProperties: false properties: id: description: The ID of the alert routing rule. Required for updating or @@ -51192,7 +54342,12 @@ components: type: array type: object patch_alert_route_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_routes @@ -51203,6 +54358,120 @@ components: - attributes - type type: object + alert_route_rules_inner_destinations_inner: + properties: + target_type: + description: The type of the target. Please contact support if you encounter + issues using `Functionality` as a target type. + enum: + - Service + - Group + - Functionality + - EscalationPolicy + type: string + target_id: + description: The ID of the target + format: uuid + type: string + required: + - target_id + - target_type + type: object + alert_route_rules_inner_condition_groups_inner_conditions_inner: + properties: + property_field_condition_type: + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty + type: string + property_field_name: + description: The name of the property field + type: string + property_field_type: + enum: + - attribute + - payload + - alert_field + type: string + property_field_value: + description: The value of the property field + nullable: true + type: string + property_field_values: + items: + type: string + nullable: true + type: array + alert_urgency_ids: + description: The Alert Urgency IDs to check in the condition + items: + type: string + nullable: true + type: array + conditionable_type: + description: The type of the conditionable + enum: + - AlertField + nullable: true + type: string + conditionable_id: + description: The ID of the conditionable + format: uuid + nullable: true + type: string + required: + - alert_urgency_ids + - conditionable_id + - conditionable_type + - property_field_condition_type + - property_field_name + - property_field_type + - property_field_value + - property_field_values + type: object + alert_route_rules_inner_condition_groups_inner: + properties: + position: + description: The position of the condition group + type: integer + conditions: + items: + $ref: '#/components/schemas/alert_route_rules_inner_condition_groups_inner_conditions_inner' + type: array + required: + - conditions + type: object + alert_route_rules_inner: + properties: + name: + description: The name of the alert routing rule + type: string + position: + description: The position of the alert routing rule for ordering evaluation + type: integer + fallback_rule: + default: false + description: Whether this is a fallback rule + type: boolean + destinations: + items: + $ref: '#/components/schemas/alert_route_rules_inner_destinations_inner' + type: array + condition_groups: + items: + $ref: '#/components/schemas/alert_route_rules_inner_condition_groups_inner' + type: array + required: + - condition_groups + - destinations + - name + type: object alert_route_response_data: properties: id: @@ -51222,6 +54491,7 @@ components: - type type: object new_alert_routing_rule_data_attributes_conditions_inner: + additionalProperties: false properties: property_field_type: description: The type of the property field @@ -51307,6 +54577,7 @@ components: - name type: object new_alert_routing_rule_data: + additionalProperties: false properties: type: enum: @@ -51319,6 +54590,7 @@ components: - type type: object update_alert_routing_rule_data_attributes_conditions_inner: + additionalProperties: false properties: id: description: The ID of the alert routing rule condition @@ -51363,6 +54635,7 @@ components: type: array type: object update_alert_routing_rule_data_attributes_destination: + additionalProperties: false properties: target_type: description: The type of the target. Please contact support if you encounter @@ -51414,7 +54687,12 @@ components: $ref: '#/components/schemas/update_alert_routing_rule_data_attributes_destination' type: object update_alert_routing_rule_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_routing_rules @@ -51588,71 +54866,16 @@ components: - id - type type: object - new_alert_retrigger_rule_data_attributes_conditions_inner: - properties: - kind: - description: "The operand the condition matches on. Native operands (urgency,\ - \ source, service, group) match by record; alert_field/payload match a\ - \ field value." - enum: - - urgency - - source - - service - - group - - alert_field - - payload - type: string - operator: - description: How the operand is compared. Native operands support is_one_of/is_not_one_of/is_set/is_not_set; - alert_field/payload additionally support the string/regex operators. - enum: - - is_one_of - - is_not_one_of - - is_set - - is_not_set - - contains - - does_not_contain - - starts_with - - ends_with - - matches_regex - type: string - record_ids: - description: "For urgency/service/group/source conditions: the IDs of the\ - \ matched records (AlertUrgency, Service, Group, or Alerts::Source)." - items: - format: uuid - type: string - type: array - values: - description: "For source conditions: non-integration source aliases (e.g.\ - \ manual, api). For alert_field/payload conditions: the values to compare\ - \ against." - items: - type: string - type: array - property_field_name: - description: "For alert_field conditions: the alert field id. For payload\ - \ conditions: a JSON Path (e.g. $.priority)." - type: string - required: - - kind - - operator - type: object - new_alert_retrigger_rule_data_attributes: + update_alert_configuration_data_attributes_alert_acknowledgment: additionalProperties: false + description: Re-trigger behaviour for acknowledged alerts. Replaces the stored + object as a whole. properties: - name: - description: A human-readable name for the rule - type: string - match_mode: - description: Whether all or any of the conditions must match - enum: - - match-all-rules - - match-any-rule - type: string + timeout_enabled: + description: Re-trigger an acknowledged alert after the timeout. + type: boolean timeout_minutes: - description: Re-trigger the alert this many minutes after acknowledgment. - Null means never re-trigger. + description: Minutes before an acknowledged alert re-triggers. enum: - 10 - 20 @@ -51668,154 +54891,107 @@ components: - 360 - 720 - 1440 - nullable: true - type: integer - position: - description: The position of the rule; the first matching rule (by position) - decides the outcome type: integer - conditions: - description: The conditions that determine which alerts this rule applies - to. An empty array applies to every alert. - items: - $ref: '#/components/schemas/new_alert_retrigger_rule_data_attributes_conditions_inner' - type: array - required: - - name + retrigger_manual_alerts: + description: Whether alerts created from a manual page also re-trigger. + Changing it is rejected with 422 until the manual page re-trigger opt-out + is enabled for the team. + type: boolean type: object - new_alert_retrigger_rule_data: + update_alert_configuration_data_attributes_default_user_notification_settings: + additionalProperties: false + description: "Channel defaults for new users, per urgency level. Omitted levels\ + \ keep the built-in defaults; existing users are never changed. Present and\ + \ accepted only while org-default-notification-settings is on for the team." properties: - type: - enum: - - alert_retrigger_rules - type: string - attributes: - $ref: '#/components/schemas/new_alert_retrigger_rule_data_attributes' - required: - - attributes - - type + audible_contact_types: + description: Channels enabled on a newly created user's audible notification + rule. At least one channel is required. + items: + enum: + - email + - device + - sms + - call + type: string + minItems: 1 + type: array + uniqueItems: true + quiet_contact_types: + description: Channels enabled on a newly created user's quiet notification + rule. At least one channel is required. + items: + enum: + - email + - non_critical_device + - sms + - call + type: string + minItems: 1 + type: array + uniqueItems: true type: object - update_alert_retrigger_rule_data_attributes: + update_alert_configuration_data_attributes: additionalProperties: false + description: Every attribute is optional and replaces its stored value. An attribute + whose feature is not enabled for the team is refused with 403. properties: - name: - description: A human-readable name for the rule - type: string - match_mode: - description: Whether all or any of the conditions must match - enum: - - match-all-rules - - match-any-rule - type: string - timeout_minutes: - description: Re-trigger the alert this many minutes after acknowledgment. - Null means never re-trigger. - enum: - - 10 - - 20 - - 30 - - 40 - - 50 - - 60 - - 90 - - 120 - - 180 - - 240 - - 300 - - 360 - - 720 - - 1440 - nullable: true - type: integer - position: - description: The position of the rule for ordering evaluation - type: integer - conditions: - description: The full desired set of conditions; replaces the rule's existing - conditions. An empty array applies to every alert. + alert_acknowledgment: + $ref: '#/components/schemas/update_alert_configuration_data_attributes_alert_acknowledgment' + manual_paging_form_settings: + description: "Stored entity types for the manual paging form, as configured;\ + \ at least one is required. The form itself may hide a type the team cannot\ + \ use yet, such as functionality." items: - $ref: '#/components/schemas/new_alert_retrigger_rule_data_attributes_conditions_inner' + enum: + - user + - team + - service + - functionality + - escalation_policy + type: string + minItems: 1 type: array + manual_paging_urgency_ids: + description: Alert urgency ids allowed when manually paging. Empty means + all; deleted urgencies are left out. Present and accepted only while the + manual-page-urgency-allowlist feature is on for the team. + items: + format: uuid + type: string + type: array + default_user_notification_settings: + $ref: '#/components/schemas/update_alert_configuration_data_attributes_default_user_notification_settings' type: object - update_alert_retrigger_rule_data: + update_alert_configuration_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. Each\ + \ team has a single alert configuration, so no id is needed." + type: string type: enum: - - alert_retrigger_rules + - alert_configurations type: string attributes: - $ref: '#/components/schemas/update_alert_retrigger_rule_data_attributes' + $ref: '#/components/schemas/update_alert_configuration_data_attributes' required: - attributes - type type: object - alert_retrigger_rule_conditions_inner: - properties: - id: - description: Unique ID of the condition - format: uuid - type: string - kind: - description: "The operand the condition matches on. Native operands (urgency,\ - \ source, service, group) match by record; alert_field/payload match a\ - \ field value." - enum: - - urgency - - source - - service - - group - - alert_field - - payload - type: string - operator: - description: How the operand is compared. Native operands support is_one_of/is_not_one_of/is_set/is_not_set; - alert_field/payload additionally support the string/regex operators. - enum: - - is_one_of - - is_not_one_of - - is_set - - is_not_set - - contains - - does_not_contain - - starts_with - - ends_with - - matches_regex - type: string - record_ids: - description: "For urgency/service/group/source conditions: the IDs of the\ - \ matched records (AlertUrgency, Service, Group, or Alerts::Source)." - items: - format: uuid - type: string - type: array - values: - description: "For source conditions: non-integration source aliases (e.g.\ - \ manual, api). For alert_field/payload conditions: the values to compare\ - \ against." - items: - type: string - type: array - property_field_name: - description: "For alert_field conditions: the alert field id. For payload\ - \ conditions: a JSON Path (e.g. $.priority)." - type: string - required: - - id - - kind - - operator - type: object - alert_retrigger_rule_response_data: + alert_configuration_response_data: properties: id: - description: Unique ID of the alert_retrigger_rule + description: Unique ID of the alert_configuration type: string type: enum: - - alert_retrigger_rules + - alert_configurations type: string attributes: allOf: - - $ref: '#/components/schemas/alert_retrigger_rule' + - $ref: '#/components/schemas/alert_configuration' type: object required: - attributes @@ -51835,10 +55011,22 @@ components: name: description: The name of the alert field type: string + owner_group_ids: + description: "IDs of the teams that own the alert field. Callers with org-wide\ + \ alert field permissions may omit it or pass an empty list to create\ + \ an org-wide field. Callers without them (team admins, team-scoped API\ + \ keys) get their administered teams by default when it is omitted, and\ + \ must otherwise pass at least one team they administer; an explicit empty\ + \ list or null is rejected." + items: + type: string + nullable: true + type: array required: - name type: object new_alert_field_data: + additionalProperties: false properties: type: enum: @@ -51863,9 +55051,23 @@ components: name: description: The name of the alert field type: string + owner_group_ids: + description: "IDs of the teams that own the alert field. Callers with org-wide\ + \ alert field permissions replace the full set. Callers without them may\ + \ only add teams they administer, must leave at least one owner, and owners\ + \ they do not administer are preserved." + items: + type: string + nullable: true + type: array type: object update_alert_field_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_fields @@ -51926,7 +55128,23 @@ components: type: integer retrigger_timeout_minutes: description: "Re-trigger acknowledged alerts of this urgency after N minutes;\ - \ null inherits the workspace default, negative = never." + \ null inherits the workspace default, -1 = never." + enum: + - -1 + - 10 + - 20 + - 30 + - 40 + - 50 + - 60 + - 90 + - 120 + - 180 + - 240 + - 300 + - 360 + - 720 + - 1440 nullable: true type: integer required: @@ -51934,6 +55152,7 @@ components: - name type: object new_alert_urgency_data: + additionalProperties: false properties: type: enum: @@ -51960,12 +55179,33 @@ components: type: integer retrigger_timeout_minutes: description: "Re-trigger acknowledged alerts of this urgency after N minutes;\ - \ null inherits the workspace default, negative = never." + \ null inherits the workspace default, -1 = never." + enum: + - -1 + - 10 + - 20 + - 30 + - 40 + - 50 + - 60 + - 90 + - 120 + - 180 + - 240 + - 300 + - 360 + - 720 + - 1440 nullable: true type: integer type: object update_alert_urgency_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_urgencies @@ -51995,6 +55235,7 @@ components: - type type: object new_alert_group_data_attributes_targets_inner: + additionalProperties: false properties: target_type: description: The type of the target. Please contact support if you encounter @@ -52014,12 +55255,14 @@ components: - target_type type: object new_alert_group_data_attributes_attributes_inner: + additionalProperties: false properties: json_path: description: The JSON path to the value to group by. type: string type: object new_alert_group_data_attributes_conditions_inner: + additionalProperties: false properties: property_field_type: description: The type of the property field @@ -52102,6 +55345,15 @@ components: description: The length of time an Alert Group should stay open and accept new alerts type: integer + owner_group_ids: + description: "Teams that own this alert group. Admins of an owning team\ + \ can manage it, and an owned alert group can only target destinations\ + \ that belong to its owning teams. Only available when owning teams for\ + \ alert groups are enabled for the organization." + items: + format: uuid + type: string + type: array targets: items: $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' @@ -52145,6 +55397,7 @@ components: - name type: object new_alert_group_data: + additionalProperties: false properties: type: enum: @@ -52177,6 +55430,15 @@ components: description: The length of time an Alert Group should stay open and accept new alerts type: integer + owner_group_ids: + description: "Teams that own this alert group. Admins of an owning team\ + \ can manage it, and an owned alert group can only target destinations\ + \ that belong to its owning teams. Only available when owning teams for\ + \ alert groups are enabled for the organization." + items: + format: uuid + type: string + type: array targets: items: $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' @@ -52218,7 +55480,12 @@ components: type: array type: object update_alert_group_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - alert_groups @@ -52229,6 +55496,31 @@ components: - attributes - type type: object + alert_group_targets_inner: + properties: + target_type: + description: The type of the target. Please contact support if you encounter + issues using `Functionality` as a target type. + enum: + - Group + - Service + - EscalationPolicy + - Functionality + type: string + target_id: + description: "id for the Group, Service, EscalationPolicy or Functionality" + format: uuid + type: string + required: + - target_id + - target_type + type: object + alert_group_attributes_inner: + properties: + json_path: + description: The JSON path to the value to group by. + type: string + type: object alert_group_conditions_inner_values_inner: nullable: true properties: @@ -52369,6 +55661,7 @@ components: - name type: object new_api_key_data: + additionalProperties: false properties: type: enum: @@ -52397,7 +55690,12 @@ components: type: string type: object update_api_key_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - api_keys @@ -52426,6 +55724,7 @@ components: type: integer type: object rotate_api_key_data: + additionalProperties: false properties: type: enum: @@ -52537,6 +55836,7 @@ components: - permissions type: object new_authorization_data: + additionalProperties: false properties: type: enum: @@ -52562,7 +55862,12 @@ components: type: array type: object update_authorization_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - authorizations @@ -52630,6 +55935,7 @@ components: - name type: object new_catalog_data: + additionalProperties: false properties: type: enum: @@ -52678,7 +55984,12 @@ components: type: string type: object update_catalog_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - catalogs @@ -52767,6 +56078,7 @@ components: - name type: object new_catalog_field_data: + additionalProperties: false properties: type: enum: @@ -52832,7 +56144,12 @@ components: type: string type: object update_catalog_field_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - catalog_properties @@ -52921,6 +56238,7 @@ components: - name type: object new_catalog_property_data: + additionalProperties: false properties: type: enum: @@ -52986,7 +56304,12 @@ components: type: string type: object update_catalog_property_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - catalog_properties @@ -53068,6 +56391,7 @@ components: - name type: object new_catalog_entity_data: + additionalProperties: false properties: type: enum: @@ -53118,7 +56442,12 @@ components: type: array type: object update_catalog_entity_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - catalog_entities @@ -53298,6 +56627,7 @@ components: - value type: object new_catalog_entity_property_data: + additionalProperties: false properties: type: enum: @@ -53322,7 +56652,12 @@ components: type: string type: object update_catalog_entity_property_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - catalog_entity_properties @@ -53386,6 +56721,7 @@ components: - $ref: '#/components/schemas/Custom_field' type: object new_catalog_checklist_template_data_attributes_owners_inner: + additionalProperties: false properties: id: description: "User ID for user owners, or field key for field owners" @@ -53455,6 +56791,7 @@ components: - scope_type type: object new_catalog_checklist_template_data: + additionalProperties: false properties: type: enum: @@ -53498,7 +56835,12 @@ components: type: array type: object update_catalog_checklist_template_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - catalog_checklist_templates @@ -53703,6 +57045,7 @@ components: - name type: object new_cause_data: + additionalProperties: false properties: type: enum: @@ -53746,7 +57089,12 @@ components: type: array type: object update_cause_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - causes @@ -53800,6 +57148,7 @@ components: - name type: object new_communications_stage_data: + additionalProperties: false properties: type: enum: @@ -53834,7 +57183,12 @@ components: type: integer type: object update_communications_stage_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - communications_stages @@ -53893,6 +57247,7 @@ components: - name type: object new_communications_type_data: + additionalProperties: false properties: type: enum: @@ -53931,7 +57286,12 @@ components: type: integer type: object update_communications_type_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - communications_types @@ -53961,6 +57321,7 @@ components: - type type: object new_communications_template_data_attributes_communication_template_stages_attributes_inner: + additionalProperties: false properties: communication_stage_id: description: The communication stage ID @@ -54010,6 +57371,7 @@ components: - name type: object new_communications_template_data: + additionalProperties: false properties: type: enum: @@ -54022,6 +57384,7 @@ components: - type type: object update_communications_template_data_attributes_communication_template_stages_attributes_inner: + additionalProperties: false properties: id: description: ID of the communication template stage @@ -54069,7 +57432,12 @@ components: type: array type: object update_communications_template_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - communications_templates @@ -54172,6 +57540,7 @@ components: - type type: object new_communications_group_data_attributes_communication_group_conditions_inner: + additionalProperties: false properties: property_type: description: Property type @@ -54214,6 +57583,7 @@ components: type: array type: object new_communications_group_data_attributes_communication_external_group_members_inner: + additionalProperties: false properties: name: description: Name of the external member @@ -54286,6 +57656,7 @@ components: - name type: object new_communications_group_data: + additionalProperties: false properties: type: enum: @@ -54298,6 +57669,7 @@ components: - type type: object update_communications_group_data_attributes_communication_group_conditions_inner: + additionalProperties: false properties: id: description: ID of the condition @@ -54344,6 +57716,7 @@ components: type: array type: object update_communications_group_data_attributes_communication_external_group_members_inner: + additionalProperties: false properties: id: description: ID of the external group member @@ -54417,7 +57790,12 @@ components: type: array type: object update_communications_group_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - communications_groups @@ -54428,6 +57806,48 @@ components: - attributes - type type: object + communications_group_communication_group_conditions_inner: + properties: + property_type: + description: Property type + enum: + - service + - severity + - functionality + - group + - incident_type + type: string + service_ids: + description: Array of service IDs + items: + type: string + nullable: true + type: array + severity_ids: + description: Array of severity IDs + items: + type: string + nullable: true + type: array + functionality_ids: + description: Array of functionality IDs + items: + type: string + nullable: true + type: array + group_ids: + description: Array of group IDs + items: + type: string + nullable: true + type: array + incident_type_ids: + description: Array of incident type IDs + items: + type: string + nullable: true + type: array + type: object communications_group_communication_external_group_members_inner: properties: id: @@ -54479,6 +57899,7 @@ components: - value type: object new_custom_field_option_data: + additionalProperties: false properties: type: enum: @@ -54506,7 +57927,12 @@ components: type: integer type: object update_custom_field_option_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - custom_field_options @@ -54584,6 +58010,7 @@ components: - label type: object new_custom_field_data: + additionalProperties: false properties: type: enum: @@ -54642,7 +58069,12 @@ components: type: integer type: object update_custom_field_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - custom_fields @@ -54697,6 +58129,7 @@ components: - name type: object new_custom_form_data: + additionalProperties: false properties: type: enum: @@ -54731,7 +58164,12 @@ components: type: string type: object update_custom_form_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - custom_forms @@ -54929,6 +58367,7 @@ components: - params type: object new_dashboard_panel_data: + additionalProperties: false properties: type: enum: @@ -54953,7 +58392,12 @@ components: $ref: '#/components/schemas/new_dashboard_panel_data_attributes_position' type: object update_dashboard_panel_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - dashboard_panels @@ -55031,6 +58475,7 @@ components: - owner type: object new_dashboard_data: + additionalProperties: false properties: type: enum: @@ -55091,7 +58536,12 @@ components: type: string type: object update_dashboard_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - dashboards @@ -55137,6 +58587,13 @@ components: items: type: string type: array + owner_group_ids: + description: IDs of the teams (groups) that own this connector. Empty means + the connector is not scoped to a team + items: + format: uuid + type: string + type: array last_poll_at: description: Last time connector polled format: date-time @@ -55206,6 +58663,13 @@ components: items: type: string type: array + owner_group_ids: + description: IDs of the teams (groups) that own this connector. Required + when the caller is a team admin without tenant-wide edge connector permissions + items: + format: uuid + type: string + type: array required: - name type: object @@ -55224,6 +58688,399 @@ components: items: type: string type: array + owner_group_ids: + items: + format: uuid + type: string + type: array + type: object + private_agent_attributes_providers_inner_health: + additionalProperties: false + description: Last reported provider health; may be stale when the agent is offline. + Invalid or absent fields are omitted. + nullable: true + properties: + status: + type: string + observed_at: + type: string + message: + type: string + type: object + private_agent_attributes_providers_inner_policy: + additionalProperties: false + description: "Reported local policy, not credentials or provider connection\ + \ configuration. Fields are provider-type specific: Kubernetes reports namespace\ + \ scope; search providers report index scope; databases report database/schema\ + \ scope; HTTP reports method/path/header scope; Kafka reports topic and message-read\ + \ scope; Redis and Valkey report diagnostic limits; and each provider family\ + \ normally reports only its applicable numeric limits. Management responses\ + \ may preserve legacy cross-family fields for backwards compatibility; capability\ + \ catalog and dispatch use provider-scoped execution metadata. Invalid or\ + \ absent fields are omitted." + nullable: true + properties: + digest: + type: string + cluster_scoped: + type: boolean + pod_logs: + type: boolean + maximum_concurrency: + minimum: 1 + type: integer + maximum_attribute_values: + minimum: 1 + type: integer + maximum_documents: + minimum: 1 + type: integer + maximum_entries: + minimum: 1 + type: integer + maximum_exemplars: + minimum: 1 + type: integer + maximum_indices: + minimum: 1 + type: integer + maximum_label_values: + minimum: 1 + type: integer + maximum_nodes: + minimum: 1 + type: integer + maximum_pattern_points: + minimum: 1 + type: integer + maximum_points_per_series: + minimum: 1 + type: integer + maximum_profile_types: + minimum: 1 + type: integer + maximum_query_bytes: + minimum: 1 + type: integer + maximum_request_bytes: + minimum: 1 + type: integer + maximum_response_bytes: + minimum: 1 + type: integer + maximum_range_seconds: + minimum: 1 + type: integer + maximum_rows: + minimum: 1 + type: integer + maximum_result_bytes: + minimum: 1 + type: integer + maximum_items: + minimum: 1 + type: integer + maximum_messages: + minimum: 1 + type: integer + maximum_message_bytes: + minimum: 1 + type: integer + maximum_scan_records: + minimum: 1 + type: integer + maximum_scan_bytes: + minimum: 1 + type: integer + maximum_series: + minimum: 1 + type: integer + maximum_shards: + minimum: 1 + type: integer + maximum_slowlog_entries: + minimum: 1 + type: integer + maximum_spans_per_span_set: + minimum: 1 + type: integer + maximum_stale_values: + minimum: 1 + type: integer + maximum_timeout_seconds: + minimum: 1 + type: integer + maximum_traces: + minimum: 1 + type: integer + stuck_transaction_seconds: + minimum: 1 + type: integer + namespaces: + items: + type: string + type: array + allowed_indices: + items: + type: string + type: array + timestamp_field: + type: string + database: + type: string + allowed_schemas: + items: + type: string + type: array + allowed_methods: + items: + type: string + type: array + allowed_path_prefixes: + items: + type: string + type: array + allowed_request_headers: + items: + type: string + type: array + exposed_response_headers: + items: + type: string + type: array + allowed_topics: + items: + type: string + type: array + denied_topics: + items: + type: string + type: array + include_internal_topics: + type: boolean + allow_message_reads: + type: boolean + include_message_values: + type: boolean + type: object + private_agent_attributes_providers_inner_capabilities_inner: + additionalProperties: false + properties: + name: + type: string + version: + type: string + description: + type: string + sensitivity: + type: string + required: + - name + - version + type: object + private_agent_attributes_providers_inner: + additionalProperties: false + properties: + id: + type: string + type: + description: "Provider adapter type, such as kubernetes, prometheus, loki,\ + \ tempo, pyroscope, elasticsearch, opensearch, postgresql, mysql, mcp,\ + \ http, kafka, redis, or valkey." + type: string + version: + nullable: true + type: string + health: + $ref: '#/components/schemas/private_agent_attributes_providers_inner_health' + policy: + $ref: '#/components/schemas/private_agent_attributes_providers_inner_policy' + capabilities: + items: + $ref: '#/components/schemas/private_agent_attributes_providers_inner_capabilities_inner' + type: array + required: + - capabilities + - health + - id + - policy + - type + - version + type: object + private_agent_attributes: + additionalProperties: false + properties: + name: + type: string + description: + description: Non-sensitive routing metadata. Do not include secrets or personal + data. + nullable: true + type: string + enabled: + description: "For active agents, whether Rootly may advertise tools and\ + \ assign new work." + type: boolean + status: + enum: + - active + - revoked + type: string + online: + description: Active agent seen within two minutes; does not imply all providers + are healthy. + type: boolean + deployment_mode: + enum: + - combined + - split-core + type: string + agent_version: + type: string + last_seen_at: + format: date-time + nullable: true + type: string + schema_digest: + nullable: true + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + providers: + items: + $ref: '#/components/schemas/private_agent_attributes_providers_inner' + type: array + required: + - agent_version + - created_at + - deployment_mode + - description + - enabled + - last_seen_at + - name + - online + - providers + - schema_digest + - status + - updated_at + type: object + private_agent_update_data_attributes: + additionalProperties: false + minProperties: 1 + properties: + name: + type: string + enabled: + type: boolean + description: + description: Non-sensitive routing metadata. Do not include secrets or personal + data. + nullable: true + type: string + type: object + private_agent_update_data: + additionalProperties: false + properties: + type: + enum: + - private_agents + type: string + attributes: + $ref: '#/components/schemas/private_agent_update_data_attributes' + required: + - attributes + - type + type: object + private_agent_enrollment_token_response_data_attributes: + additionalProperties: false + properties: + token: + description: One-time secret. Returned only on creation; do not log or store + in source control. + type: string + expires_at: + format: date-time + type: string + required: + - expires_at + - token + type: object + private_agent_enrollment_token_response_data: + additionalProperties: false + properties: + id: + format: uuid + type: string + type: + enum: + - private_agent_enrollment_tokens + type: string + attributes: + $ref: '#/components/schemas/private_agent_enrollment_token_response_data_attributes' + required: + - attributes + - id + - type + type: object + private_agent_summary_attributes: + additionalProperties: false + properties: + name: + type: string + description: + description: Non-sensitive routing metadata. Do not include secrets or personal + data. + nullable: true + type: string + enabled: + description: "For active agents, whether Rootly may advertise tools and\ + \ assign new work." + type: boolean + status: + enum: + - active + - revoked + type: string + online: + description: Active agent seen within two minutes; does not imply all providers + are healthy. + type: boolean + deployment_mode: + enum: + - combined + - split-core + type: string + agent_version: + type: string + last_seen_at: + format: date-time + nullable: true + type: string + schema_digest: + nullable: true + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + required: + - agent_version + - created_at + - deployment_mode + - description + - enabled + - last_seen_at + - name + - online + - schema_digest + - status + - updated_at type: object edge_connector_action_data_attributes_parameters_inner: properties: @@ -55373,6 +59230,7 @@ components: - name type: object new_environment_data_attributes_slack_channels_inner: + additionalProperties: false properties: id: description: Slack channel ID @@ -55385,6 +59243,7 @@ components: - name type: object new_environment_data_attributes_slack_aliases_inner: + additionalProperties: false properties: id: description: Slack alias ID @@ -55456,6 +59315,7 @@ components: - name type: object new_environment_data: + additionalProperties: false properties: type: enum: @@ -55525,7 +59385,12 @@ components: type: array type: object update_environment_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - environments @@ -55536,6 +59401,30 @@ components: - attributes - type type: object + environment_slack_channels_inner: + properties: + id: + description: Slack channel ID + type: string + name: + description: Slack channel name + type: string + required: + - id + - name + type: object + environment_slack_aliases_inner: + properties: + id: + description: Slack alias ID + type: string + name: + description: Slack alias name + type: string + required: + - id + - name + type: object environment_response_data: properties: id: @@ -55653,6 +59542,7 @@ components: - title type: object new_escalation_policy_data_attributes_business_hours: + additionalProperties: false deprecated: true nullable: true properties: @@ -55731,6 +59621,8 @@ components: - Atlantic/Azores - Cape Verde Is. - Atlantic/Cape_Verde + - Casablanca + - Africa/Casablanca - Edinburgh - Europe/London - Lisbon @@ -55754,8 +59646,6 @@ components: - Europe/Brussels - Budapest - Europe/Budapest - - Casablanca - - Africa/Casablanca - Copenhagen - Europe/Copenhagen - Dublin @@ -55800,7 +59690,7 @@ components: - Kaliningrad - Europe/Kaliningrad - Kyiv - - Europe/Kiev + - Europe/Kyiv - Pretoria - Africa/Johannesburg - Riga @@ -55867,7 +59757,7 @@ components: - Urumqi - Asia/Urumqi - Rangoon - - Asia/Rangoon + - Asia/Yangon - Bangkok - Asia/Bangkok - Hanoi @@ -55964,6 +59854,8 @@ components: - Pacific/Marquesas - Pacific/Kiritimati - Pacific/Norfolk + - Asia/Rangoon + - Europe/Kiev nullable: true type: string days: @@ -56021,6 +59913,7 @@ components: - name type: object new_escalation_policy_data: + additionalProperties: false properties: type: enum: @@ -56062,7 +59955,12 @@ components: $ref: '#/components/schemas/new_escalation_policy_data_attributes_business_hours' type: object update_escalation_policy_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - escalation_policies @@ -56073,6 +59971,345 @@ components: - attributes - type type: object + escalation_policy_business_hours: + deprecated: true + nullable: true + properties: + time_zone: + description: Time zone for business hours + enum: + - International Date Line West + - Etc/GMT+12 + - American Samoa + - Pacific/Pago_Pago + - Midway Island + - Pacific/Midway + - Hawaii + - Pacific/Honolulu + - Alaska + - America/Juneau + - Pacific Time (US & Canada) + - America/Los_Angeles + - Tijuana + - America/Tijuana + - Arizona + - America/Phoenix + - Mazatlan + - America/Mazatlan + - Mountain Time (US & Canada) + - America/Denver + - Central America + - America/Guatemala + - Central Time (US & Canada) + - America/Chicago + - Chihuahua + - America/Chihuahua + - Guadalajara + - America/Mexico_City + - Mexico City + - Monterrey + - America/Monterrey + - Saskatchewan + - America/Regina + - Bogota + - America/Bogota + - Eastern Time (US & Canada) + - America/New_York + - Indiana (East) + - America/Indiana/Indianapolis + - Lima + - America/Lima + - Quito + - Atlantic Time (Canada) + - America/Halifax + - Caracas + - America/Caracas + - Georgetown + - America/Guyana + - La Paz + - America/La_Paz + - Puerto Rico + - America/Puerto_Rico + - Santiago + - America/Santiago + - Newfoundland + - America/St_Johns + - Asuncion + - America/Asuncion + - Brasilia + - America/Sao_Paulo + - Buenos Aires + - America/Argentina/Buenos_Aires + - Montevideo + - America/Montevideo + - Greenland + - America/Nuuk + - Mid-Atlantic + - Atlantic/South_Georgia + - Azores + - Atlantic/Azores + - Cape Verde Is. + - Atlantic/Cape_Verde + - Casablanca + - Africa/Casablanca + - Edinburgh + - Europe/London + - Lisbon + - Europe/Lisbon + - London + - Monrovia + - Africa/Monrovia + - UTC + - Etc/UTC + - Amsterdam + - Europe/Amsterdam + - Belgrade + - Europe/Belgrade + - Berlin + - Europe/Berlin + - Bern + - Europe/Zurich + - Bratislava + - Europe/Bratislava + - Brussels + - Europe/Brussels + - Budapest + - Europe/Budapest + - Copenhagen + - Europe/Copenhagen + - Dublin + - Europe/Dublin + - Ljubljana + - Europe/Ljubljana + - Madrid + - Europe/Madrid + - Paris + - Europe/Paris + - Prague + - Europe/Prague + - Rome + - Europe/Rome + - Sarajevo + - Europe/Sarajevo + - Skopje + - Europe/Skopje + - Stockholm + - Europe/Stockholm + - Vienna + - Europe/Vienna + - Warsaw + - Europe/Warsaw + - West Central Africa + - Africa/Algiers + - Zagreb + - Europe/Zagreb + - Zurich + - Athens + - Europe/Athens + - Bucharest + - Europe/Bucharest + - Cairo + - Africa/Cairo + - Harare + - Africa/Harare + - Helsinki + - Europe/Helsinki + - Jerusalem + - Asia/Jerusalem + - Kaliningrad + - Europe/Kaliningrad + - Kyiv + - Europe/Kyiv + - Pretoria + - Africa/Johannesburg + - Riga + - Europe/Riga + - Sofia + - Europe/Sofia + - Tallinn + - Europe/Tallinn + - Vilnius + - Europe/Vilnius + - Baghdad + - Asia/Baghdad + - Istanbul + - Europe/Istanbul + - Kuwait + - Asia/Kuwait + - Minsk + - Europe/Minsk + - Moscow + - Europe/Moscow + - Nairobi + - Africa/Nairobi + - Riyadh + - Asia/Riyadh + - St. Petersburg + - Volgograd + - Europe/Volgograd + - Tehran + - Asia/Tehran + - Abu Dhabi + - Asia/Muscat + - Baku + - Asia/Baku + - Muscat + - Samara + - Europe/Samara + - Tbilisi + - Asia/Tbilisi + - Yerevan + - Asia/Yerevan + - Kabul + - Asia/Kabul + - Almaty + - Asia/Almaty + - Astana + - Ekaterinburg + - Asia/Yekaterinburg + - Islamabad + - Asia/Karachi + - Karachi + - Tashkent + - Asia/Tashkent + - Chennai + - Asia/Kolkata + - Kolkata + - Mumbai + - New Delhi + - Sri Jayawardenepura + - Asia/Colombo + - Kathmandu + - Asia/Kathmandu + - Dhaka + - Asia/Dhaka + - Urumqi + - Asia/Urumqi + - Rangoon + - Asia/Yangon + - Bangkok + - Asia/Bangkok + - Hanoi + - Jakarta + - Asia/Jakarta + - Krasnoyarsk + - Asia/Krasnoyarsk + - Novosibirsk + - Asia/Novosibirsk + - Beijing + - Asia/Shanghai + - Chongqing + - Asia/Chongqing + - Hong Kong + - Asia/Hong_Kong + - Irkutsk + - Asia/Irkutsk + - Kuala Lumpur + - Asia/Kuala_Lumpur + - Perth + - Australia/Perth + - Singapore + - Asia/Singapore + - Taipei + - Asia/Taipei + - Ulaanbaatar + - Asia/Ulaanbaatar + - Osaka + - Asia/Tokyo + - Sapporo + - Seoul + - Asia/Seoul + - Tokyo + - Yakutsk + - Asia/Yakutsk + - Adelaide + - Australia/Adelaide + - Darwin + - Australia/Darwin + - Brisbane + - Australia/Brisbane + - Canberra + - Australia/Canberra + - Guam + - Pacific/Guam + - Hobart + - Australia/Hobart + - Melbourne + - Australia/Melbourne + - Port Moresby + - Pacific/Port_Moresby + - Sydney + - Australia/Sydney + - Vladivostok + - Asia/Vladivostok + - Magadan + - Asia/Magadan + - New Caledonia + - Pacific/Noumea + - Solomon Is. + - Pacific/Guadalcanal + - Srednekolymsk + - Asia/Srednekolymsk + - Auckland + - Pacific/Auckland + - Fiji + - Pacific/Fiji + - Kamchatka + - Asia/Kamchatka + - Marshall Is. + - Pacific/Majuro + - Wellington + - Chatham Is. + - Pacific/Chatham + - Nuku'alofa + - Pacific/Tongatapu + - Samoa + - Pacific/Apia + - Tokelau Is. + - Pacific/Fakaofo + - America/Adak + - America/Atka + - US/Aleutian + - America/Vancouver + - Canada/Pacific + - America/Miquelon + - Australia/Eucla + - Australia/LHI + - Australia/Lord_Howe + - Chile/EasterIsland + - Pacific/Easter + - Pacific/Gambier + - Pacific/Pitcairn + - Pacific/Marquesas + - Pacific/Kiritimati + - Pacific/Norfolk + - Asia/Rangoon + - Europe/Kiev + nullable: true + type: string + days: + description: Business days + items: + enum: + - M + - T + - W + - R + - F + - U + - S + type: string + nullable: true + type: array + start_time: + description: Start time for business hours (HH:MM) + nullable: true + type: string + end_time: + description: End time for business hours (HH:MM) + nullable: true + type: string + type: object escalation_policy_response_data: properties: id: @@ -56091,7 +60328,7 @@ components: - id - type type: object - new_escalation_policy_path_data_attributes_rules_inner_oneOf: + Alert_urgency: properties: rule_type: description: The type of the escalation path rule @@ -56104,10 +60341,21 @@ components: items: type: string type: array + operator: + default: is_one_of + description: How the alert's urgency should be matched. is and is_not take + exactly one id + enum: + - is + - is_not + - is_one_of + - is_not_one_of + type: string required: - rule_type - urgency_ids - new_escalation_policy_path_data_attributes_rules_inner_oneOf_1: + title: Alert urgency + Working_hours: properties: rule_type: description: The type of the escalation path rule @@ -56120,7 +60368,8 @@ components: required: - rule_type - within_working_hour - new_escalation_policy_path_data_attributes_rules_inner_oneOf_2: + title: Working hours + JSON_path: properties: rule_type: description: The type of the escalation path rule @@ -56161,7 +60410,8 @@ components: - json_path - operator - rule_type - new_escalation_policy_path_data_attributes_rules_inner_oneOf_3: + title: JSON path + Alert_field: properties: rule_type: description: The type of the escalation path rule @@ -56202,7 +60452,8 @@ components: - fieldable_type - operator - rule_type - new_escalation_policy_path_data_attributes_rules_inner_oneOf_4: + title: Alert field + Service: properties: rule_type: description: The type of the escalation path rule @@ -56214,11 +60465,26 @@ components: items: type: string type: array + operator: + default: is_one_of + description: How the alert's services should be matched. is and is_not take + exactly one id + enum: + - is + - is_not + - is_one_of + - is_not_one_of + type: string required: - rule_type - service_ids - new_escalation_policy_path_data_attributes_rules_inner_oneOf_5_time_blocks_inner: + title: Service + Deferral_window_time_blocks_inner: properties: + id: + description: Unique ID of the time block + readOnly: true + type: string monday: default: false type: boolean @@ -56250,10 +60516,17 @@ components: default: false type: boolean position: + description: "Order of this time block, starting at 1. Defaults to the block's\ + \ 1-based position in time_blocks when omitted." nullable: true type: integer + ends_next_day: + description: Whether the window crosses midnight. Derived from start_time + and end_time; accepted and ignored on write. + readOnly: true + type: boolean type: object - new_escalation_policy_path_data_attributes_rules_inner_oneOf_5: + Deferral_window: properties: rule_type: description: The type of the escalation path rule @@ -56335,6 +60608,8 @@ components: - Atlantic/Azores - Cape Verde Is. - Atlantic/Cape_Verde + - Casablanca + - Africa/Casablanca - Edinburgh - Europe/London - Lisbon @@ -56358,8 +60633,6 @@ components: - Europe/Brussels - Budapest - Europe/Budapest - - Casablanca - - Africa/Casablanca - Copenhagen - Europe/Copenhagen - Dublin @@ -56404,7 +60677,7 @@ components: - Kaliningrad - Europe/Kaliningrad - Kyiv - - Europe/Kiev + - Europe/Kyiv - Pretoria - Africa/Johannesburg - Riga @@ -56471,7 +60744,7 @@ components: - Urumqi - Asia/Urumqi - Rangoon - - Asia/Rangoon + - Asia/Yangon - Bangkok - Asia/Bangkok - Hanoi @@ -56568,17 +60841,20 @@ components: - Pacific/Marquesas - Pacific/Kiritimati - Pacific/Norfolk + - Asia/Rangoon + - Europe/Kiev type: string time_blocks: description: Time windows during which alerts are deferred items: - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_5_time_blocks_inner' + $ref: '#/components/schemas/Deferral_window_time_blocks_inner' type: array required: - rule_type - time_blocks - time_zone - new_escalation_policy_path_data_attributes_rules_inner_oneOf_6: + title: Deferral window + Alert_source: properties: rule_type: description: The type of the escalation path rule @@ -56602,7 +60878,8 @@ components: - operator - rule_type - values - new_escalation_policy_path_data_attributes_rules_inner_oneOf_7: + title: Alert source + Related_incidents: properties: rule_type: description: The type of the escalation path rule @@ -56618,18 +60895,48 @@ components: required: - operator - rule_type + title: Related incidents new_escalation_policy_path_data_attributes_rules_inner: oneOf: - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_1' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_2' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_3' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_4' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_5' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_6' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_7' + - $ref: '#/components/schemas/Alert_urgency' + - $ref: '#/components/schemas/Working_hours' + - $ref: '#/components/schemas/JSON_path' + - $ref: '#/components/schemas/Alert_field' + - $ref: '#/components/schemas/Service' + - $ref: '#/components/schemas/Deferral_window' + - $ref: '#/components/schemas/Alert_source' + - $ref: '#/components/schemas/Related_incidents' + type: object + new_escalation_policy_path_data_attributes_notification_type_rules_inner: + properties: + notification_type: + default: audible + description: Outcome when this rule matches + enum: + - audible + - quiet + type: string + match_mode: + default: match-all-rules + description: Whether all or any of the rule's conditions must match + enum: + - match-all-rules + - match-any-rule + type: string + conditions: + description: "Conditions combined per match_mode, at least one per rule.\ + \ A deferral_window condition matches when the alert falls inside its\ + \ time blocks." + items: + $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner' + maxItems: 5 + minItems: 1 + type: array + required: + - conditions type: object new_escalation_policy_path_data_attributes_time_restrictions_inner: + additionalProperties: false properties: start_day: enum: @@ -56726,7 +61033,23 @@ components: type: integer retrigger_timeout_minutes: description: "Re-trigger acknowledged alerts on this path after N minutes;\ - \ null inherits the urgency/workspace default, negative = never." + \ null inherits the urgency/workspace default, -1 = never." + enum: + - -1 + - 10 + - 20 + - 30 + - 40 + - 50 + - 60 + - 90 + - 120 + - 180 + - 240 + - 300 + - 360 + - 720 + - 1440 nullable: true type: integer rules: @@ -56734,6 +61057,26 @@ components: items: $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner' type: array + notification_type_rules: + description: "Rules deciding whether an alert pages audible or quiet, evaluated\ + \ in order — the first matching rule's notification_type wins, otherwise\ + \ notification_type_fallback applies. When present, the path's notification_type\ + \ is aligned to notification_type_fallback. Only available when notification\ + \ type conditions are enabled for the team." + items: + $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_notification_type_rules_inner' + maxItems: 10 + type: array + notification_type_fallback: + default: audible + description: Paged when no notification type rule matches. Considered only + when notification_type_rules are present — the path's notification_type + is aligned to it; without rules it is aligned to notification_type instead. + Only available when notification type conditions are enabled for the team. + enum: + - audible + - quiet + type: string time_restriction_time_zone: description: Time zone used for time restrictions. enum: @@ -56809,6 +61152,8 @@ components: - Atlantic/Azores - Cape Verde Is. - Atlantic/Cape_Verde + - Casablanca + - Africa/Casablanca - Edinburgh - Europe/London - Lisbon @@ -56832,8 +61177,6 @@ components: - Europe/Brussels - Budapest - Europe/Budapest - - Casablanca - - Africa/Casablanca - Copenhagen - Europe/Copenhagen - Dublin @@ -56878,7 +61221,7 @@ components: - Kaliningrad - Europe/Kaliningrad - Kyiv - - Europe/Kiev + - Europe/Kyiv - Pretoria - Africa/Johannesburg - Riga @@ -56945,7 +61288,7 @@ components: - Urumqi - Asia/Urumqi - Rangoon - - Asia/Rangoon + - Asia/Yangon - Bangkok - Asia/Bangkok - Hanoi @@ -57042,6 +61385,8 @@ components: - Pacific/Marquesas - Pacific/Kiritimati - Pacific/Norfolk + - Asia/Rangoon + - Europe/Kiev nullable: true type: string time_restrictions: @@ -57054,6 +61399,7 @@ components: - name type: object new_escalation_policy_path_data: + additionalProperties: false properties: type: enum: @@ -57068,16 +61414,17 @@ components: update_escalation_policy_path_data_attributes_rules_inner: nullable: true oneOf: - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_1' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_2' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_3' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_4' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_5' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_6' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_oneOf_7' + - $ref: '#/components/schemas/Alert_urgency' + - $ref: '#/components/schemas/Working_hours' + - $ref: '#/components/schemas/JSON_path' + - $ref: '#/components/schemas/Alert_field' + - $ref: '#/components/schemas/Service' + - $ref: '#/components/schemas/Deferral_window' + - $ref: '#/components/schemas/Alert_source' + - $ref: '#/components/schemas/Related_incidents' type: object update_escalation_policy_path_data_attributes_time_restrictions_inner: + additionalProperties: false properties: start_day: enum: @@ -57167,7 +61514,23 @@ components: type: integer retrigger_timeout_minutes: description: "Re-trigger acknowledged alerts on this path after N minutes;\ - \ null inherits the urgency/workspace default, negative = never." + \ null inherits the urgency/workspace default, -1 = never." + enum: + - -1 + - 10 + - 20 + - 30 + - 40 + - 50 + - 60 + - 90 + - 120 + - 180 + - 240 + - 300 + - 360 + - 720 + - 1440 nullable: true type: integer rules: @@ -57175,6 +61538,26 @@ components: items: $ref: '#/components/schemas/update_escalation_policy_path_data_attributes_rules_inner' type: array + notification_type_rules: + description: "Rules deciding whether an alert pages audible or quiet, evaluated\ + \ in order — the first matching rule's notification_type wins, otherwise\ + \ notification_type_fallback applies. When present, the path's notification_type\ + \ is aligned to notification_type_fallback. Only available when notification\ + \ type conditions are enabled for the team." + items: + $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_notification_type_rules_inner' + maxItems: 10 + type: array + notification_type_fallback: + default: audible + description: Paged when no notification type rule matches. Considered only + when notification_type_rules are present — the path's notification_type + is aligned to it; without rules it is aligned to notification_type instead. + Only available when notification type conditions are enabled for the team. + enum: + - audible + - quiet + type: string time_restriction_time_zone: description: Time zone used for time restrictions. enum: @@ -57250,6 +61633,8 @@ components: - Atlantic/Azores - Cape Verde Is. - Atlantic/Cape_Verde + - Casablanca + - Africa/Casablanca - Edinburgh - Europe/London - Lisbon @@ -57273,8 +61658,6 @@ components: - Europe/Brussels - Budapest - Europe/Budapest - - Casablanca - - Africa/Casablanca - Copenhagen - Europe/Copenhagen - Dublin @@ -57319,7 +61702,7 @@ components: - Kaliningrad - Europe/Kaliningrad - Kyiv - - Europe/Kiev + - Europe/Kyiv - Pretoria - Africa/Johannesburg - Riga @@ -57386,7 +61769,7 @@ components: - Urumqi - Asia/Urumqi - Rangoon - - Asia/Rangoon + - Asia/Yangon - Bangkok - Asia/Bangkok - Hanoi @@ -57483,6 +61866,8 @@ components: - Pacific/Marquesas - Pacific/Kiritimati - Pacific/Norfolk + - Asia/Rangoon + - Europe/Kiev nullable: true type: string time_restrictions: @@ -57493,7 +61878,12 @@ components: type: array type: object update_escalation_policy_path_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - escalation_paths @@ -57504,6 +61894,35 @@ components: - attributes - type type: object + escalation_policy_path_time_restrictions_inner: + properties: + start_day: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + start_time: + description: Formatted as HH:MM + type: string + end_day: + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + type: string + end_time: + description: Formatted as HH:MM + type: string + type: object escalation_policy_path_response_data: properties: id: @@ -57535,6 +61954,7 @@ components: - id type: object new_escalation_policy_level_data_attributes_notification_target_params_inner: + additionalProperties: false nullable: true properties: id: @@ -57631,6 +62051,7 @@ components: - position type: object new_escalation_policy_level_data: + additionalProperties: false properties: type: enum: @@ -57643,6 +62064,7 @@ components: - type type: object update_escalation_policy_level_data_attributes_notification_target_params_inner: + additionalProperties: false nullable: true properties: id: @@ -57734,7 +62156,12 @@ components: type: array type: object update_escalation_policy_level_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - escalation_levels @@ -57745,6 +62172,35 @@ components: - attributes - type type: object + escalation_policy_level_notification_target_params_inner: + nullable: true + properties: + id: + description: The ID of notification target + type: string + type: + description: The type of the notification target + enum: + - team + - user + - schedule + - slack_channel + - microsoft_teams_channel + - service + type: string + team_members: + description: "For targets with type=team, controls whether to notify admins,\ + \ all team members, or escalate to team EP." + enum: + - all + - admins + - escalate + nullable: true + type: string + required: + - id + - type + type: object escalation_policy_level_response_data: properties: id: @@ -57797,6 +62253,7 @@ components: - value type: object new_form_field_option_data: + additionalProperties: false properties: type: enum: @@ -57824,7 +62281,12 @@ components: type: integer type: object update_form_field_option_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_field_options @@ -57854,6 +62316,7 @@ components: - type type: object new_form_field_placement_condition_data_attributes: + additionalProperties: false properties: conditioned: description: The resource or attribute the condition applies. @@ -57888,6 +62351,7 @@ components: - values type: object new_form_field_placement_condition_data: + additionalProperties: false properties: type: enum: @@ -57930,7 +62394,12 @@ components: type: array type: object update_form_field_placement_condition_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_field_placement_conditions @@ -57960,6 +62429,7 @@ components: - type type: object new_form_field_placement_data_attributes: + additionalProperties: false properties: form_set_id: description: "The form set this field is placed in. The form set must have\ @@ -57997,6 +62467,7 @@ components: - form_set_id type: object new_form_field_placement_data: + additionalProperties: false properties: type: enum: @@ -58044,7 +62515,12 @@ components: type: boolean type: object update_form_field_placement_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_field_placements @@ -58113,6 +62589,7 @@ components: - position type: object new_form_field_position_data: + additionalProperties: false properties: type: enum: @@ -58160,7 +62637,12 @@ components: type: integer type: object update_form_field_position_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_field_positions @@ -58207,6 +62689,7 @@ components: - summary - mitigation_message - resolution_message + - cancellation_message - severity - environments - types @@ -58319,6 +62802,7 @@ components: - name type: object new_form_field_data: + additionalProperties: false properties: type: enum: @@ -58348,6 +62832,7 @@ components: - summary - mitigation_message - resolution_message + - cancellation_message - severity - environments - types @@ -58457,7 +62942,12 @@ components: type: string type: object update_form_field_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_fields @@ -58487,6 +62977,7 @@ components: - type type: object new_form_set_condition_data_attributes: + additionalProperties: false properties: form_field_id: description: The form field this condition applies. @@ -58508,6 +62999,7 @@ components: - values type: object new_form_set_condition_data: + additionalProperties: false properties: type: enum: @@ -58538,7 +63030,12 @@ components: type: array type: object update_form_set_condition_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_set_conditions @@ -58609,6 +63106,7 @@ components: - name type: object new_form_set_data: + additionalProperties: false properties: type: enum: @@ -58659,7 +63157,12 @@ components: type: array type: object update_form_set_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - form_sets @@ -58814,6 +63317,7 @@ components: - name type: object new_functionality_data: + additionalProperties: false properties: type: enum: @@ -58938,7 +63442,12 @@ components: type: array type: object update_functionality_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - functionalities @@ -59362,6 +63871,27 @@ components: type: array required: - escalation_policies + create_slack_canvas_task_params_channel: + additionalProperties: false + description: Slack channel containing the canvas. Channel IDs support Liquid + variables. + properties: + id: + description: Slack channel ID. + example: "{{ incident.slack_channel_id }}" + minLength: 1 + pattern: \S + type: string + name: + description: Channel display name. + example: incident-channel + minLength: 1 + pattern: \S + type: string + required: + - id + - name + type: object send_slack_message_task_params_anyOf: properties: channels: @@ -59538,11 +64068,13 @@ components: - $ref: '#/components/schemas/publish_incident_task_params' - $ref: '#/components/schemas/redis_client_task_params' - $ref: '#/components/schemas/rename_slack_channel_task_params' + - $ref: '#/components/schemas/remove_from_slack_channel_task_params' - $ref: '#/components/schemas/change_slack_channel_privacy_task_params' - $ref: '#/components/schemas/run_command_heroku_task_params' - $ref: '#/components/schemas/send_email_task_params' - $ref: '#/components/schemas/send_dashboard_report_task_params' - $ref: '#/components/schemas/create_slack_channel_task_params' + - $ref: '#/components/schemas/create_slack_canvas_task_params' - $ref: '#/components/schemas/send_slack_message_task_params' - $ref: '#/components/schemas/send_sms_task_params' - $ref: '#/components/schemas/send_whatsapp_message_task_params' @@ -59563,6 +64095,7 @@ components: - $ref: '#/components/schemas/update_shortcut_story_task_params' - $ref: '#/components/schemas/update_shortcut_task_task_params' - $ref: '#/components/schemas/update_slack_channel_topic_task_params' + - $ref: '#/components/schemas/update_slack_canvas_task_params' - $ref: '#/components/schemas/update_status_task_params' - $ref: '#/components/schemas/update_incident_status_timestamp_task_params' - $ref: '#/components/schemas/update_trello_card_task_params' @@ -59599,6 +64132,7 @@ components: - task_params type: object new_workflow_task_data: + additionalProperties: false properties: type: enum: @@ -59721,11 +64255,13 @@ components: - $ref: '#/components/schemas/publish_incident_task_params' - $ref: '#/components/schemas/redis_client_task_params' - $ref: '#/components/schemas/rename_slack_channel_task_params' + - $ref: '#/components/schemas/remove_from_slack_channel_task_params' - $ref: '#/components/schemas/change_slack_channel_privacy_task_params' - $ref: '#/components/schemas/run_command_heroku_task_params' - $ref: '#/components/schemas/send_email_task_params' - $ref: '#/components/schemas/send_dashboard_report_task_params' - $ref: '#/components/schemas/create_slack_channel_task_params' + - $ref: '#/components/schemas/create_slack_canvas_task_params' - $ref: '#/components/schemas/send_slack_message_task_params' - $ref: '#/components/schemas/send_sms_task_params' - $ref: '#/components/schemas/send_whatsapp_message_task_params' @@ -59746,6 +64282,7 @@ components: - $ref: '#/components/schemas/update_shortcut_story_task_params' - $ref: '#/components/schemas/update_shortcut_task_task_params' - $ref: '#/components/schemas/update_slack_channel_topic_task_params' + - $ref: '#/components/schemas/update_slack_canvas_task_params' - $ref: '#/components/schemas/update_status_task_params' - $ref: '#/components/schemas/update_incident_status_timestamp_task_params' - $ref: '#/components/schemas/update_trello_card_task_params' @@ -59780,7 +64317,12 @@ components: $ref: '#/components/schemas/update_workflow_task_data_attributes_task_params' type: object update_workflow_task_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - workflow_tasks @@ -59886,6 +64428,7 @@ components: - form_field_id type: object new_workflow_action_item_form_field_condition_data: + additionalProperties: false properties: type: enum: @@ -59968,7 +64511,12 @@ components: type: array type: object update_workflow_action_item_form_field_condition_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - workflow_action_item_form_field_conditions @@ -60035,6 +64583,7 @@ components: - incident_condition type: object new_workflow_custom_field_selection_data: + additionalProperties: false properties: type: enum: @@ -60075,7 +64624,12 @@ components: type: array type: object update_workflow_custom_field_selection_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - workflow_custom_field_selections @@ -60184,6 +64738,7 @@ components: - incident_condition type: object new_workflow_form_field_condition_data: + additionalProperties: false properties: type: enum: @@ -60266,7 +64821,12 @@ components: type: array type: object update_workflow_form_field_condition_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - workflow_form_field_conditions @@ -60296,6 +64856,7 @@ components: - type type: object new_workflow_group_data_attributes: + additionalProperties: false properties: slug: deprecated: true @@ -60312,6 +64873,7 @@ components: - post_mortem - action_item - pulse + - problem - alert nullable: true type: string @@ -60335,6 +64897,7 @@ components: - name type: object new_workflow_group_data: + additionalProperties: false properties: type: enum: @@ -60347,6 +64910,7 @@ components: - type type: object update_workflow_group_data_attributes: + additionalProperties: false properties: slug: deprecated: true @@ -60363,6 +64927,7 @@ components: - post_mortem - action_item - pulse + - problem - alert nullable: true type: string @@ -60384,7 +64949,12 @@ components: type: integer type: object update_workflow_group_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - workflow_groups @@ -60539,6 +65109,7 @@ components: - $ref: '#/components/schemas/new_workflow_run_data_attributes_anyOf_5' type: object new_workflow_run_data: + additionalProperties: false properties: type: enum: @@ -60569,12 +65140,34 @@ components: - type type: object new_workflow_data_attributes_trigger_params: + discriminator: + mapping: + incident: '#/components/schemas/incident_trigger_params' + action_item: '#/components/schemas/action_item_trigger_params' + alert: '#/components/schemas/alert_trigger_params' + pulse: '#/components/schemas/pulse_trigger_params' + simple: '#/components/schemas/simple_trigger_params' + propertyName: trigger_type oneOf: - $ref: '#/components/schemas/incident_trigger_params' - $ref: '#/components/schemas/action_item_trigger_params' - $ref: '#/components/schemas/alert_trigger_params' - $ref: '#/components/schemas/pulse_trigger_params' - $ref: '#/components/schemas/simple_trigger_params' + new_workflow_data_attributes_failure_notification_channels_inner: + additionalProperties: false + properties: + id: + description: "Slack channel ID. Liquid is allowed, for example `{{ incident.slack_channel_id\ + \ }}` for the incident channel." + type: string + name: + description: Slack channel name + type: string + required: + - id + - name + type: object new_workflow_data_attributes: additionalProperties: false properties: @@ -60631,6 +65224,11 @@ components: \ override your conditions set by repeat_condition_duration_since_first_run\ \ and repeat_condition_number_of_repeats parameters." type: boolean + run_once_per_resource: + description: "When true, the workflow runs at most once per incident. Later\ + \ triggers on the same incident create a canceled run instead. Manual\ + \ runs and repeats are not affected. Only applies to incident workflows." + type: boolean repeat_on: items: description: Repeat on weekdays @@ -60687,6 +65285,11 @@ components: items: type: string type: array + group_assignment_ids: + description: Owning team IDs. Requires team-scoped workflows. + items: + type: string + type: array cause_ids: items: type: string @@ -60695,6 +65298,21 @@ components: items: type: string type: array + failure_notification_mode: + description: "Where failure notifications for this workflow are sent. `inherit`\ + \ uses the account default channel, `custom` uses `failure_notification_channels`,\ + \ `off` suppresses them." + enum: + - inherit + - custom + - "off" + type: string + failure_notification_channels: + description: Slack channels notified when a run of this workflow fails. + Used when `failure_notification_mode` is `custom`. + items: + $ref: '#/components/schemas/new_workflow_data_attributes_failure_notification_channels_inner' + type: array required: - name type: object @@ -60822,6 +65440,11 @@ components: \ override your conditions set by repeat_condition_duration_since_first_run\ \ and repeat_condition_number_of_repeats parameters." type: boolean + run_once_per_resource: + description: "When true, the workflow runs at most once per incident. Later\ + \ triggers on the same incident create a canceled run instead. Manual\ + \ runs and repeats are not affected. Only applies to incident workflows." + type: boolean enabled: type: boolean locked: @@ -60865,6 +65488,11 @@ components: items: type: string type: array + group_assignment_ids: + description: Owning team IDs. Requires team-scoped workflows. + items: + type: string + type: array cause_ids: items: type: string @@ -60873,6 +65501,21 @@ components: items: type: string type: array + failure_notification_mode: + description: "Where failure notifications for this workflow are sent. `inherit`\ + \ uses the account default channel, `custom` uses `failure_notification_channels`,\ + \ `off` suppresses them." + enum: + - inherit + - custom + - "off" + type: string + failure_notification_channels: + description: Slack channels notified when a run of this workflow fails. + Used when `failure_notification_mode` is `custom`. + items: + $ref: '#/components/schemas/new_workflow_data_attributes_failure_notification_channels_inner' + type: array type: object update_workflow_data: additionalProperties: false @@ -60910,6 +65553,7 @@ components: - type type: object new_live_call_router_data_attributes_paging_targets_inner: + additionalProperties: false nullable: false properties: id: @@ -60933,6 +65577,7 @@ components: - type type: object new_live_call_router_data_attributes_escalation_policy_trigger_params: + additionalProperties: false properties: id: description: The ID of notification target @@ -61071,6 +65716,7 @@ components: - voicemail_greeting type: object new_live_call_router_data: + additionalProperties: false properties: type: enum: @@ -61083,6 +65729,7 @@ components: - type type: object update_live_call_router_data_attributes_escalation_policy_trigger_params: + additionalProperties: false properties: id: description: The ID of notification target @@ -61209,7 +65856,12 @@ components: $ref: '#/components/schemas/update_live_call_router_data_attributes_escalation_policy_trigger_params' type: object update_live_call_router_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - live_call_routers @@ -61220,6 +65872,47 @@ components: - attributes - type type: object + live_call_router_paging_targets_inner: + nullable: false + properties: + id: + description: The ID of paging target + type: string + type: + description: The type of the paging target. Please contact support if you + encounter issues using `functionality` as a target type. + enum: + - service + - team + - escalation_policy + - functionality + type: string + alert_urgency_id: + description: This is used in escalation paths to determine who to page + type: string + required: + - alert_urgency_id + - id + - type + type: object + live_call_router_escalation_policy_trigger_params: + properties: + id: + description: The ID of notification target + type: string + type: + description: The type of the notification target. Please contact support + if you encounter issues using `Functionality` as a target type. + enum: + - Service + - Group + - EscalationPolicy + - Functionality + type: string + required: + - id + - type + type: object live_call_router_response_data: properties: id: @@ -61296,6 +65989,7 @@ components: - notification_target_type type: object new_heartbeat_data: + additionalProperties: false properties: type: enum: @@ -61358,7 +66052,12 @@ components: type: boolean type: object update_heartbeat_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - heartbeats @@ -61527,6 +66226,7 @@ components: - summary type: object new_incident_action_item_data: + additionalProperties: false properties: type: enum: @@ -61604,7 +66304,12 @@ components: type: array type: object update_incident_action_item_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_action_items @@ -61653,6 +66358,7 @@ components: - value type: object new_incident_custom_field_selection_data: + additionalProperties: false properties: type: enum: @@ -61678,7 +66384,12 @@ components: type: array type: object update_incident_custom_field_selection_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_custom_field_selections @@ -61729,6 +66440,7 @@ components: - status type: object new_incident_event_functionality_data: + additionalProperties: false properties: type: enum: @@ -61754,7 +66466,12 @@ components: - status type: object update_incident_event_functionality_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_event_functionalities @@ -61805,6 +66522,7 @@ components: - status type: object new_incident_event_service_data: + additionalProperties: false properties: type: enum: @@ -61830,7 +66548,12 @@ components: - status type: object update_incident_event_service_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_event_services @@ -61875,6 +66598,7 @@ components: - event type: object new_incident_event_data: + additionalProperties: false properties: type: enum: @@ -61900,7 +66624,12 @@ components: type: string type: object update_incident_event_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_events @@ -61952,6 +66681,7 @@ components: - rating type: object new_incident_feedback_data: + additionalProperties: false properties: type: enum: @@ -61983,7 +66713,12 @@ components: type: boolean type: object update_incident_feedback_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_feedbacks @@ -62076,6 +66811,7 @@ components: - incident_id type: object new_incident_form_field_selection_data: + additionalProperties: false properties: type: enum: @@ -62143,7 +66879,12 @@ components: type: array type: object update_incident_form_field_selection_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_form_field_selections @@ -62173,6 +66914,7 @@ components: - type type: object new_incident_permission_set_boolean_data_attributes_severity_params: + additionalProperties: false properties: fully_enabled: default: true @@ -62225,6 +66967,7 @@ components: - kind type: object new_incident_permission_set_boolean_data: + additionalProperties: false properties: type: enum: @@ -62237,6 +66980,7 @@ components: - type type: object update_incident_permission_set_boolean_data_attributes_severity_params: + additionalProperties: false properties: fully_enabled: default: true @@ -62284,7 +67028,12 @@ components: $ref: '#/components/schemas/update_incident_permission_set_boolean_data_attributes_severity_params' type: object update_incident_permission_set_boolean_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_permission_set_booleans @@ -62338,6 +67087,7 @@ components: - kind type: object new_incident_permission_set_resource_data: + additionalProperties: false properties: type: enum: @@ -62369,7 +67119,12 @@ components: $ref: '#/components/schemas/new_incident_permission_set_boolean_data_attributes_severity_params' type: object update_incident_permission_set_resource_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_permission_set_resources @@ -62437,6 +67192,7 @@ components: - name type: object new_incident_permission_set_data: + additionalProperties: false properties: type: enum: @@ -62485,7 +67241,12 @@ components: type: array type: object update_incident_permission_set_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_permission_sets @@ -62520,6 +67281,12 @@ components: title: description: The title of the incident retrospective type: string + content: + description: "The content (body) of the incident retrospective, as HTML.\ + \ Rejected with a 409 once the retrospective has been opened in the collaborative\ + \ editor." + nullable: true + type: string status: description: The status of the incident retrospective enum: @@ -62576,7 +67343,12 @@ components: type: array type: object update_incident_post_mortem_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_post_mortems @@ -62638,7 +67410,12 @@ components: type: string type: object update_incident_retrospective_step_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_retrospective_steps @@ -62690,6 +67467,7 @@ components: - task type: object new_incident_role_task_data: + additionalProperties: false properties: type: enum: @@ -62720,7 +67498,12 @@ components: type: string type: object update_incident_role_task_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_role_tasks @@ -62784,6 +67567,7 @@ components: - name type: object new_incident_role_data: + additionalProperties: false properties: type: enum: @@ -62828,7 +67612,12 @@ components: type: boolean type: object update_incident_role_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_roles @@ -62912,10 +67701,11 @@ components: nullable: true type: string status_page_components: - description: "Affected status page components and their statuses. Requires\ - \ the status-page-v3-phase-1 feature. Ignored for terminal event statuses\ - \ (resolved, completed), which clear component impact. A status is required\ - \ per component except for scheduled maintenance incidents." + description: "Affected status page components and their statuses. This field\ + \ is in Early Access and is not generally available; contact Rootly Support\ + \ to request access. Ignored for terminal event statuses (resolved, completed),\ + \ which clear component impact. A status is required per component except\ + \ for scheduled maintenance incidents." items: $ref: '#/components/schemas/new_incident_status_page_event_data_attributes_status_page_components_inner' nullable: true @@ -62924,6 +67714,7 @@ components: - event type: object new_incident_status_page_event_data: + additionalProperties: false properties: type: enum: @@ -62973,7 +67764,12 @@ components: type: string type: object update_incident_status_page_event_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_status_page_events @@ -63075,6 +67871,7 @@ components: - name type: object new_incident_type_data: + additionalProperties: false properties: type: enum: @@ -63140,7 +67937,12 @@ components: type: array type: object update_incident_type_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_types @@ -63313,6 +68115,18 @@ components: description: Jira issue URL nullable: true type: string + linear_issue_key: + description: Linear issue key + nullable: true + type: string + linear_issue_id: + description: Linear issue ID + nullable: true + type: string + linear_issue_url: + description: Linear issue URL + nullable: true + type: string notify_emails: description: Emails you want to notify items: @@ -63379,6 +68193,7 @@ components: type: string type: object new_incident_data: + additionalProperties: false properties: type: enum: @@ -63545,6 +68360,18 @@ components: description: Jira issue URL nullable: true type: string + linear_issue_key: + description: Linear issue key + nullable: true + type: string + linear_issue_id: + description: Linear issue ID + nullable: true + type: string + linear_issue_url: + description: Linear issue URL + nullable: true + type: string scheduled_for: description: Date of when the maintenance begins nullable: true @@ -63599,7 +68426,12 @@ components: type: string type: object update_incident_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incidents @@ -63611,7 +68443,12 @@ components: - type type: object in_triage_incident_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incidents @@ -63620,7 +68457,12 @@ components: - type type: object restart_incident_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incidents @@ -63641,7 +68483,12 @@ components: type: string type: object mitigate_incident_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incidents @@ -63661,7 +68508,12 @@ components: type: string type: object resolve_incident_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incidents @@ -63681,7 +68533,12 @@ components: type: string type: object cancel_incident_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incidents @@ -63707,6 +68564,7 @@ components: type: string type: object duplicate_incident_data: + additionalProperties: false properties: type: enum: @@ -63736,6 +68594,7 @@ components: type: boolean type: object add_subscribers_data: + additionalProperties: false properties: type: enum: @@ -63765,6 +68624,7 @@ components: type: boolean type: object remove_subscribers_data: + additionalProperties: false properties: type: enum: @@ -63789,6 +68649,7 @@ components: type: string type: object assign_role_to_user_data: + additionalProperties: false properties: type: enum: @@ -63813,6 +68674,7 @@ components: type: string type: object unassign_role_from_user_data: + additionalProperties: false properties: type: enum: @@ -64030,6 +68892,7 @@ components: - start_date type: object new_on_call_pay_report_data: + additionalProperties: false properties: type: enum: @@ -64066,7 +68929,12 @@ components: type: boolean type: object update_on_call_pay_report_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - on_call_pay_reports @@ -64129,6 +68997,7 @@ components: - starts_at type: object new_on_call_shadow_data: + additionalProperties: false properties: type: enum: @@ -64172,7 +69041,12 @@ components: type: string type: object update_on_call_shadow_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - on_call_shadows @@ -64390,6 +69264,14 @@ components: - delete type: string type: array + members_permissions: + items: + enum: + - read + - update + - delete + type: string + type: array schedule_override_permissions: items: enum: @@ -64455,6 +69337,7 @@ components: - name type: object new_on_call_role_data: + additionalProperties: false properties: type: enum: @@ -64637,6 +69520,14 @@ components: - delete type: string type: array + members_permissions: + items: + enum: + - read + - update + - delete + type: string + type: array schedule_override_permissions: items: enum: @@ -64700,7 +69591,12 @@ components: type: array type: object update_on_call_role_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - on_call_roles @@ -64752,6 +69648,7 @@ components: - user_id type: object new_override_shift_data: + additionalProperties: false properties: type: enum: @@ -64774,7 +69671,12 @@ components: - user_id type: object update_override_shift_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - shifts @@ -64839,6 +69741,7 @@ components: - task type: object new_playbook_task_data: + additionalProperties: false properties: type: enum: @@ -64866,7 +69769,12 @@ components: type: integer type: object update_playbook_task_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - playbook_tasks @@ -64905,6 +69813,20 @@ components: description: The summary of the playbook nullable: true type: string + kind: + description: Whether the playbook body lives in Rootly (`internal_document`) + or at an external link (`external_url`). + enum: + - internal_document + - external_url + nullable: true + type: string + content: + description: "Sanitized HTML instructions. Still returned when `kind` is\ + \ `external_url`, where the body may be stale — branch on `kind`, not\ + \ on `content` being present." + nullable: true + type: string external_url: description: The external url of the playbook nullable: true @@ -64945,10 +69867,17 @@ components: type: string nullable: true type: array + cause_ids: + description: The Cause IDs to attach to the incident + items: + type: string + nullable: true + type: array required: - title type: object new_playbook_data: + additionalProperties: false properties: type: enum: @@ -64970,6 +69899,20 @@ components: description: The summary of the playbook nullable: true type: string + kind: + description: Whether the playbook body lives in Rootly (`internal_document`) + or at an external link (`external_url`). + enum: + - internal_document + - external_url + nullable: true + type: string + content: + description: "Sanitized HTML instructions. Still returned when `kind` is\ + \ `external_url`, where the body may be stale — branch on `kind`, not\ + \ on `content` being present." + nullable: true + type: string external_url: description: The external url of the playbook nullable: true @@ -65010,9 +69953,20 @@ components: type: string nullable: true type: array + cause_ids: + description: The Cause IDs to attach to the incident + items: + type: string + nullable: true + type: array type: object update_playbook_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - playbooks @@ -65075,6 +70029,7 @@ components: - name type: object new_post_mortem_template_data: + additionalProperties: false properties: type: enum: @@ -65118,7 +70073,12 @@ components: type: string type: object update_post_mortem_template_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - post_mortem_templates @@ -65178,7 +70138,385 @@ components: - id - type type: object + new_problem_data_attributes: + additionalProperties: false + properties: + title: + description: The title of the problem + type: string + description: + description: The description of the problem + nullable: true + type: string + owner_user_id: + description: ID of the user who owns the problem + nullable: true + type: integer + owner_group_id: + description: ID of the group (team) that owns the problem + nullable: true + type: string + priority: + description: The priority of the problem + enum: + - P0 + - P1 + - P2 + - P3 + nullable: true + type: string + due_date: + description: The due date of the problem + format: date + nullable: true + type: string + scope: + description: The scope of the problem + nullable: true + type: string + exit_criteria: + description: The exit criteria of the problem + nullable: true + type: string + impact_so_far: + description: The impact observed so far + nullable: true + type: string + root_cause: + description: The root cause of the problem + nullable: true + type: string + resolution: + description: The resolution of the problem + nullable: true + type: string + deferral_reason: + description: The reason and accepted risk for deferring the problem + nullable: true + type: string + cancellation_reason: + description: The reason for cancelling the problem + nullable: true + type: string + next_review_at: + description: The next review date for a deferred problem + nullable: true + type: string + re_review_cadence: + description: Days between reviews for a deferred problem + nullable: true + type: integer + incident_ids: + description: IDs of incidents to link to the problem + items: + type: string + type: array + form_field_selections: + description: Custom (form) field selections for the problem + items: + type: object + type: array + required: + - title + type: object + new_problem_data: + additionalProperties: false + properties: + type: + enum: + - problems + type: string + attributes: + $ref: '#/components/schemas/new_problem_data_attributes' + required: + - attributes + - type + type: object + update_problem_data_attributes: + additionalProperties: false + properties: + title: + description: The title of the problem + type: string + description: + description: The description of the problem + nullable: true + type: string + owner_user_id: + description: ID of the user who owns the problem + nullable: true + type: integer + owner_group_id: + description: ID of the group (team) that owns the problem + nullable: true + type: string + priority: + description: The priority of the problem + enum: + - P0 + - P1 + - P2 + - P3 + nullable: true + type: string + due_date: + description: The due date of the problem + format: date + nullable: true + type: string + scope: + description: The scope of the problem + nullable: true + type: string + exit_criteria: + description: The exit criteria of the problem + nullable: true + type: string + impact_so_far: + description: The impact observed so far + nullable: true + type: string + root_cause: + description: The root cause of the problem + nullable: true + type: string + resolution: + description: The resolution of the problem + nullable: true + type: string + deferral_reason: + description: The reason and accepted risk for deferring the problem + nullable: true + type: string + cancellation_reason: + description: The reason for cancelling the problem + nullable: true + type: string + next_review_at: + description: The next review date for a deferred problem + nullable: true + type: string + re_review_cadence: + description: Days between reviews for a deferred problem + nullable: true + type: integer + form_field_selections: + description: Custom (form) field selections for the problem + items: + type: object + type: array + status: + description: "Target status. Transitions run through the problem status\ + \ workflow: gate fields required by the target status must be supplied\ + \ in the same request. Other updatable attributes may accompany a status\ + \ change and are applied atomically with it." + enum: + - created + - in_progress + - completed + - deferred + - cancelled + type: string + expected_status: + description: "Optional optimistic-concurrency guard: the transition is rejected\ + \ unless the problem is currently in this status." + enum: + - created + - in_progress + - completed + - deferred + - cancelled + nullable: true + type: string + type: object + update_problem_data: + additionalProperties: false + properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string + type: + enum: + - problems + type: string + attributes: + $ref: '#/components/schemas/update_problem_data_attributes' + required: + - attributes + - type + type: object + link_incidents_data_attributes: + additionalProperties: false + properties: + incident_id: + description: ID of a single incident to link + type: string + incident_ids: + description: IDs of incidents to link + items: + type: string + type: array + type: object + link_incidents_data: + additionalProperties: false + properties: + type: + enum: + - problems + type: string + attributes: + $ref: '#/components/schemas/link_incidents_data_attributes' + required: + - attributes + - type + type: object + problem_response_data: + properties: + id: + description: Unique ID of the problem + type: string + type: + enum: + - problems + type: string + attributes: + allOf: + - $ref: '#/components/schemas/problem' + type: object + required: + - attributes + - id + - type + type: object + new_problem_action_item_data_attributes: + additionalProperties: false + properties: + summary: + description: The summary of the action item + type: string + description: + description: The description of the action item + nullable: true + type: string + assigned_to_user_id: + description: ID of user you wish to assign this action item + nullable: true + type: integer + priority: + description: The priority of the action item + enum: + - high + - medium + - low + type: string + status: + description: The status of the action item + enum: + - open + - in_progress + - cancelled + - done + type: string + due_date: + description: The due date of the action item + nullable: true + type: string + jira_issue_url: + description: The Jira issue URL. + nullable: true + type: string + required: + - summary + type: object + new_problem_action_item_data: + additionalProperties: false + properties: + type: + enum: + - problem_action_items + type: string + attributes: + $ref: '#/components/schemas/new_problem_action_item_data_attributes' + required: + - attributes + - type + type: object + update_problem_action_item_data_attributes: + additionalProperties: false + properties: + summary: + description: The summary of the action item + type: string + description: + description: The description of the action item + nullable: true + type: string + assigned_to_user_id: + description: ID of user you wish to assign this action item + nullable: true + type: integer + priority: + description: The priority of the action item + enum: + - high + - medium + - low + type: string + status: + description: The status of the action item + enum: + - open + - in_progress + - cancelled + - done + type: string + due_date: + description: The due date of the action item + nullable: true + type: string + jira_issue_url: + description: The Jira issue URL. + nullable: true + type: string + type: object + update_problem_action_item_data: + additionalProperties: false + properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string + type: + enum: + - problem_action_items + type: string + attributes: + $ref: '#/components/schemas/update_problem_action_item_data_attributes' + required: + - attributes + - type + type: object + problem_action_item_response_data: + properties: + id: + description: Unique ID of the action item + type: string + type: + enum: + - problem_action_items + type: string + attributes: + allOf: + - $ref: '#/components/schemas/problem_action_item' + type: object + required: + - attributes + - id + - type + type: object new_pulse_data_attributes_labels_inner: + additionalProperties: false nullable: true properties: key: @@ -65192,6 +70530,7 @@ components: - value type: object new_pulse_data_attributes_refs_inner: + additionalProperties: false nullable: true properties: key: @@ -65256,6 +70595,7 @@ components: - summary type: object new_pulse_data: + additionalProperties: false properties: type: enum: @@ -65317,7 +70657,12 @@ components: type: object type: object update_pulse_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - pulses @@ -65328,6 +70673,32 @@ components: - attributes - type type: object + pulse_labels_inner: + nullable: true + properties: + key: + description: Key of the tag + type: string + value: + description: Value of the tag + type: string + required: + - key + - value + type: object + pulse_refs_inner: + nullable: true + properties: + key: + description: Key of the ref + type: string + value: + description: Value of the ref + type: string + required: + - key + - value + type: object pulse_response_data: properties: id: @@ -65369,7 +70740,12 @@ components: type: array type: object update_retrospective_configuration_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - retrospective_configurations @@ -65477,6 +70853,7 @@ components: - name type: object new_retrospective_process_data: + additionalProperties: false properties: type: enum: @@ -65502,7 +70879,12 @@ components: $ref: '#/components/schemas/new_retrospective_process_data_attributes_retrospective_process_matching_criteria' type: object update_retrospective_process_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - retrospective_processes @@ -65587,6 +70969,7 @@ components: - title type: object new_retrospective_step_data: + additionalProperties: false properties: type: enum: @@ -65634,7 +71017,12 @@ components: type: boolean type: object update_retrospective_step_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - retrospective_steps @@ -65893,6 +71281,16 @@ components: - delete type: string type: array + status_page_updates_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + nullable: true + type: array webhooks_permissions: items: enum: @@ -65938,6 +71336,19 @@ components: - delete type: string type: array + private_agent_permissions: + description: "Private Agent management permissions: create issues enrollment\ + \ tokens, read views agent inventory and details, and delete revokes agent\ + \ credentials. Create and delete can be used independently through the\ + \ API; browser inventory requires read." + items: + enum: + - create + - read + - update + - delete + type: string + type: array slas_permissions: items: enum: @@ -65979,6 +71390,7 @@ components: - name type: object new_role_data: + additionalProperties: false properties: type: enum: @@ -66211,6 +71623,16 @@ components: - delete type: string type: array + status_page_updates_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + nullable: true + type: array webhooks_permissions: items: enum: @@ -66256,6 +71678,19 @@ components: - delete type: string type: array + private_agent_permissions: + description: "Private Agent management permissions: create issues enrollment\ + \ tokens, read views agent inventory and details, and delete revokes agent\ + \ credentials. Create and delete can be used independently through the\ + \ API; browser inventory requires read." + items: + enum: + - create + - read + - update + - delete + type: string + type: array slas_permissions: items: enum: @@ -66295,7 +71730,12 @@ components: type: array type: object update_role_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - roles @@ -66325,6 +71765,7 @@ components: - type type: object new_schedule_rotation_active_day_data_attributes_active_time_attributes_inner: + additionalProperties: false properties: start_time: description: Start time for schedule rotation active time @@ -66359,6 +71800,7 @@ components: - day_name type: object new_schedule_rotation_active_day_data: + additionalProperties: false properties: type: enum: @@ -66391,7 +71833,12 @@ components: type: array type: object update_schedule_rotation_active_day_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - schedule_rotation_active_days @@ -66402,6 +71849,17 @@ components: - attributes - type type: object + schedule_rotation_active_day_active_time_attributes_inner: + properties: + start_time: + description: Start time for schedule rotation active time + format: time + type: string + end_time: + description: End time for schedule rotation active time + format: time + type: string + type: object schedule_rotation_active_day_response_data: properties: id: @@ -66447,6 +71905,7 @@ components: - user_id type: object new_schedule_rotation_user_data: + additionalProperties: false properties: type: enum: @@ -66466,7 +71925,12 @@ components: type: integer type: object update_schedule_rotation_user_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - schedule_rotation_users @@ -66496,6 +71960,7 @@ components: - type type: object new_schedule_rotation_data_attributes_active_time_attributes_inner: + additionalProperties: false properties: start_time: description: Start time for schedule rotation active time @@ -66588,6 +72053,7 @@ components: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes_oneOf_3' type: object new_schedule_rotation_data_attributes_schedule_rotation_members_inner: + additionalProperties: false properties: member_type: description: Type of member @@ -66657,7 +72123,9 @@ components: type: array time_zone: default: Etc/UTC - description: A valid IANA time zone name. + description: A valid IANA time zone name. Organizations with one timezone + per schedule manage this on the schedule; a value differing from the schedule's + is rejected. type: string schedule_rotationable_attributes: $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' @@ -66686,6 +72154,7 @@ components: - schedule_rotationable_type type: object new_schedule_rotation_data: + additionalProperties: false properties: type: enum: @@ -66749,7 +72218,9 @@ components: type: array time_zone: default: Etc/UTC - description: A valid IANA time zone name. + description: A valid IANA time zone name. Organizations with one timezone + per schedule manage this on the schedule; a value differing from the schedule's + is rejected. type: string schedule_rotationable_attributes: $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' @@ -66776,7 +72247,12 @@ components: - schedule_rotationable_type type: object update_schedule_rotation_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - schedule_rotations @@ -66787,6 +72263,20 @@ components: - attributes - type type: object + schedule_rotation_active_time_attributes_inner: + properties: + start_time: + description: Start time for schedule rotation active time + format: time + type: string + end_time: + description: End time for schedule rotation active time + format: time + type: string + required: + - end_time + - start_time + type: object schedule_rotation_response_data: properties: id: @@ -66806,6 +72296,7 @@ components: - type type: object new_schedule_data_attributes_slack_user_group: + additionalProperties: false properties: id: description: Slack user group ID @@ -66815,6 +72306,7 @@ components: type: string type: object new_schedule_data_attributes_slack_channel: + additionalProperties: false nullable: true properties: id: @@ -66824,6 +72316,23 @@ components: description: Slack channel name type: string type: object + new_schedule_data_attributes_business_hours: + additionalProperties: false + description: Controls shadow paging on the schedule. Null disables shadow paging. + start_time and end_time are HH:MM 24-hour format strings. + nullable: true + properties: + start_time: + type: string + end_time: + type: string + include_weekends: + type: boolean + required: + - end_time + - include_weekends + - start_time + type: object new_schedule_data_attributes: additionalProperties: false properties: @@ -66838,6 +72347,12 @@ components: description: 24/7 coverage of the schedule nullable: true type: boolean + time_zone: + description: IANA time zone the schedule's rotations are rendered in. Only + writable for organizations configured with one timezone per schedule; + otherwise it is derived from the rotations. + nullable: true + type: string slack_user_group: $ref: '#/components/schemas/new_schedule_data_attributes_slack_user_group' slack_channel: @@ -66897,11 +72412,14 @@ components: description: IANA time zone used for the weekly shift summary nullable: true type: string + business_hours: + $ref: '#/components/schemas/new_schedule_data_attributes_business_hours' required: - name - owner_user_id type: object new_schedule_data: + additionalProperties: false properties: type: enum: @@ -66927,6 +72445,12 @@ components: description: 24/7 coverage of the schedule nullable: true type: boolean + time_zone: + description: IANA time zone the schedule's rotations are rendered in. Only + writable for organizations configured with one timezone per schedule; + otherwise it is derived from the rotations. + nullable: true + type: string slack_user_group: $ref: '#/components/schemas/new_schedule_data_attributes_slack_user_group' slack_channel: @@ -66987,9 +72511,16 @@ components: description: IANA time zone used for the weekly shift summary nullable: true type: string + business_hours: + $ref: '#/components/schemas/new_schedule_data_attributes_business_hours' type: object update_schedule_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - schedules @@ -67022,6 +72553,22 @@ components: description: Slack channel name type: string type: object + schedule_business_hours: + description: Controls shadow paging on the schedule. Null disables shadow paging. + start_time and end_time are HH:MM 24-hour format strings. + nullable: true + properties: + start_time: + type: string + end_time: + type: string + include_weekends: + type: boolean + required: + - end_time + - include_weekends + - start_time + type: object schedule_response_data: properties: id: @@ -67087,11 +72634,20 @@ components: description: The HashiCorp Vault secret version nullable: true type: string + owner_group_ids: + description: IDs of the teams whose members can see and pick this secret; + their team admins can manage it. Empty means only users with the org Secrets + permission can. Ignored unless team scoping is enabled for the organization. + items: + type: string + nullable: true + type: array required: - name - secret type: object new_secret_data: + additionalProperties: false properties: type: enum: @@ -67126,11 +72682,24 @@ components: description: The HashiCorp Vault secret version nullable: true type: integer + owner_group_ids: + description: IDs of the teams whose members can see and pick this secret; + their team admins can manage it. Empty means only users with the org Secrets + permission can. Ignored unless team scoping is enabled for the organization. + items: + type: string + nullable: true + type: array required: - name type: object update_secret_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - secrets @@ -67160,6 +72729,7 @@ components: - type type: object new_service_data_attributes_alert_broadcast_channel: + additionalProperties: false description: Slack channel to broadcast alerts to nullable: true properties: @@ -67173,6 +72743,7 @@ components: - id type: object new_service_data_attributes_incident_broadcast_channel: + additionalProperties: false description: Slack channel to broadcast incidents to nullable: true properties: @@ -67355,6 +72926,7 @@ components: - name type: object new_service_data: + additionalProperties: false properties: type: enum: @@ -67519,7 +73091,12 @@ components: type: array type: object update_service_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - services @@ -67715,6 +73292,7 @@ components: - name type: object new_severity_data: + additionalProperties: false properties: type: enum: @@ -67779,7 +73357,12 @@ components: type: array type: object update_severity_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - severities @@ -67875,11 +73458,21 @@ components: \ When omitted, every shift overlapping the time range is covered." nullable: false type: integer + recipient_user_ids: + description: "Optional. Notify selected active schedule members for every\ + \ covered shift when targeted-shift-coverage is enabled. Recipients must\ + \ be eligible for each shift. Omitted, empty, or flag-disabled selections\ + \ broadcast." + items: + type: integer + nullable: false + type: array required: - ends_at - starts_at type: object new_shift_coverage_request_data: + additionalProperties: false properties: type: enum: @@ -67929,6 +73522,7 @@ components: - title type: object new_status_page_announcement_data: + additionalProperties: false properties: type: enum: @@ -67953,7 +73547,12 @@ components: type: string type: object update_status_page_announcement_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - status_page_announcements @@ -68005,6 +73604,7 @@ components: - name type: object new_status_page_component_group_data: + additionalProperties: false properties: type: enum: @@ -68037,7 +73637,12 @@ components: type: boolean type: object update_status_page_component_group_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - status_page_component_groups @@ -68100,6 +73705,7 @@ components: type: string type: object new_status_page_component_data: + additionalProperties: false properties: type: enum: @@ -68134,7 +73740,12 @@ components: type: integer type: object update_status_page_component_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - status_page_components @@ -68163,6 +73774,85 @@ components: - id - type type: object + new_status_page_team_data_attributes: + additionalProperties: false + properties: + group_id: + description: ID of the team granted access to the status page. Teams are + listed by GET /v1/teams. A status page accepts at most 50 teams + format: uuid + type: string + permission_level: + description: "publish_only lets team members post status page updates and\ + \ announcements. edit_and_publish also lets them edit the page, its components,\ + \ templates, and subscribers. Defaults to edit_and_publish" + enum: + - edit_and_publish + - publish_only + type: string + required: + - group_id + type: object + new_status_page_team_data: + additionalProperties: false + properties: + type: + enum: + - status_page_groups + type: string + attributes: + $ref: '#/components/schemas/new_status_page_team_data_attributes' + required: + - attributes + - type + type: object + update_status_page_team_data_attributes: + additionalProperties: false + properties: + permission_level: + description: "publish_only lets team members post status page updates and\ + \ announcements. edit_and_publish also lets them edit the page, its components,\ + \ templates, and subscribers" + enum: + - edit_and_publish + - publish_only + type: string + type: object + update_status_page_team_data: + additionalProperties: false + properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string + type: + enum: + - status_page_groups + type: string + attributes: + $ref: '#/components/schemas/update_status_page_team_data_attributes' + required: + - attributes + - type + type: object + status_page_team_response_data: + properties: + id: + description: Unique ID of the status page team assignment + type: string + type: + enum: + - status_page_groups + type: string + attributes: + allOf: + - $ref: '#/components/schemas/status_page_team' + type: object + required: + - attributes + - id + - type + type: object new_status_page_template_data_attributes: additionalProperties: false properties: @@ -68213,6 +73903,7 @@ components: - title type: object new_status_page_template_data: + additionalProperties: false properties: type: enum: @@ -68272,7 +73963,12 @@ components: - title type: object update_status_page_template_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - status_page_templates @@ -68481,6 +74177,7 @@ components: - title type: object new_status_page_data: + additionalProperties: false properties: type: enum: @@ -68648,7 +74345,12 @@ components: type: boolean type: object update_status_page_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - status_pages @@ -68752,6 +74454,17 @@ components: description: The Service Now CI sys id associated to this team nullable: true type: string + scim_group_id: + description: The SCIM group id linked to this team. Membership syncs from + the SCIM group while the team keeps its own name. + nullable: true + type: string + scim_group_external_id: + description: Link by the SCIM group's externalId from your identity provider + instead of scim_group_id. Write-only. Rejected when it names a different + SCIM group than scim_group_id. + nullable: true + type: string user_ids: description: The user ids of the members of this team. items: @@ -68812,6 +74525,18 @@ components: - all nullable: true type: string + schedule_override_policy: + description: "Who can create and update overrides for schedules owned by\ + \ this team: `everyone` in the organization, only team `members`, or only\ + \ team `admins`. Users still need override permission from their on-call\ + \ role. Only available when the team-level schedule override policy feature\ + \ is enabled for the organization. Requests that set it while that feature\ + \ is disabled are rejected." + enum: + - everyone + - members + - admins + type: string properties: description: Array of property values for this team. items: @@ -68821,6 +74546,7 @@ components: - name type: object new_team_data: + additionalProperties: false properties: type: enum: @@ -68903,6 +74629,19 @@ components: description: The Service Now CI sys id associated to this team nullable: true type: string + scim_group_id: + description: "The SCIM group id linked to this team. Membership syncs from\ + \ the SCIM group while the team keeps its own name. Set to null to unlink.\ + \ Sending the current id is a no-op; to pin a name-linked group, unlink\ + \ then link." + nullable: true + type: string + scim_group_external_id: + description: Link by the SCIM group's externalId from your identity provider + instead of scim_group_id. Write-only. Rejected when it names a different + SCIM group than scim_group_id. + nullable: true + type: string user_ids: description: The user ids of the members of this team. items: @@ -68963,6 +74702,18 @@ components: - all nullable: true type: string + schedule_override_policy: + description: "Who can create and update overrides for schedules owned by\ + \ this team: `everyone` in the organization, only team `members`, or only\ + \ team `admins`. Users still need override permission from their on-call\ + \ role. Only available when the team-level schedule override policy feature\ + \ is enabled for the organization. Requests that set it while that feature\ + \ is disabled are rejected." + enum: + - everyone + - members + - admins + type: string properties: description: Array of property values for this team. items: @@ -68970,7 +74721,12 @@ components: type: array type: object update_team_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - groups @@ -69013,6 +74769,18 @@ components: public_description: nullable: true type: string + schedule_override_policy: + description: "Who can create and update overrides for schedules owned by\ + \ this team: `everyone` in the organization, only team `members`, or only\ + \ team `admins`. Users still need override permission from their on-call\ + \ role. Only available when the team-level schedule override policy feature\ + \ is enabled for the organization. Requests that set it while that feature\ + \ is disabled are rejected." + enum: + - everyone + - members + - admins + type: string color: nullable: true type: string @@ -69120,6 +74888,7 @@ components: - enabled_contact_types type: object new_user_notification_rule_data: + additionalProperties: false properties: type: enum: @@ -69175,7 +74944,12 @@ components: type: array type: object update_user_notification_rule_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - user_notification_rules @@ -69214,6 +74988,7 @@ components: - phone type: object new_user_phone_number_data: + additionalProperties: false properties: type: enum: @@ -69233,7 +75008,12 @@ components: type: string type: object update_user_phone_number_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - user_phone_numbers @@ -69272,6 +75052,7 @@ components: - email type: object new_user_email_address_data: + additionalProperties: false properties: type: enum: @@ -69291,7 +75072,12 @@ components: type: string type: object update_user_email_address_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - user_email_addresses @@ -69361,7 +75147,12 @@ components: type: string type: object update_user_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - users @@ -69471,6 +75262,7 @@ components: - alert.updated - pulse.created - shift.started + - shift.ended - genius_workflow_run.queued - genius_workflow_run.started - genius_workflow_run.completed @@ -69493,6 +75285,7 @@ components: - url type: object new_webhooks_endpoint_data: + additionalProperties: false properties: type: enum: @@ -69546,6 +75339,7 @@ components: - alert.updated - pulse.created - shift.started + - shift.ended - genius_workflow_run.queued - genius_workflow_run.started - genius_workflow_run.completed @@ -69565,7 +75359,12 @@ components: type: array type: object update_webhooks_endpoint_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - webhooks_endpoints @@ -69640,6 +75439,7 @@ components: - parent_status type: object new_sub_status_data: + additionalProperties: false properties: type: enum: @@ -69671,7 +75471,12 @@ components: type: integer type: object update_sub_status_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - sub_statuses @@ -69718,6 +75523,7 @@ components: - sub_status_id type: object new_incident_sub_status_data: + additionalProperties: false properties: type: enum: @@ -69744,7 +75550,12 @@ components: type: integer type: object update_incident_sub_status_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - incident_sub_statuses @@ -69784,6 +75595,7 @@ components: - sub_status_id type: object new_retrospective_process_group_data: + additionalProperties: false properties: type: enum: @@ -69804,7 +75616,12 @@ components: type: integer type: object update_retrospective_process_group_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - retrospective_process_groups @@ -69844,6 +75661,7 @@ components: - retrospective_step_id type: object new_retrospective_process_group_step_data: + additionalProperties: false properties: type: enum: @@ -69862,7 +75680,12 @@ components: type: integer type: object update_retrospective_process_group_step_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - retrospective_process_group_steps @@ -69892,6 +75715,7 @@ components: - type type: object new_sla_data_attributes_conditions_inner: + additionalProperties: false properties: conditionable_type: description: The type of condition @@ -69947,6 +75771,7 @@ components: - operator type: object new_sla_data_attributes_notification_configurations_inner: + additionalProperties: false properties: offset_type: description: When to send the notification relative to the deadline @@ -70086,6 +75911,7 @@ components: - name type: object new_sla_data: + additionalProperties: false properties: type: enum: @@ -70214,7 +76040,12 @@ components: type: array type: object update_sla_data: + additionalProperties: false properties: + id: + description: "Accepted for JSON:API client compatibility, but ignored. The\ + \ resource to update is identified by the id in the path." + type: string type: enum: - slas @@ -70310,6 +76141,7 @@ components: - domain type: object new_verified_domain_data: + additionalProperties: false properties: type: enum: diff --git a/docs/AcknowledgeAlert.md b/docs/AcknowledgeAlert.md new file mode 100644 index 00000000..06386d52 --- /dev/null +++ b/docs/AcknowledgeAlert.md @@ -0,0 +1,13 @@ + + +# AcknowledgeAlert + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**AcknowledgeAlertData**](AcknowledgeAlertData.md) | | [optional] | + + + diff --git a/docs/AcknowledgeAlertData.md b/docs/AcknowledgeAlertData.md new file mode 100644 index 00000000..eddbac6d --- /dev/null +++ b/docs/AcknowledgeAlertData.md @@ -0,0 +1,22 @@ + + +# AcknowledgeAlertData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**attributes** | [**AcknowledgeAlertDataAttributes**](AcknowledgeAlertDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERTS | "alerts" | + + + diff --git a/docs/AcknowledgeAlertDataAttributes.md b/docs/AcknowledgeAlertDataAttributes.md new file mode 100644 index 00000000..e3b753b1 --- /dev/null +++ b/docs/AcknowledgeAlertDataAttributes.md @@ -0,0 +1,13 @@ + + +# AcknowledgeAlertDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**actor** | [**NewAlertDataAttributesActor**](NewAlertDataAttributesActor.md) | | [optional] | + + + diff --git a/docs/ActionItemTriggerParams.md b/docs/ActionItemTriggerParams.md index 920afae0..547cc0f3 100644 --- a/docs/ActionItemTriggerParams.md +++ b/docs/ActionItemTriggerParams.md @@ -34,6 +34,8 @@ |**incidentConditionAcknowledgedAt** | [**IncidentConditionAcknowledgedAtEnum**](#IncidentConditionAcknowledgedAtEnum) | | [optional] | |**incidentConditionMitigatedAt** | [**IncidentConditionMitigatedAtEnum**](#IncidentConditionMitigatedAtEnum) | | [optional] | |**incidentConditionResolvedAt** | [**IncidentConditionResolvedAtEnum**](#IncidentConditionResolvedAtEnum) | | [optional] | +|**incidentConditionScheduledFor** | [**IncidentConditionScheduledForEnum**](#IncidentConditionScheduledForEnum) | | [optional] | +|**incidentConditionScheduledUntil** | [**IncidentConditionScheduledUntilEnum**](#IncidentConditionScheduledUntilEnum) | | [optional] | |**incidentConditionalInactivity** | [**IncidentConditionalInactivityEnum**](#IncidentConditionalInactivityEnum) | | [optional] | |**incidentActionItemCondition** | [**IncidentActionItemConditionEnum**](#IncidentActionItemConditionEnum) | | [optional] | |**incidentActionItemConditionKind** | [**IncidentActionItemConditionKindEnum**](#IncidentActionItemConditionKindEnum) | | [optional] | @@ -345,6 +347,24 @@ +## Enum: IncidentConditionScheduledForEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + +## Enum: IncidentConditionScheduledUntilEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + ## Enum: IncidentConditionalInactivityEnum | Name | Value | diff --git a/docs/AddSlackBookmarkTaskParams.md b/docs/AddSlackBookmarkTaskParams.md index 0c2d9842..d69a8cef 100644 --- a/docs/AddSlackBookmarkTaskParams.md +++ b/docs/AddSlackBookmarkTaskParams.md @@ -13,6 +13,8 @@ |**title** | **String** | The bookmark title. Required if not a playbook bookmark | [optional] | |**link** | **String** | The bookmark link. Required if not a playbook bookmark | [optional] | |**emoji** | **String** | The bookmark emoji | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/Alert.md b/docs/Alert.md index fd862fbe..a0292402 100644 --- a/docs/Alert.md +++ b/docs/Alert.md @@ -27,7 +27,7 @@ |**alertUrgency** | [**AlertUrgency**](AlertUrgency.md) | | [optional] | |**groupLeaderAlertId** | **String** | The ID of the group leader alert | [optional] | |**isGroupLeaderAlert** | **Boolean** | Whether the alert is a group leader alert | [optional] | -|**labels** | [**List<NewAlertDataAttributesLabelsInner>**](NewAlertDataAttributesLabelsInner.md) | | [optional] | +|**labels** | [**List<AlertLabelsInner>**](AlertLabelsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | |**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, Functionality, User. | [optional] | |**notificationTargetId** | **String** | Only available for organizations with Rootly On-Call enabled. The identifier of the notification target object. | [optional] | @@ -36,9 +36,12 @@ |**responders** | [**List<UserFlatResponse>**](UserFlatResponse.md) | Users who responded to the alert. Included on all non-list responses (show, create, update, resolve, etc.); on list responses only when `include=responders` is requested. | [optional] | |**notifiedUsers** | [**List<User>**](User.md) | Users who were notified about the alert. Included on all non-list responses (show, create, update, resolve, etc.); on list responses only when `include=notified_users` is requested. | [optional] | |**alertingTargets** | [**List<AlertAlertingTargetsInner>**](AlertAlertingTargetsInner.md) | Alerting targets associated with the alert. Only present when advanced routing is enabled for the team. | [optional] | +|**slackNotifications** | [**List<AlertSlackNotificationsInner>**](AlertSlackNotificationsInner.md) | Slack channel and root thread ts of each announcement Rootly posted for the alert. Only present when the alert-slack-message-references feature flag is enabled for the team. | [optional] | |**url** | **URI** | The Rootly dashboard URL for the alert | [optional] | |**startedAt** | **OffsetDateTime** | When the alert started | [optional] | |**endedAt** | **OffsetDateTime** | When the alert ended | [optional] | +|**acknowledgedAt** | **OffsetDateTime** | When the alert was first acknowledged. Null if it has never been acknowledged. An alert that is retriggered and acknowledged again keeps its original acknowledgement timestamp. | [optional] | +|**resolvedAt** | **OffsetDateTime** | When the alert was first resolved. Null if it has never been resolved. Like `acknowledged_at`, an alert that is retriggered and resolved again keeps its original resolution timestamp; use `ended_at` for the current resolution state. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/AlertConfiguration.md b/docs/AlertConfiguration.md new file mode 100644 index 00000000..05a5225e --- /dev/null +++ b/docs/AlertConfiguration.md @@ -0,0 +1,30 @@ + + +# AlertConfiguration + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**alertAcknowledgment** | [**UpdateAlertConfigurationDataAttributesAlertAcknowledgment**](UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md) | | [optional] | +|**manualPagingFormSettings** | [**List<ManualPagingFormSettingsEnum>**](#List<ManualPagingFormSettingsEnum>) | Stored entity types for the manual paging form, as configured; at least one is required. The form itself may hide a type the team cannot use yet, such as functionality. | [optional] | +|**manualPagingUrgencyIds** | **List<UUID>** | Alert urgency ids allowed when manually paging. Empty means all; deleted urgencies are left out. Present and accepted only while the manual-page-urgency-allowlist feature is on for the team. | [optional] | +|**defaultUserNotificationSettings** | [**UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings**](UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md) | | [optional] | +|**createdAt** | **OffsetDateTime** | | [optional] | +|**updatedAt** | **OffsetDateTime** | | [optional] | + + + +## Enum: List<ManualPagingFormSettingsEnum> + +| Name | Value | +|---- | -----| +| USER | "user" | +| TEAM | "team" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| ESCALATION_POLICY | "escalation_policy" | + + + diff --git a/docs/AlertConfigurationApi.md b/docs/AlertConfigurationApi.md new file mode 100644 index 00000000..0038012d --- /dev/null +++ b/docs/AlertConfigurationApi.md @@ -0,0 +1,140 @@ +# AlertConfigurationApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**getAlertConfiguration**](AlertConfigurationApi.md#getAlertConfiguration) | **GET** /v1/alert_configuration | Retrieves the team's alert configuration | +| [**updateAlertConfiguration**](AlertConfigurationApi.md#updateAlertConfiguration) | **PUT** /v1/alert_configuration | Updates the team's alert configuration | + + + +# **getAlertConfiguration** +> AlertConfigurationResponse getAlertConfiguration() + +Retrieves the team's alert configuration + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.AlertConfigurationApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + AlertConfigurationApi apiInstance = new AlertConfigurationApi(defaultClient); + try { + AlertConfigurationResponse result = apiInstance.getAlertConfiguration(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertConfigurationApi#getAlertConfiguration"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**AlertConfigurationResponse**](AlertConfigurationResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | alert configuration found | - | +| **404** | team has no alert configuration | - | + + +# **updateAlertConfiguration** +> AlertConfigurationResponse updateAlertConfiguration(updateAlertConfiguration) + +Updates the team's alert configuration + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.AlertConfigurationApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + AlertConfigurationApi apiInstance = new AlertConfigurationApi(defaultClient); + UpdateAlertConfiguration updateAlertConfiguration = new UpdateAlertConfiguration(); // UpdateAlertConfiguration | + try { + AlertConfigurationResponse result = apiInstance.updateAlertConfiguration(updateAlertConfiguration); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertConfigurationApi#updateAlertConfiguration"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **updateAlertConfiguration** | [**UpdateAlertConfiguration**](UpdateAlertConfiguration.md)| | | + +### Return type + +[**AlertConfigurationResponse**](AlertConfigurationResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | alert configuration updated | - | +| **403** | an attribute's feature is not enabled for the team | - | +| **404** | team has no alert configuration | - | +| **422** | the settings are invalid | - | + diff --git a/docs/AlertConfigurationResponse.md b/docs/AlertConfigurationResponse.md new file mode 100644 index 00000000..ece1e86a --- /dev/null +++ b/docs/AlertConfigurationResponse.md @@ -0,0 +1,13 @@ + + +# AlertConfigurationResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**AlertConfigurationResponseData**](AlertConfigurationResponseData.md) | | | + + + diff --git a/docs/AlertConfigurationResponseData.md b/docs/AlertConfigurationResponseData.md new file mode 100644 index 00000000..6e52d219 --- /dev/null +++ b/docs/AlertConfigurationResponseData.md @@ -0,0 +1,23 @@ + + +# AlertConfigurationResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the alert_configuration | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**AlertConfiguration**](AlertConfiguration.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_CONFIGURATIONS | "alert_configurations" | + + + diff --git a/docs/AlertEvent.md b/docs/AlertEvent.md index 1da22445..23e0a37f 100644 --- a/docs/AlertEvent.md +++ b/docs/AlertEvent.md @@ -10,6 +10,9 @@ |**alertId** | **String** | ID of the alert this event belongs to. | | |**kind** | [**KindEnum**](#KindEnum) | | | |**action** | [**ActionEnum**](#ActionEnum) | | | +|**pageReason** | [**PageReasonEnum**](#PageReasonEnum) | Present on paged events when a user explicitly reassigns the alert to another notification target. | [optional] | +|**slackMessageTs** | **String** | Slack thread ts of the message Rootly posted for this event, when present. | [optional] | +|**slackMessagePermalink** | **String** | Permalink to the Slack message Rootly posted for this event, when present. | [optional] | |**source** | **String** | | | |**userId** | **Integer** | Author of the note. | [optional] | |**details** | **String** | Note message. | [optional] | @@ -54,6 +57,8 @@ | IGNORED_ALERT_REQUEST | "ignored_alert_request" | | CALL_LIFECYCLE | "call_lifecycle" | | LEVEL_SKIPPED | "level_skipped" | +| TEAM_ATTACHED_FROM_PAYLOAD | "team_attached_from_payload" | +| USER_PAGED | "user_paged" | | EMAILED | "emailed" | | SLACKED | "slacked" | | MS_TEAMS_MESSAGED | "ms_teams_messaged" | @@ -73,6 +78,7 @@ | ATTACHED | "attached" | | SNOOZED | "snoozed" | | RETRIGGER_SUPPRESSED | "retrigger_suppressed" | +| RETRIGGER_CANCELLED | "retrigger_cancelled" | | TRIGGERED | "triggered" | | OPEN | "open" | | UPDATED | "updated" | @@ -86,3 +92,11 @@ +## Enum: PageReasonEnum + +| Name | Value | +|---- | -----| +| MANUAL_REASSIGNMENT | "manual_reassignment" | + + + diff --git a/docs/AlertEventsApi.md b/docs/AlertEventsApi.md index bb3c57ed..b2f087fd 100644 --- a/docs/AlertEventsApi.md +++ b/docs/AlertEventsApi.md @@ -356,7 +356,7 @@ public class Example { | **pageAfter** | **String**| Cursor token from the previous response's `meta.next_cursor`. Pass the same `sort` value used to obtain the cursor. | [optional] | | **sort** | **String**| Sort by `created_at`. Defaults to `created_at` (oldest-first). Use `-created_at` for newest-first. | [optional] [enum: created_at, -created_at] | | **filterKind** | **String**| | [optional] [enum: informational, notification, action, status_update, recording, alert_grouping, alert_urgency, alert_routing, note, noise, maintenance, deferral] | -| **filterAction** | **String**| | [optional] [enum: created, escalation_policy_paged, ignored_alert_request, call_lifecycle, level_skipped, emailed, slacked, ms_teams_messaged, google_chat_messaged, called, texted, notified, skipped, opened, retriggered, ack_timeout_retriggered, answered, acknowledged, escalated, paged, resolved, attached, snoozed, retrigger_suppressed, triggered, open, updated, added, removed, marked, not_marked, cleared, muted, deferred] | +| **filterAction** | **String**| | [optional] [enum: created, escalation_policy_paged, ignored_alert_request, call_lifecycle, level_skipped, team_attached_from_payload, user_paged, emailed, slacked, ms_teams_messaged, google_chat_messaged, called, texted, notified, skipped, opened, retriggered, ack_timeout_retriggered, answered, acknowledged, escalated, paged, resolved, attached, snoozed, retrigger_suppressed, retrigger_cancelled, triggered, open, updated, added, removed, marked, not_marked, cleared, muted, deferred] | | **filterAlertId** | **String**| | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | diff --git a/docs/AlertField.md b/docs/AlertField.md index 9d61f0af..f9759222 100644 --- a/docs/AlertField.md +++ b/docs/AlertField.md @@ -7,11 +7,40 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**slug** | **String** | The slug of the alert field | [optional] [readonly] | -|**name** | **String** | The name of the alert field | | -|**kind** | **String** | The kind of alert field | | -|**createdAt** | **String** | Date of creation | | -|**updatedAt** | **String** | Date of last update | | +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**fieldableType** | **String** | The type of the fieldable (e.g., AlertField) | | +|**fieldableId** | **String** | The ID of the alert field | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How the alert field value should be matched | | +|**values** | **List<String>** | Values to match against | [optional] | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| FIELD | "field" | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "is" | +| IS_NOT | "is_not" | +| IS_ONE_OF | "is_one_of" | +| IS_NOT_ONE_OF | "is_not_one_of" | +| CONTAINS | "contains" | +| DOES_NOT_CONTAIN | "does_not_contain" | +| IS_EMPTY | "is_empty" | +| IS_NOT_EMPTY | "is_not_empty" | +| CONTAINS_KEY | "contains_key" | +| DOES_NOT_CONTAIN_KEY | "does_not_contain_key" | +| STARTS_WITH | "starts_with" | +| DOES_NOT_START_WITH | "does_not_start_with" | +| MATCHES | "matches" | +| DOES_NOT_MATCH | "does_not_match" | diff --git a/docs/AlertGroup.md b/docs/AlertGroup.md index 37b836b7..85be78e8 100644 --- a/docs/AlertGroup.md +++ b/docs/AlertGroup.md @@ -14,8 +14,9 @@ |**timeWindow** | **Integer** | Time window for the alert grouping | | |**groupByAlertTitle** | **Boolean** | [DEPRECATED] Whether the alerts are grouped by title or not. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. | [optional] | |**groupByAlertUrgency** | **Boolean** | [DEPRECATED] Whether the alerts are grouped by urgency or not. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. | [optional] | -|**targets** | [**List<NewAlertGroupDataAttributesTargetsInner>**](NewAlertGroupDataAttributesTargetsInner.md) | | [optional] | -|**attributes** | [**List<NewAlertGroupDataAttributesAttributesInner>**](NewAlertGroupDataAttributesAttributesInner.md) | This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. | [optional] | +|**ownerGroupIds** | **List<UUID>** | Teams that own this alert group. Admins of an owning team can manage it, and an owned alert group can only target destinations that belong to its owning teams. Only available when owning teams for alert groups are enabled for the organization. | [optional] | +|**targets** | [**List<AlertGroupTargetsInner>**](AlertGroupTargetsInner.md) | | [optional] | +|**attributes** | [**List<AlertGroupAttributesInner>**](AlertGroupAttributesInner.md) | This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. | [optional] | |**conditions** | [**List<AlertGroupConditionsInner>**](AlertGroupConditionsInner.md) | The conditions for the alert group | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/AlertGroupAttributesInner.md b/docs/AlertGroupAttributesInner.md new file mode 100644 index 00000000..d69e8675 --- /dev/null +++ b/docs/AlertGroupAttributesInner.md @@ -0,0 +1,13 @@ + + +# AlertGroupAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**jsonPath** | **String** | The JSON path to the value to group by. | [optional] | + + + diff --git a/docs/AlertGroupTargetsInner.md b/docs/AlertGroupTargetsInner.md new file mode 100644 index 00000000..79636fc2 --- /dev/null +++ b/docs/AlertGroupTargetsInner.md @@ -0,0 +1,25 @@ + + +# AlertGroupTargetsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. | | +|**targetId** | **UUID** | id for the Group, Service, EscalationPolicy or Functionality | | + + + +## Enum: TargetTypeEnum + +| Name | Value | +|---- | -----| +| GROUP | "Group" | +| SERVICE | "Service" | +| ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | + + + diff --git a/docs/AlertLabelsInner.md b/docs/AlertLabelsInner.md new file mode 100644 index 00000000..51b5fe55 --- /dev/null +++ b/docs/AlertLabelsInner.md @@ -0,0 +1,14 @@ + + +# AlertLabelsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**key** | **String** | Key of the tag | | +|**value** | [**NewAlertDataAttributesLabelsInnerValue**](NewAlertDataAttributesLabelsInnerValue.md) | | | + + + diff --git a/docs/AlertRoute.md b/docs/AlertRoute.md index 4e08606f..3157a27a 100644 --- a/docs/AlertRoute.md +++ b/docs/AlertRoute.md @@ -11,7 +11,7 @@ |**enabled** | **Boolean** | Whether the alert route is enabled | [optional] | |**alertsSourceIds** | **List<UUID>** | | | |**owningTeamIds** | **List<UUID>** | | [optional] | -|**rules** | [**List<NewAlertRouteDataAttributesRulesInner>**](NewAlertRouteDataAttributesRulesInner.md) | | [optional] | +|**rules** | [**List<AlertRouteRulesInner>**](AlertRouteRulesInner.md) | | [optional] | diff --git a/docs/AlertRouteRulesInner.md b/docs/AlertRouteRulesInner.md new file mode 100644 index 00000000..8c781d0e --- /dev/null +++ b/docs/AlertRouteRulesInner.md @@ -0,0 +1,17 @@ + + +# AlertRouteRulesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert routing rule | | +|**position** | **Integer** | The position of the alert routing rule for ordering evaluation | [optional] | +|**fallbackRule** | **Boolean** | Whether this is a fallback rule | [optional] | +|**destinations** | [**List<AlertRouteRulesInnerDestinationsInner>**](AlertRouteRulesInnerDestinationsInner.md) | | | +|**conditionGroups** | [**List<AlertRouteRulesInnerConditionGroupsInner>**](AlertRouteRulesInnerConditionGroupsInner.md) | | | + + + diff --git a/docs/AlertRouteRulesInnerConditionGroupsInner.md b/docs/AlertRouteRulesInnerConditionGroupsInner.md new file mode 100644 index 00000000..52268359 --- /dev/null +++ b/docs/AlertRouteRulesInnerConditionGroupsInner.md @@ -0,0 +1,14 @@ + + +# AlertRouteRulesInnerConditionGroupsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**position** | **Integer** | The position of the condition group | [optional] | +|**conditions** | [**List<AlertRouteRulesInnerConditionGroupsInnerConditionsInner>**](AlertRouteRulesInnerConditionGroupsInnerConditionsInner.md) | | | + + + diff --git a/docs/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.md b/docs/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.md new file mode 100644 index 00000000..4788ef51 --- /dev/null +++ b/docs/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.md @@ -0,0 +1,53 @@ + + +# AlertRouteRulesInnerConditionGroupsInnerConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | | | +|**propertyFieldName** | **String** | The name of the property field | | +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | | | +|**propertyFieldValue** | **String** | The value of the property field | | +|**propertyFieldValues** | **List<String>** | | | +|**alertUrgencyIds** | **List<String>** | The Alert Urgency IDs to check in the condition | | +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of the conditionable | | +|**conditionableId** | **UUID** | The ID of the conditionable | | + + + +## Enum: PropertyFieldConditionTypeEnum + +| Name | Value | +|---- | -----| +| IS_ONE_OF | "is_one_of" | +| IS_NOT_ONE_OF | "is_not_one_of" | +| CONTAINS | "contains" | +| DOES_NOT_CONTAIN | "does_not_contain" | +| STARTS_WITH | "starts_with" | +| ENDS_WITH | "ends_with" | +| MATCHES_REGEX | "matches_regex" | +| IS_EMPTY | "is_empty" | + + + +## Enum: PropertyFieldTypeEnum + +| Name | Value | +|---- | -----| +| ATTRIBUTE | "attribute" | +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + diff --git a/docs/AlertRouteRulesInnerDestinationsInner.md b/docs/AlertRouteRulesInnerDestinationsInner.md new file mode 100644 index 00000000..30763a0f --- /dev/null +++ b/docs/AlertRouteRulesInnerDestinationsInner.md @@ -0,0 +1,25 @@ + + +# AlertRouteRulesInnerDestinationsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. | | +|**targetId** | **UUID** | The ID of the target | | + + + +## Enum: TargetTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "Service" | +| GROUP | "Group" | +| FUNCTIONALITY | "Functionality" | +| ESCALATION_POLICY | "EscalationPolicy" | + + + diff --git a/docs/AlertRoutesApi.md b/docs/AlertRoutesApi.md index 23dc6291..05dfe71c 100644 --- a/docs/AlertRoutesApi.md +++ b/docs/AlertRoutesApi.md @@ -18,7 +18,7 @@ All URIs are relative to *https://api.rootly.com* Creates an alert route -Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. +Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and for an update it includes the rules already on the route, not just those in the payload. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. ### Example ```java @@ -390,7 +390,7 @@ public class Example { Update an alert route -Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. +Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and includes the rules already on the route, not just those in the payload, so a small payload against a large route may still be processed asynchronously. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. ### Example ```java diff --git a/docs/AlertSlackNotificationsInner.md b/docs/AlertSlackNotificationsInner.md new file mode 100644 index 00000000..8b27fa6b --- /dev/null +++ b/docs/AlertSlackNotificationsInner.md @@ -0,0 +1,14 @@ + + +# AlertSlackNotificationsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**channelId** | **String** | Slack channel ID | | +|**threadTs** | **String** | Slack ts of the root announcement message | | + + + diff --git a/docs/AlertSource.md b/docs/AlertSource.md new file mode 100644 index 00000000..c3729d28 --- /dev/null +++ b/docs/AlertSource.md @@ -0,0 +1,34 @@ + + +# AlertSource + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How the alert source should be matched | | +|**values** | **List<String>** | Alert source values to match against (e.g., manual, datadog) | | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| SOURCE | "source" | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "is" | +| IS_NOT | "is_not" | +| IS_ONE_OF | "is_one_of" | +| IS_NOT_ONE_OF | "is_not_one_of" | + + + diff --git a/docs/AlertSourcesApi.md b/docs/AlertSourcesApi.md index 783ac5d1..bd9517a0 100644 --- a/docs/AlertSourcesApi.md +++ b/docs/AlertSourcesApi.md @@ -366,6 +366,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | preserves existing alert source field ids | - | | **404** | resource not found | - | +| **422** | built-in alert fields cannot be unbound | - | +| **200** | preserves existing alert source field ids | - | diff --git a/docs/AlertUrgency.md b/docs/AlertUrgency.md index 99d11961..a02a0e3b 100644 --- a/docs/AlertUrgency.md +++ b/docs/AlertUrgency.md @@ -7,17 +7,28 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**id** | **String** | Unique ID of the alert urgency | [optional] | -|**name** | **String** | The name of the alert urgency | | -|**description** | **String** | The description of the alert urgency | | -|**position** | **Integer** | Position of the alert urgency | | -|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, negative = never. | [optional] | -|**urgency** | **String** | The urgency level | [optional] | -|**color** | **String** | The color associated with this urgency level | [optional] | -|**teamId** | **Integer** | The ID of the team this urgency belongs to | [optional] | -|**deletedAt** | **String** | Date of deletion | [optional] | -|**createdAt** | **String** | Date of creation | | -|**updatedAt** | **String** | Date of last update | | +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**urgencyIds** | **List<String>** | Alert urgency ids for which this escalation path should be used | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How the alert's urgency should be matched. is and is_not take exactly one id | [optional] | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_URGENCY | "alert_urgency" | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "is" | +| IS_NOT | "is_not" | +| IS_ONE_OF | "is_one_of" | +| IS_NOT_ONE_OF | "is_not_one_of" | diff --git a/docs/AlertsApi.md b/docs/AlertsApi.md index c7ca0d0e..4a5f6112 100644 --- a/docs/AlertsApi.md +++ b/docs/AlertsApi.md @@ -19,7 +19,7 @@ All URIs are relative to *https://api.rootly.com* # **acknowledgeAlert** -> AlertResponse acknowledgeAlert(id) +> AlertResponse acknowledgeAlert(id, acknowledgeAlert) Acknowledges an alert @@ -46,8 +46,9 @@ public class Example { AlertsApi apiInstance = new AlertsApi(defaultClient); String id = "id_example"; // String | + AcknowledgeAlert acknowledgeAlert = new AcknowledgeAlert(); // AcknowledgeAlert | try { - AlertResponse result = apiInstance.acknowledgeAlert(id); + AlertResponse result = apiInstance.acknowledgeAlert(id, acknowledgeAlert); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling AlertsApi#acknowledgeAlert"); @@ -65,6 +66,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **id** | **String**| | | +| **acknowledgeAlert** | [**AcknowledgeAlert**](AcknowledgeAlert.md)| | [optional] | ### Return type @@ -76,13 +78,15 @@ public class Example { ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/vnd.api+json - **Accept**: application/vnd.api+json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | alert acknowledged | - | +| **403** | actor not supported for this API key | - | +| **422** | actor could not be resolved | - | | **404** | resource not found | - | | **400** | cannot acknowledge open alert | - | diff --git a/docs/AlertsSource.md b/docs/AlertsSource.md index 33b9621d..e8d639ec 100644 --- a/docs/AlertsSource.md +++ b/docs/AlertsSource.md @@ -16,11 +16,11 @@ |**deduplicationKeyPath** | **String** | Path to deduplication key. This is a JSON Path to extract the deduplication key from the request body. | [optional] | |**deduplicationKeyRegexp** | **String** | Regular expression to extract key from value found at key path. | [optional] | |**ownerGroupIds** | **List<String>** | List of team IDs that will own the alert source | [optional] | -|**alertTemplateAttributes** | [**NewAlertsSourceDataAttributesAlertTemplateAttributes**](NewAlertsSourceDataAttributesAlertTemplateAttributes.md) | | [optional] | -|**alertSourceUrgencyRulesAttributes** | [**List<NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner>**](NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md) | List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload | [optional] | +|**alertTemplateAttributes** | [**AlertsSourceAlertTemplateAttributes**](AlertsSourceAlertTemplateAttributes.md) | | [optional] | +|**alertSourceUrgencyRulesAttributes** | [**List<AlertsSourceAlertSourceUrgencyRulesAttributesInner>**](AlertsSourceAlertSourceUrgencyRulesAttributesInner.md) | List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload | [optional] | |**sourceableAttributes** | [**AlertsSourceSourceableAttributes**](AlertsSourceSourceableAttributes.md) | | [optional] | -|**resolutionRuleAttributes** | [**NewAlertsSourceDataAttributesResolutionRuleAttributes**](NewAlertsSourceDataAttributesResolutionRuleAttributes.md) | | [optional] | -|**alertSourceFieldsAttributes** | [**List<NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner>**](NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md) | List of alert fields to be added to the alert source. Note: This attribute requires the alert field feature to be enabled on your account. Contact Rootly customer support if you need assistance with this feature. | [optional] | +|**resolutionRuleAttributes** | [**AlertsSourceResolutionRuleAttributes**](AlertsSourceResolutionRuleAttributes.md) | | [optional] | +|**alertSourceFieldsAttributes** | [**List<AlertsSourceAlertSourceFieldsAttributesInner>**](AlertsSourceAlertSourceFieldsAttributesInner.md) | List of alert fields to be added to the alert source. Note: This attribute requires the alert field feature to be enabled on your account. Contact Rootly customer support if you need assistance with this feature. | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | The status of the alert source | | |**secret** | **String** | The secret used to authenticate non-email alert sources | | |**email** | **String** | The email generated for email alert sources | [optional] | diff --git a/docs/AlertsSourceAlertSourceFieldsAttributesInner.md b/docs/AlertsSourceAlertSourceFieldsAttributesInner.md new file mode 100644 index 00000000..f85b1f4a --- /dev/null +++ b/docs/AlertsSourceAlertSourceFieldsAttributesInner.md @@ -0,0 +1,14 @@ + + +# AlertsSourceAlertSourceFieldsAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**alertFieldId** | **String** | The ID of the alert field | [optional] | +|**templateBody** | **String** | Liquid expression to extract a specific value from the alert's payload for evaluation | [optional] | + + + diff --git a/docs/AlertsSourceAlertSourceUrgencyRulesAttributesInner.md b/docs/AlertsSourceAlertSourceUrgencyRulesAttributesInner.md new file mode 100644 index 00000000..927134eb --- /dev/null +++ b/docs/AlertsSourceAlertSourceUrgencyRulesAttributesInner.md @@ -0,0 +1,47 @@ + + +# AlertsSourceAlertSourceUrgencyRulesAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**jsonPath** | **String** | JSON path expression to extract a specific value from the alert's payload for evaluation | [optional] | +|**operator** | [**OperatorEnum**](#OperatorEnum) | Comparison operator used to evaluate the extracted value against the specified condition | [optional] | +|**value** | **String** | Value that the extracted payload data is compared to using the specified operator to determine a match | [optional] | +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of the conditionable | [optional] | +|**conditionableId** | **String** | The ID of the conditionable. If conditionable_type is AlertField, this is the ID of the alert field. | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | The kind of the conditionable | [optional] | +|**alertUrgencyId** | **String** | The ID of the alert urgency | [optional] | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "is" | +| IS_NOT | "is_not" | +| CONTAINS | "contains" | +| DOES_NOT_CONTAIN | "does_not_contain" | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/AlertsSourceAlertTemplateAttributes.md b/docs/AlertsSourceAlertTemplateAttributes.md new file mode 100644 index 00000000..e99cefa9 --- /dev/null +++ b/docs/AlertsSourceAlertTemplateAttributes.md @@ -0,0 +1,15 @@ + + +# AlertsSourceAlertTemplateAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**title** | **String** | The alert title. | [optional] | +|**description** | **String** | The alert description. | [optional] | +|**externalUrl** | **String** | The alert URL. | [optional] | + + + diff --git a/docs/AlertsSourceResolutionRuleAttributes.md b/docs/AlertsSourceResolutionRuleAttributes.md new file mode 100644 index 00000000..5090b25f --- /dev/null +++ b/docs/AlertsSourceResolutionRuleAttributes.md @@ -0,0 +1,47 @@ + + +# AlertsSourceResolutionRuleAttributes + +Provide additional attributes for email alerts source + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**enabled** | **Boolean** | Set this to true to enable the auto resolution rule | [optional] | +|**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | The type of condition to evaluate to apply auto resolution rule | [optional] | +|**identifierMatchableType** | [**IdentifierMatchableTypeEnum**](#IdentifierMatchableTypeEnum) | The type of the identifier matchable | [optional] | +|**identifierMatchableId** | **String** | The ID of the identifier matchable. If identifier_matchable_type is AlertField, this is the ID of the alert field. | [optional] | +|**identifierReferenceKind** | [**IdentifierReferenceKindEnum**](#IdentifierReferenceKindEnum) | The kind of the identifier reference | [optional] | +|**identifierJsonPath** | **String** | JSON path expression to extract unique alert identifier used to match triggered alerts with resolving alerts | [optional] | +|**identifierValueRegex** | **String** | Regex group to further specify the part of the string used as a unique identifier | [optional] | +|**conditionsAttributes** | [**List<AlertsSourceResolutionRuleAttributesConditionsAttributesInner>**](AlertsSourceResolutionRuleAttributesConditionsAttributesInner.md) | List of conditions to evaluate for auto resolution | [optional] | + + + +## Enum: ConditionTypeEnum + +| Name | Value | +|---- | -----| +| ALL | "all" | +| ANY | "any" | + + + +## Enum: IdentifierMatchableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + +## Enum: IdentifierReferenceKindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.md b/docs/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.md new file mode 100644 index 00000000..a4074977 --- /dev/null +++ b/docs/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.md @@ -0,0 +1,48 @@ + + +# AlertsSourceResolutionRuleAttributesConditionsAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**field** | **String** | JSON path expression to extract a specific value from the alert's payload for evaluation | [optional] | +|**operator** | [**OperatorEnum**](#OperatorEnum) | Comparison operator used to evaluate the extracted value against the specified condition | [optional] | +|**value** | **String** | Value that the extracted payload data is compared to using the specified operator to determine a match | [optional] | +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of the conditionable | [optional] | +|**conditionableId** | **String** | The ID of the conditionable. If conditionable_type is AlertField, this is the ID of the alert field. | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | The kind of the conditionable | [optional] | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "is" | +| IS_NOT | "is_not" | +| CONTAINS | "contains" | +| DOES_NOT_CONTAIN | "does_not_contain" | +| STARTS_WITH | "starts_with" | +| ENDS_WITH | "ends_with" | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/AlertsSourceSourceableAttributes.md b/docs/AlertsSourceSourceableAttributes.md index 4e640bad..6147b1ed 100644 --- a/docs/AlertsSourceSourceableAttributes.md +++ b/docs/AlertsSourceSourceableAttributes.md @@ -2,7 +2,7 @@ # AlertsSourceSourceableAttributes -Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails` applies to email sources. +Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails`, `notification_target_type` and `notification_target_id` apply to email sources. ## Properties @@ -12,7 +12,21 @@ Provide additional attributes for the underlying source. `auto_resolve`, `resolv |**autoResolve** | **Boolean** | Set this to true to auto-resolve alerts based on field_mappings_attributes conditions | [optional] | |**resolveState** | **String** | This value is matched with the value extracted from alerts payload using JSON path in field_mappings_attributes | [optional] | |**acceptThreadedEmails** | **Boolean** | Set this to false to reject threaded emails | [optional] | -|**fieldMappingsAttributes** | [**List<NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner>**](NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md) | Specify rules to auto resolve alerts | [optional] | +|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | Email sources only. The type of the notification target every alert from this source pages directly; While it points to an active, pageable target, Alert Routes are not evaluated. Only used when the `email-alert-source-notification-target` feature flag is on for the team. | [optional] | +|**notificationTargetId** | **String** | Email sources only. The ID of the notification target. Set to null to clear it; this also clears `notification_target_type`. Only used when the `email-alert-source-notification-target` feature flag is on for the team. | [optional] | +|**fieldMappingsAttributes** | [**List<AlertsSourceSourceableAttributesFieldMappingsAttributesInner>**](AlertsSourceSourceableAttributesFieldMappingsAttributesInner.md) | Specify rules to auto resolve alerts | [optional] | + + + +## Enum: NotificationTargetTypeEnum + +| Name | Value | +|---- | -----| +| ESCALATION_POLICY | "EscalationPolicy" | +| GROUP | "Group" | +| SERVICE | "Service" | +| FUNCTIONALITY | "Functionality" | +| USER | "User" | diff --git a/docs/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.md b/docs/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.md new file mode 100644 index 00000000..8152cd82 --- /dev/null +++ b/docs/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.md @@ -0,0 +1,28 @@ + + +# AlertsSourceSourceableAttributesFieldMappingsAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**field** | [**FieldEnum**](#FieldEnum) | Select the field on which the condition to be evaluated | [optional] | +|**jsonPath** | **String** | JSON path expression to extract a specific value from the alert's payload for evaluation. For `notification_target_id` only: if your account has opted in to Dynamic Notification Targets, this may also be a Liquid template that resolves to a notification target id at routing time. | [optional] | + + + +## Enum: FieldEnum + +| Name | Value | +|---- | -----| +| EXTERNAL_ID | "external_id" | +| STATE | "state" | +| ALERT_TITLE | "alert_title" | +| ALERT_DESCRIPTION | "alert_description" | +| ALERT_EXTERNAL_URL | "alert_external_url" | +| NOTIFICATION_TARGET_TYPE | "notification_target_type" | +| NOTIFICATION_TARGET_ID | "notification_target_id" | + + + diff --git a/docs/ApiKey.md b/docs/ApiKey.md index 5f9ce7f5..39b4a777 100644 --- a/docs/ApiKey.md +++ b/docs/ApiKey.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the API key | | |**description** | **String** | A description of the API key | [optional] | |**kind** | [**KindEnum**](#KindEnum) | The kind of the API key | | +|**groupId** | **String** | The group (team) ID for team API keys. Keys created via the API have exactly one group; for keys with multiple groups this is the first group. | [optional] | |**roleId** | **String** | The role ID | [optional] | |**onCallRoleId** | **String** | The on-call role ID | [optional] | |**createdAt** | **String** | Date of creation | | diff --git a/docs/ApiKeyWithTokenResponseDataAttributes.md b/docs/ApiKeyWithTokenResponseDataAttributes.md index 796c1914..833bc85e 100644 --- a/docs/ApiKeyWithTokenResponseDataAttributes.md +++ b/docs/ApiKeyWithTokenResponseDataAttributes.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the API key | | |**description** | **String** | A description of the API key | [optional] | |**kind** | [**KindEnum**](#KindEnum) | The kind of the API key | | +|**groupId** | **String** | The group (team) ID for team API keys. Keys created via the API have exactly one group; for keys with multiple groups this is the first group. | [optional] | |**roleId** | **String** | The role ID | [optional] | |**onCallRoleId** | **String** | The on-call role ID | [optional] | |**createdAt** | **String** | Date of creation | | diff --git a/docs/ArchiveSlackChannelsTaskParams.md b/docs/ArchiveSlackChannelsTaskParams.md index 7ef56371..b3791c95 100644 --- a/docs/ArchiveSlackChannelsTaskParams.md +++ b/docs/ArchiveSlackChannelsTaskParams.md @@ -9,6 +9,8 @@ |------------ | ------------- | ------------- | -------------| |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | |**channels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/Audit.md b/docs/Audit.md index dbf11aeb..c0f3568c 100644 --- a/docs/Audit.md +++ b/docs/Audit.md @@ -7,7 +7,8 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**event** | **String** | Describes the action that was taken. | | +|**event** | **String** | The raw stored action that was taken. Rows written before IR-6875 may carry a trailing `!` for status transitions (e.g. `mark_as_resolved!`); prefer `event_display` for presentation. | | +|**eventDisplay** | **String** | Human-friendly display name for the action, normalized so a status change reads the same regardless of the surface it came from | [optional] | |**itemType** | [**ItemTypeEnum**](#ItemTypeEnum) | Describes the object in which the action was taken on | [optional] | |**itemTypeDisplay** | **String** | Human-friendly display name for the item type | [optional] | |**_object** | **Object** | The object in which the action was taken on | [optional] | @@ -33,6 +34,7 @@ | ALERT_ROUTING_RULE | "AlertRoutingRule" | | ALERTS_SOURCE | "Alerts::Source" | | API_KEY | "ApiKey" | +| BROWSER_IP_POLICY | "BrowserIpPolicy" | | CATALOG | "Catalog" | | CATALOG_ENTITY | "CatalogEntity" | | CATALOG_ENTITY_PROPERTY | "CatalogEntityProperty" | @@ -84,6 +86,7 @@ | LIVE_CALL_ROUTER | "LiveCallRouter" | | LOGIN_ACTIVITY | "LoginActivity" | | MEMBERSHIP | "Membership" | +| OAUTH_APPLICATION | "OauthApplication" | | ON_CALL_ROLE | "OnCallRole" | | PLAYBOOK | "Playbook" | | PLAYBOOK_TASK | "PlaybookTask" | diff --git a/docs/BulkUpsertTeamsEntitiesInner.md b/docs/BulkUpsertTeamsEntitiesInner.md index 3e4c6fd0..ed6867af 100644 --- a/docs/BulkUpsertTeamsEntitiesInner.md +++ b/docs/BulkUpsertTeamsEntitiesInner.md @@ -11,6 +11,7 @@ |**name** | **String** | Required for new records. Optional for updates. | [optional] | |**description** | **String** | | [optional] | |**publicDescription** | **String** | | [optional] | +|**scheduleOverridePolicy** | [**ScheduleOverridePolicyEnum**](#ScheduleOverridePolicyEnum) | Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. | [optional] | |**color** | **String** | | [optional] | |**position** | **Integer** | | [optional] | |**notifyEmails** | **List<String>** | | [optional] | @@ -28,3 +29,13 @@ +## Enum: ScheduleOverridePolicyEnum + +| Name | Value | +|---- | -----| +| EVERYONE | "everyone" | +| MEMBERS | "members" | +| ADMINS | "admins" | + + + diff --git a/docs/CancelIncidentData.md b/docs/CancelIncidentData.md index 78fcaabe..79c390df 100644 --- a/docs/CancelIncidentData.md +++ b/docs/CancelIncidentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**CancelIncidentDataAttributes**](CancelIncidentDataAttributes.md) | | | diff --git a/docs/CatalogEntitiesApi.md b/docs/CatalogEntitiesApi.md index 6fdb2501..8305827b 100644 --- a/docs/CatalogEntitiesApi.md +++ b/docs/CatalogEntitiesApi.md @@ -439,7 +439,7 @@ public class Example { |------------- | ------------- | ------------- | -------------| | **catalogId** | **String**| | | | **include** | **String**| comma separated if needed. eg: catalog,properties | [optional] [enum: catalog, properties] | -| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position, name, -name] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | | **filterSearch** | **String**| | [optional] | diff --git a/docs/ChangeSlackChannelPrivacyTaskParams.md b/docs/ChangeSlackChannelPrivacyTaskParams.md index d88ce2c7..39218ad7 100644 --- a/docs/ChangeSlackChannelPrivacyTaskParams.md +++ b/docs/ChangeSlackChannelPrivacyTaskParams.md @@ -10,6 +10,8 @@ |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | |**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**privacy** | [**PrivacyEnum**](#PrivacyEnum) | | | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/CommunicationsGroup.md b/docs/CommunicationsGroup.md index 2d77493d..bad4fbf3 100644 --- a/docs/CommunicationsGroup.md +++ b/docs/CommunicationsGroup.md @@ -17,7 +17,7 @@ |**emailChannel** | **Boolean** | Email channel enabled | | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | -|**communicationGroupConditions** | [**List<NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner>**](NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md) | Group conditions attributes | [optional] | +|**communicationGroupConditions** | [**List<CommunicationsGroupCommunicationGroupConditionsInner>**](CommunicationsGroupCommunicationGroupConditionsInner.md) | Group conditions attributes | [optional] | |**memberIds** | **List<Integer>** | Array of member user IDs | [optional] | |**slackChannelIds** | **List<String>** | Array of Slack channel IDs | [optional] | |**communicationExternalGroupMembers** | [**List<CommunicationsGroupCommunicationExternalGroupMembersInner>**](CommunicationsGroupCommunicationExternalGroupMembersInner.md) | External group members | [optional] | diff --git a/docs/CommunicationsGroupCommunicationGroupConditionsInner.md b/docs/CommunicationsGroupCommunicationGroupConditionsInner.md new file mode 100644 index 00000000..af88841e --- /dev/null +++ b/docs/CommunicationsGroupCommunicationGroupConditionsInner.md @@ -0,0 +1,30 @@ + + +# CommunicationsGroupCommunicationGroupConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**propertyType** | [**PropertyTypeEnum**](#PropertyTypeEnum) | Property type | [optional] | +|**serviceIds** | **List<String>** | Array of service IDs | [optional] | +|**severityIds** | **List<String>** | Array of severity IDs | [optional] | +|**functionalityIds** | **List<String>** | Array of functionality IDs | [optional] | +|**groupIds** | **List<String>** | Array of group IDs | [optional] | +|**incidentTypeIds** | **List<String>** | Array of incident type IDs | [optional] | + + + +## Enum: PropertyTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "service" | +| SEVERITY | "severity" | +| FUNCTIONALITY | "functionality" | +| GROUP | "group" | +| INCIDENT_TYPE | "incident_type" | + + + diff --git a/docs/CreateEdgeConnectorRequestDataAttributes.md b/docs/CreateEdgeConnectorRequestDataAttributes.md index f151d950..7b5fc1b4 100644 --- a/docs/CreateEdgeConnectorRequestDataAttributes.md +++ b/docs/CreateEdgeConnectorRequestDataAttributes.md @@ -11,6 +11,7 @@ |**description** | **String** | Connector description | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | Connector status | [optional] | |**subscriptions** | **List<String>** | Array of event types to subscribe to | [optional] | +|**ownerGroupIds** | **List<UUID>** | IDs of the teams (groups) that own this connector | [optional] | |**filters** | [**CreateEdgeConnectorRequestDataAttributesFilters**](CreateEdgeConnectorRequestDataAttributesFilters.md) | | [optional] | diff --git a/docs/CreateGoogleMeetingTaskParams.md b/docs/CreateGoogleMeetingTaskParams.md index bf121a11..8eff4cb3 100644 --- a/docs/CreateGoogleMeetingTaskParams.md +++ b/docs/CreateGoogleMeetingTaskParams.md @@ -15,6 +15,8 @@ |**recordingMode** | [**RecordingModeEnum**](#RecordingModeEnum) | The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) | [optional] | |**postToIncidentTimeline** | **Boolean** | | [optional] | |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/CreateSlackCanvasTaskParams.md b/docs/CreateSlackCanvasTaskParams.md new file mode 100644 index 00000000..b8dd0ecc --- /dev/null +++ b/docs/CreateSlackCanvasTaskParams.md @@ -0,0 +1,27 @@ + + +# CreateSlackCanvasTaskParams + +Create a canvas in a Slack channel, preserving an existing canvas. The connected Slack app must have Canvas permissions. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**channel** | [**CreateSlackCanvasTaskParamsChannel**](CreateSlackCanvasTaskParamsChannel.md) | | | +|**title** | **String** | The canvas title. Supports Liquid variables. | | +|**content** | **String** | The initial canvas content in Markdown. Supports Liquid variables. An existing channel canvas is preserved. | | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_SLACK_CANVAS | "create_slack_canvas" | + + + diff --git a/docs/CreateSlackCanvasTaskParamsChannel.md b/docs/CreateSlackCanvasTaskParamsChannel.md new file mode 100644 index 00000000..9ad45304 --- /dev/null +++ b/docs/CreateSlackCanvasTaskParamsChannel.md @@ -0,0 +1,15 @@ + + +# CreateSlackCanvasTaskParamsChannel + +Slack channel containing the canvas. Channel IDs support Liquid variables. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID. | | +|**name** | **String** | Channel display name. | | + + + diff --git a/docs/CreateSlackChannelTaskParams.md b/docs/CreateSlackChannelTaskParams.md index 53854f78..f3a5a2aa 100644 --- a/docs/CreateSlackChannelTaskParams.md +++ b/docs/CreateSlackChannelTaskParams.md @@ -11,6 +11,8 @@ |**workspace** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**title** | **String** | Slack channel title | | |**_private** | [**PrivateEnum**](#PrivateEnum) | | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/CreateZoomMeetingTaskParams.md b/docs/CreateZoomMeetingTaskParams.md index 24a9b7e0..4a3ef098 100644 --- a/docs/CreateZoomMeetingTaskParams.md +++ b/docs/CreateZoomMeetingTaskParams.md @@ -18,6 +18,8 @@ |**enableZoomBotAutoJoin** | **Boolean** | Allow the Rootly bot to start recording without waiting for host approval | [optional] | |**postToIncidentTimeline** | **Boolean** | | [optional] | |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/DashboardPanelsApi.md b/docs/DashboardPanelsApi.md index 5e066369..24b6a4ac 100644 --- a/docs/DashboardPanelsApi.md +++ b/docs/DashboardPanelsApi.md @@ -80,6 +80,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **201** | dashboard panel created | - | +| **422** | rejects a group_by on a field that cannot be grouped | - | | **401** | responds with unauthorized for invalid token | - | diff --git a/docs/DeferralWindow.md b/docs/DeferralWindow.md new file mode 100644 index 00000000..ff4b3bdf --- /dev/null +++ b/docs/DeferralWindow.md @@ -0,0 +1,337 @@ + + +# DeferralWindow + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**timeZone** | [**TimeZoneEnum**](#TimeZoneEnum) | Time zone for the deferral window | | +|**timeBlocks** | [**List<DeferralWindowTimeBlocksInner>**](DeferralWindowTimeBlocksInner.md) | Time windows during which alerts are deferred | | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| DEFERRAL_WINDOW | "deferral_window" | + + + +## Enum: TimeZoneEnum + +| Name | Value | +|---- | -----| +| INTERNATIONAL_DATE_LINE_WEST | "International Date Line West" | +| ETC_GMT_12 | "Etc/GMT+12" | +| AMERICAN_SAMOA | "American Samoa" | +| PACIFIC_PAGO_PAGO | "Pacific/Pago_Pago" | +| MIDWAY_ISLAND | "Midway Island" | +| PACIFIC_MIDWAY | "Pacific/Midway" | +| HAWAII | "Hawaii" | +| PACIFIC_HONOLULU | "Pacific/Honolulu" | +| ALASKA | "Alaska" | +| AMERICA_JUNEAU | "America/Juneau" | +| PACIFIC_TIME_US_CANADA_ | "Pacific Time (US & Canada)" | +| AMERICA_LOS_ANGELES | "America/Los_Angeles" | +| TIJUANA | "Tijuana" | +| AMERICA_TIJUANA | "America/Tijuana" | +| ARIZONA | "Arizona" | +| AMERICA_PHOENIX | "America/Phoenix" | +| MAZATLAN | "Mazatlan" | +| AMERICA_MAZATLAN | "America/Mazatlan" | +| MOUNTAIN_TIME_US_CANADA_ | "Mountain Time (US & Canada)" | +| AMERICA_DENVER | "America/Denver" | +| CENTRAL_AMERICA | "Central America" | +| AMERICA_GUATEMALA | "America/Guatemala" | +| CENTRAL_TIME_US_CANADA_ | "Central Time (US & Canada)" | +| AMERICA_CHICAGO | "America/Chicago" | +| CHIHUAHUA | "Chihuahua" | +| AMERICA_CHIHUAHUA | "America/Chihuahua" | +| GUADALAJARA | "Guadalajara" | +| AMERICA_MEXICO_CITY | "America/Mexico_City" | +| MEXICO_CITY | "Mexico City" | +| MONTERREY | "Monterrey" | +| AMERICA_MONTERREY | "America/Monterrey" | +| SASKATCHEWAN | "Saskatchewan" | +| AMERICA_REGINA | "America/Regina" | +| BOGOTA | "Bogota" | +| AMERICA_BOGOTA | "America/Bogota" | +| EASTERN_TIME_US_CANADA_ | "Eastern Time (US & Canada)" | +| AMERICA_NEW_YORK | "America/New_York" | +| INDIANA_EAST_ | "Indiana (East)" | +| AMERICA_INDIANA_INDIANAPOLIS | "America/Indiana/Indianapolis" | +| LIMA | "Lima" | +| AMERICA_LIMA | "America/Lima" | +| QUITO | "Quito" | +| ATLANTIC_TIME_CANADA_ | "Atlantic Time (Canada)" | +| AMERICA_HALIFAX | "America/Halifax" | +| CARACAS | "Caracas" | +| AMERICA_CARACAS | "America/Caracas" | +| GEORGETOWN | "Georgetown" | +| AMERICA_GUYANA | "America/Guyana" | +| LA_PAZ | "La Paz" | +| AMERICA_LA_PAZ | "America/La_Paz" | +| PUERTO_RICO | "Puerto Rico" | +| AMERICA_PUERTO_RICO | "America/Puerto_Rico" | +| SANTIAGO | "Santiago" | +| AMERICA_SANTIAGO | "America/Santiago" | +| NEWFOUNDLAND | "Newfoundland" | +| AMERICA_ST_JOHNS | "America/St_Johns" | +| ASUNCION | "Asuncion" | +| AMERICA_ASUNCION | "America/Asuncion" | +| BRASILIA | "Brasilia" | +| AMERICA_SAO_PAULO | "America/Sao_Paulo" | +| BUENOS_AIRES | "Buenos Aires" | +| AMERICA_ARGENTINA_BUENOS_AIRES | "America/Argentina/Buenos_Aires" | +| MONTEVIDEO | "Montevideo" | +| AMERICA_MONTEVIDEO | "America/Montevideo" | +| GREENLAND | "Greenland" | +| AMERICA_NUUK | "America/Nuuk" | +| MID_ATLANTIC | "Mid-Atlantic" | +| ATLANTIC_SOUTH_GEORGIA | "Atlantic/South_Georgia" | +| AZORES | "Azores" | +| ATLANTIC_AZORES | "Atlantic/Azores" | +| CAPE_VERDE_IS_ | "Cape Verde Is." | +| ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| MONROVIA | "Monrovia" | +| AFRICA_MONROVIA | "Africa/Monrovia" | +| UTC | "UTC" | +| ETC_UTC | "Etc/UTC" | +| AMSTERDAM | "Amsterdam" | +| EUROPE_AMSTERDAM | "Europe/Amsterdam" | +| BELGRADE | "Belgrade" | +| EUROPE_BELGRADE | "Europe/Belgrade" | +| BERLIN | "Berlin" | +| EUROPE_BERLIN | "Europe/Berlin" | +| BERN | "Bern" | +| EUROPE_ZURICH | "Europe/Zurich" | +| BRATISLAVA | "Bratislava" | +| EUROPE_BRATISLAVA | "Europe/Bratislava" | +| BRUSSELS | "Brussels" | +| EUROPE_BRUSSELS | "Europe/Brussels" | +| BUDAPEST | "Budapest" | +| EUROPE_BUDAPEST | "Europe/Budapest" | +| COPENHAGEN | "Copenhagen" | +| EUROPE_COPENHAGEN | "Europe/Copenhagen" | +| DUBLIN | "Dublin" | +| EUROPE_DUBLIN | "Europe/Dublin" | +| LJUBLJANA | "Ljubljana" | +| EUROPE_LJUBLJANA | "Europe/Ljubljana" | +| MADRID | "Madrid" | +| EUROPE_MADRID | "Europe/Madrid" | +| PARIS | "Paris" | +| EUROPE_PARIS | "Europe/Paris" | +| PRAGUE | "Prague" | +| EUROPE_PRAGUE | "Europe/Prague" | +| ROME | "Rome" | +| EUROPE_ROME | "Europe/Rome" | +| SARAJEVO | "Sarajevo" | +| EUROPE_SARAJEVO | "Europe/Sarajevo" | +| SKOPJE | "Skopje" | +| EUROPE_SKOPJE | "Europe/Skopje" | +| STOCKHOLM | "Stockholm" | +| EUROPE_STOCKHOLM | "Europe/Stockholm" | +| VIENNA | "Vienna" | +| EUROPE_VIENNA | "Europe/Vienna" | +| WARSAW | "Warsaw" | +| EUROPE_WARSAW | "Europe/Warsaw" | +| WEST_CENTRAL_AFRICA | "West Central Africa" | +| AFRICA_ALGIERS | "Africa/Algiers" | +| ZAGREB | "Zagreb" | +| EUROPE_ZAGREB | "Europe/Zagreb" | +| ZURICH | "Zurich" | +| ATHENS | "Athens" | +| EUROPE_ATHENS | "Europe/Athens" | +| BUCHAREST | "Bucharest" | +| EUROPE_BUCHAREST | "Europe/Bucharest" | +| CAIRO | "Cairo" | +| AFRICA_CAIRO | "Africa/Cairo" | +| HARARE | "Harare" | +| AFRICA_HARARE | "Africa/Harare" | +| HELSINKI | "Helsinki" | +| EUROPE_HELSINKI | "Europe/Helsinki" | +| JERUSALEM | "Jerusalem" | +| ASIA_JERUSALEM | "Asia/Jerusalem" | +| KALININGRAD | "Kaliningrad" | +| EUROPE_KALININGRAD | "Europe/Kaliningrad" | +| KYIV | "Kyiv" | +| EUROPE_KYIV | "Europe/Kyiv" | +| PRETORIA | "Pretoria" | +| AFRICA_JOHANNESBURG | "Africa/Johannesburg" | +| RIGA | "Riga" | +| EUROPE_RIGA | "Europe/Riga" | +| SOFIA | "Sofia" | +| EUROPE_SOFIA | "Europe/Sofia" | +| TALLINN | "Tallinn" | +| EUROPE_TALLINN | "Europe/Tallinn" | +| VILNIUS | "Vilnius" | +| EUROPE_VILNIUS | "Europe/Vilnius" | +| BAGHDAD | "Baghdad" | +| ASIA_BAGHDAD | "Asia/Baghdad" | +| ISTANBUL | "Istanbul" | +| EUROPE_ISTANBUL | "Europe/Istanbul" | +| KUWAIT | "Kuwait" | +| ASIA_KUWAIT | "Asia/Kuwait" | +| MINSK | "Minsk" | +| EUROPE_MINSK | "Europe/Minsk" | +| MOSCOW | "Moscow" | +| EUROPE_MOSCOW | "Europe/Moscow" | +| NAIROBI | "Nairobi" | +| AFRICA_NAIROBI | "Africa/Nairobi" | +| RIYADH | "Riyadh" | +| ASIA_RIYADH | "Asia/Riyadh" | +| ST_PETERSBURG | "St. Petersburg" | +| VOLGOGRAD | "Volgograd" | +| EUROPE_VOLGOGRAD | "Europe/Volgograd" | +| TEHRAN | "Tehran" | +| ASIA_TEHRAN | "Asia/Tehran" | +| ABU_DHABI | "Abu Dhabi" | +| ASIA_MUSCAT | "Asia/Muscat" | +| BAKU | "Baku" | +| ASIA_BAKU | "Asia/Baku" | +| MUSCAT | "Muscat" | +| SAMARA | "Samara" | +| EUROPE_SAMARA | "Europe/Samara" | +| TBILISI | "Tbilisi" | +| ASIA_TBILISI | "Asia/Tbilisi" | +| YEREVAN | "Yerevan" | +| ASIA_YEREVAN | "Asia/Yerevan" | +| KABUL | "Kabul" | +| ASIA_KABUL | "Asia/Kabul" | +| ALMATY | "Almaty" | +| ASIA_ALMATY | "Asia/Almaty" | +| ASTANA | "Astana" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| MUMBAI | "Mumbai" | +| NEW_DELHI | "New Delhi" | +| SRI_JAYAWARDENEPURA | "Sri Jayawardenepura" | +| ASIA_COLOMBO | "Asia/Colombo" | +| KATHMANDU | "Kathmandu" | +| ASIA_KATHMANDU | "Asia/Kathmandu" | +| DHAKA | "Dhaka" | +| ASIA_DHAKA | "Asia/Dhaka" | +| URUMQI | "Urumqi" | +| ASIA_URUMQI | "Asia/Urumqi" | +| RANGOON | "Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| JAKARTA | "Jakarta" | +| ASIA_JAKARTA | "Asia/Jakarta" | +| KRASNOYARSK | "Krasnoyarsk" | +| ASIA_KRASNOYARSK | "Asia/Krasnoyarsk" | +| NOVOSIBIRSK | "Novosibirsk" | +| ASIA_NOVOSIBIRSK | "Asia/Novosibirsk" | +| BEIJING | "Beijing" | +| ASIA_SHANGHAI | "Asia/Shanghai" | +| CHONGQING | "Chongqing" | +| ASIA_CHONGQING | "Asia/Chongqing" | +| HONG_KONG | "Hong Kong" | +| ASIA_HONG_KONG | "Asia/Hong_Kong" | +| IRKUTSK | "Irkutsk" | +| ASIA_IRKUTSK | "Asia/Irkutsk" | +| KUALA_LUMPUR | "Kuala Lumpur" | +| ASIA_KUALA_LUMPUR | "Asia/Kuala_Lumpur" | +| PERTH | "Perth" | +| AUSTRALIA_PERTH | "Australia/Perth" | +| SINGAPORE | "Singapore" | +| ASIA_SINGAPORE | "Asia/Singapore" | +| TAIPEI | "Taipei" | +| ASIA_TAIPEI | "Asia/Taipei" | +| ULAANBAATAR | "Ulaanbaatar" | +| ASIA_ULAANBAATAR | "Asia/Ulaanbaatar" | +| OSAKA | "Osaka" | +| ASIA_TOKYO | "Asia/Tokyo" | +| SAPPORO | "Sapporo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| YAKUTSK | "Yakutsk" | +| ASIA_YAKUTSK | "Asia/Yakutsk" | +| ADELAIDE | "Adelaide" | +| AUSTRALIA_ADELAIDE | "Australia/Adelaide" | +| DARWIN | "Darwin" | +| AUSTRALIA_DARWIN | "Australia/Darwin" | +| BRISBANE | "Brisbane" | +| AUSTRALIA_BRISBANE | "Australia/Brisbane" | +| CANBERRA | "Canberra" | +| AUSTRALIA_CANBERRA | "Australia/Canberra" | +| GUAM | "Guam" | +| PACIFIC_GUAM | "Pacific/Guam" | +| HOBART | "Hobart" | +| AUSTRALIA_HOBART | "Australia/Hobart" | +| MELBOURNE | "Melbourne" | +| AUSTRALIA_MELBOURNE | "Australia/Melbourne" | +| PORT_MORESBY | "Port Moresby" | +| PACIFIC_PORT_MORESBY | "Pacific/Port_Moresby" | +| SYDNEY | "Sydney" | +| AUSTRALIA_SYDNEY | "Australia/Sydney" | +| VLADIVOSTOK | "Vladivostok" | +| ASIA_VLADIVOSTOK | "Asia/Vladivostok" | +| MAGADAN | "Magadan" | +| ASIA_MAGADAN | "Asia/Magadan" | +| NEW_CALEDONIA | "New Caledonia" | +| PACIFIC_NOUMEA | "Pacific/Noumea" | +| SOLOMON_IS_ | "Solomon Is." | +| PACIFIC_GUADALCANAL | "Pacific/Guadalcanal" | +| SREDNEKOLYMSK | "Srednekolymsk" | +| ASIA_SREDNEKOLYMSK | "Asia/Srednekolymsk" | +| AUCKLAND | "Auckland" | +| PACIFIC_AUCKLAND | "Pacific/Auckland" | +| FIJI | "Fiji" | +| PACIFIC_FIJI | "Pacific/Fiji" | +| KAMCHATKA | "Kamchatka" | +| ASIA_KAMCHATKA | "Asia/Kamchatka" | +| MARSHALL_IS_ | "Marshall Is." | +| PACIFIC_MAJURO | "Pacific/Majuro" | +| WELLINGTON | "Wellington" | +| CHATHAM_IS_ | "Chatham Is." | +| PACIFIC_CHATHAM | "Pacific/Chatham" | +| NUKU_ALOFA | "Nuku'alofa" | +| PACIFIC_TONGATAPU | "Pacific/Tongatapu" | +| SAMOA | "Samoa" | +| PACIFIC_APIA | "Pacific/Apia" | +| TOKELAU_IS_ | "Tokelau Is." | +| PACIFIC_FAKAOFO | "Pacific/Fakaofo" | +| AMERICA_ADAK | "America/Adak" | +| AMERICA_ATKA | "America/Atka" | +| US_ALEUTIAN | "US/Aleutian" | +| AMERICA_VANCOUVER | "America/Vancouver" | +| CANADA_PACIFIC | "Canada/Pacific" | +| AMERICA_MIQUELON | "America/Miquelon" | +| AUSTRALIA_EUCLA | "Australia/Eucla" | +| AUSTRALIA_LHI | "Australia/LHI" | +| AUSTRALIA_LORD_HOWE | "Australia/Lord_Howe" | +| CHILE_EASTER_ISLAND | "Chile/EasterIsland" | +| PACIFIC_EASTER | "Pacific/Easter" | +| PACIFIC_GAMBIER | "Pacific/Gambier" | +| PACIFIC_PITCAIRN | "Pacific/Pitcairn" | +| PACIFIC_MARQUESAS | "Pacific/Marquesas" | +| PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | +| PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | + + + diff --git a/docs/DeferralWindowTimeBlocksInner.md b/docs/DeferralWindowTimeBlocksInner.md new file mode 100644 index 00000000..499d0c8a --- /dev/null +++ b/docs/DeferralWindowTimeBlocksInner.md @@ -0,0 +1,25 @@ + + +# DeferralWindowTimeBlocksInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the time block | [optional] [readonly] | +|**monday** | **Boolean** | | [optional] | +|**tuesday** | **Boolean** | | [optional] | +|**wednesday** | **Boolean** | | [optional] | +|**thursday** | **Boolean** | | [optional] | +|**friday** | **Boolean** | | [optional] | +|**saturday** | **Boolean** | | [optional] | +|**sunday** | **Boolean** | | [optional] | +|**startTime** | **String** | Formatted as HH:MM | [optional] | +|**endTime** | **String** | Formatted as HH:MM | [optional] | +|**allDay** | **Boolean** | | [optional] | +|**position** | **Integer** | Order of this time block, starting at 1. Defaults to the block's 1-based position in time_blocks when omitted. | [optional] | +|**endsNextDay** | **Boolean** | Whether the window crosses midnight. Derived from start_time and end_time; accepted and ignored on write. | [optional] [readonly] | + + + diff --git a/docs/EdgeConnectorDataAttributes.md b/docs/EdgeConnectorDataAttributes.md index 79c83996..4cf0dc67 100644 --- a/docs/EdgeConnectorDataAttributes.md +++ b/docs/EdgeConnectorDataAttributes.md @@ -11,6 +11,7 @@ |**description** | **String** | Connector description | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | Connector status | | |**subscriptions** | **List<String>** | Array of event types to subscribe to | [optional] | +|**ownerGroupIds** | **List<UUID>** | IDs of the teams (groups) that own this connector. Empty means the connector is not scoped to a team | [optional] | |**lastPollAt** | **OffsetDateTime** | Last time connector polled | [optional] | |**online** | **Boolean** | Whether connector is currently online | [optional] | |**deliveriesCount** | **Integer** | Total number of deliveries | [optional] | diff --git a/docs/Environment.md b/docs/Environment.md index 52df11ba..88e564b9 100644 --- a/docs/Environment.md +++ b/docs/Environment.md @@ -16,8 +16,8 @@ |**notifyEmails** | **List<String>** | Emails attached to the environment | [optional] | |**color** | **String** | The hex color of the environment | [optional] | |**position** | **Integer** | Position of the environment | [optional] | -|**slackChannels** | [**List<NewEnvironmentDataAttributesSlackChannelsInner>**](NewEnvironmentDataAttributesSlackChannelsInner.md) | Slack Channels associated with this environment | [optional] | -|**slackAliases** | [**List<NewEnvironmentDataAttributesSlackAliasesInner>**](NewEnvironmentDataAttributesSlackAliasesInner.md) | Slack Aliases associated with this environment | [optional] | +|**slackChannels** | [**List<EnvironmentSlackChannelsInner>**](EnvironmentSlackChannelsInner.md) | Slack Channels associated with this environment | [optional] | +|**slackAliases** | [**List<EnvironmentSlackAliasesInner>**](EnvironmentSlackAliasesInner.md) | Slack Aliases associated with this environment | [optional] | |**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this environment. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/EnvironmentSlackAliasesInner.md b/docs/EnvironmentSlackAliasesInner.md new file mode 100644 index 00000000..a0e7df00 --- /dev/null +++ b/docs/EnvironmentSlackAliasesInner.md @@ -0,0 +1,14 @@ + + +# EnvironmentSlackAliasesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack alias ID | | +|**name** | **String** | Slack alias name | | + + + diff --git a/docs/EnvironmentSlackChannelsInner.md b/docs/EnvironmentSlackChannelsInner.md new file mode 100644 index 00000000..ff7cb46d --- /dev/null +++ b/docs/EnvironmentSlackChannelsInner.md @@ -0,0 +1,14 @@ + + +# EnvironmentSlackChannelsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | | +|**name** | **String** | Slack channel name | | + + + diff --git a/docs/EscalateAlertDataAttributes.md b/docs/EscalateAlertDataAttributes.md index 09cd42bf..3b098967 100644 --- a/docs/EscalateAlertDataAttributes.md +++ b/docs/EscalateAlertDataAttributes.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**escalationPolicyId** | **String** | The ID of the escalation policy to escalate to. If omitted, uses the alert's current escalation policy from metadata. Required for resolved alerts whose metadata may have been cleared. | [optional] | |**escalationPolicyLevel** | **Integer** | The escalation policy level to escalate to. If omitted, defaults to the next level (same EP) or level 1 (different EP). | [optional] | +|**actor** | [**NewAlertDataAttributesActor**](NewAlertDataAttributesActor.md) | | [optional] | diff --git a/docs/EscalationPolicy.md b/docs/EscalationPolicy.md index fa0ed3bb..ca8ac21d 100644 --- a/docs/EscalationPolicy.md +++ b/docs/EscalationPolicy.md @@ -14,7 +14,7 @@ |**lastUpdatedByUserId** | **Integer** | User who updated the escalation policy | [optional] | |**groupIds** | **List<String>** | Associated groups (alerting the group will trigger escalation policy) | [optional] | |**serviceIds** | **List<String>** | Associated services (alerting the service will trigger escalation policy) | [optional] | -|**businessHours** | [**NewEscalationPolicyDataAttributesBusinessHours**](NewEscalationPolicyDataAttributesBusinessHours.md) | | [optional] | +|**businessHours** | [**EscalationPolicyBusinessHours**](EscalationPolicyBusinessHours.md) | | [optional] | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | diff --git a/docs/EscalationPolicyBusinessHours.md b/docs/EscalationPolicyBusinessHours.md new file mode 100644 index 00000000..7d99bc00 --- /dev/null +++ b/docs/EscalationPolicyBusinessHours.md @@ -0,0 +1,344 @@ + + +# EscalationPolicyBusinessHours + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**timeZone** | [**TimeZoneEnum**](#TimeZoneEnum) | Time zone for business hours | [optional] | +|**days** | [**List<DaysEnum>**](#List<DaysEnum>) | Business days | [optional] | +|**startTime** | **String** | Start time for business hours (HH:MM) | [optional] | +|**endTime** | **String** | End time for business hours (HH:MM) | [optional] | + + + +## Enum: TimeZoneEnum + +| Name | Value | +|---- | -----| +| INTERNATIONAL_DATE_LINE_WEST | "International Date Line West" | +| ETC_GMT_12 | "Etc/GMT+12" | +| AMERICAN_SAMOA | "American Samoa" | +| PACIFIC_PAGO_PAGO | "Pacific/Pago_Pago" | +| MIDWAY_ISLAND | "Midway Island" | +| PACIFIC_MIDWAY | "Pacific/Midway" | +| HAWAII | "Hawaii" | +| PACIFIC_HONOLULU | "Pacific/Honolulu" | +| ALASKA | "Alaska" | +| AMERICA_JUNEAU | "America/Juneau" | +| PACIFIC_TIME_US_CANADA_ | "Pacific Time (US & Canada)" | +| AMERICA_LOS_ANGELES | "America/Los_Angeles" | +| TIJUANA | "Tijuana" | +| AMERICA_TIJUANA | "America/Tijuana" | +| ARIZONA | "Arizona" | +| AMERICA_PHOENIX | "America/Phoenix" | +| MAZATLAN | "Mazatlan" | +| AMERICA_MAZATLAN | "America/Mazatlan" | +| MOUNTAIN_TIME_US_CANADA_ | "Mountain Time (US & Canada)" | +| AMERICA_DENVER | "America/Denver" | +| CENTRAL_AMERICA | "Central America" | +| AMERICA_GUATEMALA | "America/Guatemala" | +| CENTRAL_TIME_US_CANADA_ | "Central Time (US & Canada)" | +| AMERICA_CHICAGO | "America/Chicago" | +| CHIHUAHUA | "Chihuahua" | +| AMERICA_CHIHUAHUA | "America/Chihuahua" | +| GUADALAJARA | "Guadalajara" | +| AMERICA_MEXICO_CITY | "America/Mexico_City" | +| MEXICO_CITY | "Mexico City" | +| MONTERREY | "Monterrey" | +| AMERICA_MONTERREY | "America/Monterrey" | +| SASKATCHEWAN | "Saskatchewan" | +| AMERICA_REGINA | "America/Regina" | +| BOGOTA | "Bogota" | +| AMERICA_BOGOTA | "America/Bogota" | +| EASTERN_TIME_US_CANADA_ | "Eastern Time (US & Canada)" | +| AMERICA_NEW_YORK | "America/New_York" | +| INDIANA_EAST_ | "Indiana (East)" | +| AMERICA_INDIANA_INDIANAPOLIS | "America/Indiana/Indianapolis" | +| LIMA | "Lima" | +| AMERICA_LIMA | "America/Lima" | +| QUITO | "Quito" | +| ATLANTIC_TIME_CANADA_ | "Atlantic Time (Canada)" | +| AMERICA_HALIFAX | "America/Halifax" | +| CARACAS | "Caracas" | +| AMERICA_CARACAS | "America/Caracas" | +| GEORGETOWN | "Georgetown" | +| AMERICA_GUYANA | "America/Guyana" | +| LA_PAZ | "La Paz" | +| AMERICA_LA_PAZ | "America/La_Paz" | +| PUERTO_RICO | "Puerto Rico" | +| AMERICA_PUERTO_RICO | "America/Puerto_Rico" | +| SANTIAGO | "Santiago" | +| AMERICA_SANTIAGO | "America/Santiago" | +| NEWFOUNDLAND | "Newfoundland" | +| AMERICA_ST_JOHNS | "America/St_Johns" | +| ASUNCION | "Asuncion" | +| AMERICA_ASUNCION | "America/Asuncion" | +| BRASILIA | "Brasilia" | +| AMERICA_SAO_PAULO | "America/Sao_Paulo" | +| BUENOS_AIRES | "Buenos Aires" | +| AMERICA_ARGENTINA_BUENOS_AIRES | "America/Argentina/Buenos_Aires" | +| MONTEVIDEO | "Montevideo" | +| AMERICA_MONTEVIDEO | "America/Montevideo" | +| GREENLAND | "Greenland" | +| AMERICA_NUUK | "America/Nuuk" | +| MID_ATLANTIC | "Mid-Atlantic" | +| ATLANTIC_SOUTH_GEORGIA | "Atlantic/South_Georgia" | +| AZORES | "Azores" | +| ATLANTIC_AZORES | "Atlantic/Azores" | +| CAPE_VERDE_IS_ | "Cape Verde Is." | +| ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| MONROVIA | "Monrovia" | +| AFRICA_MONROVIA | "Africa/Monrovia" | +| UTC | "UTC" | +| ETC_UTC | "Etc/UTC" | +| AMSTERDAM | "Amsterdam" | +| EUROPE_AMSTERDAM | "Europe/Amsterdam" | +| BELGRADE | "Belgrade" | +| EUROPE_BELGRADE | "Europe/Belgrade" | +| BERLIN | "Berlin" | +| EUROPE_BERLIN | "Europe/Berlin" | +| BERN | "Bern" | +| EUROPE_ZURICH | "Europe/Zurich" | +| BRATISLAVA | "Bratislava" | +| EUROPE_BRATISLAVA | "Europe/Bratislava" | +| BRUSSELS | "Brussels" | +| EUROPE_BRUSSELS | "Europe/Brussels" | +| BUDAPEST | "Budapest" | +| EUROPE_BUDAPEST | "Europe/Budapest" | +| COPENHAGEN | "Copenhagen" | +| EUROPE_COPENHAGEN | "Europe/Copenhagen" | +| DUBLIN | "Dublin" | +| EUROPE_DUBLIN | "Europe/Dublin" | +| LJUBLJANA | "Ljubljana" | +| EUROPE_LJUBLJANA | "Europe/Ljubljana" | +| MADRID | "Madrid" | +| EUROPE_MADRID | "Europe/Madrid" | +| PARIS | "Paris" | +| EUROPE_PARIS | "Europe/Paris" | +| PRAGUE | "Prague" | +| EUROPE_PRAGUE | "Europe/Prague" | +| ROME | "Rome" | +| EUROPE_ROME | "Europe/Rome" | +| SARAJEVO | "Sarajevo" | +| EUROPE_SARAJEVO | "Europe/Sarajevo" | +| SKOPJE | "Skopje" | +| EUROPE_SKOPJE | "Europe/Skopje" | +| STOCKHOLM | "Stockholm" | +| EUROPE_STOCKHOLM | "Europe/Stockholm" | +| VIENNA | "Vienna" | +| EUROPE_VIENNA | "Europe/Vienna" | +| WARSAW | "Warsaw" | +| EUROPE_WARSAW | "Europe/Warsaw" | +| WEST_CENTRAL_AFRICA | "West Central Africa" | +| AFRICA_ALGIERS | "Africa/Algiers" | +| ZAGREB | "Zagreb" | +| EUROPE_ZAGREB | "Europe/Zagreb" | +| ZURICH | "Zurich" | +| ATHENS | "Athens" | +| EUROPE_ATHENS | "Europe/Athens" | +| BUCHAREST | "Bucharest" | +| EUROPE_BUCHAREST | "Europe/Bucharest" | +| CAIRO | "Cairo" | +| AFRICA_CAIRO | "Africa/Cairo" | +| HARARE | "Harare" | +| AFRICA_HARARE | "Africa/Harare" | +| HELSINKI | "Helsinki" | +| EUROPE_HELSINKI | "Europe/Helsinki" | +| JERUSALEM | "Jerusalem" | +| ASIA_JERUSALEM | "Asia/Jerusalem" | +| KALININGRAD | "Kaliningrad" | +| EUROPE_KALININGRAD | "Europe/Kaliningrad" | +| KYIV | "Kyiv" | +| EUROPE_KYIV | "Europe/Kyiv" | +| PRETORIA | "Pretoria" | +| AFRICA_JOHANNESBURG | "Africa/Johannesburg" | +| RIGA | "Riga" | +| EUROPE_RIGA | "Europe/Riga" | +| SOFIA | "Sofia" | +| EUROPE_SOFIA | "Europe/Sofia" | +| TALLINN | "Tallinn" | +| EUROPE_TALLINN | "Europe/Tallinn" | +| VILNIUS | "Vilnius" | +| EUROPE_VILNIUS | "Europe/Vilnius" | +| BAGHDAD | "Baghdad" | +| ASIA_BAGHDAD | "Asia/Baghdad" | +| ISTANBUL | "Istanbul" | +| EUROPE_ISTANBUL | "Europe/Istanbul" | +| KUWAIT | "Kuwait" | +| ASIA_KUWAIT | "Asia/Kuwait" | +| MINSK | "Minsk" | +| EUROPE_MINSK | "Europe/Minsk" | +| MOSCOW | "Moscow" | +| EUROPE_MOSCOW | "Europe/Moscow" | +| NAIROBI | "Nairobi" | +| AFRICA_NAIROBI | "Africa/Nairobi" | +| RIYADH | "Riyadh" | +| ASIA_RIYADH | "Asia/Riyadh" | +| ST_PETERSBURG | "St. Petersburg" | +| VOLGOGRAD | "Volgograd" | +| EUROPE_VOLGOGRAD | "Europe/Volgograd" | +| TEHRAN | "Tehran" | +| ASIA_TEHRAN | "Asia/Tehran" | +| ABU_DHABI | "Abu Dhabi" | +| ASIA_MUSCAT | "Asia/Muscat" | +| BAKU | "Baku" | +| ASIA_BAKU | "Asia/Baku" | +| MUSCAT | "Muscat" | +| SAMARA | "Samara" | +| EUROPE_SAMARA | "Europe/Samara" | +| TBILISI | "Tbilisi" | +| ASIA_TBILISI | "Asia/Tbilisi" | +| YEREVAN | "Yerevan" | +| ASIA_YEREVAN | "Asia/Yerevan" | +| KABUL | "Kabul" | +| ASIA_KABUL | "Asia/Kabul" | +| ALMATY | "Almaty" | +| ASIA_ALMATY | "Asia/Almaty" | +| ASTANA | "Astana" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| MUMBAI | "Mumbai" | +| NEW_DELHI | "New Delhi" | +| SRI_JAYAWARDENEPURA | "Sri Jayawardenepura" | +| ASIA_COLOMBO | "Asia/Colombo" | +| KATHMANDU | "Kathmandu" | +| ASIA_KATHMANDU | "Asia/Kathmandu" | +| DHAKA | "Dhaka" | +| ASIA_DHAKA | "Asia/Dhaka" | +| URUMQI | "Urumqi" | +| ASIA_URUMQI | "Asia/Urumqi" | +| RANGOON | "Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| JAKARTA | "Jakarta" | +| ASIA_JAKARTA | "Asia/Jakarta" | +| KRASNOYARSK | "Krasnoyarsk" | +| ASIA_KRASNOYARSK | "Asia/Krasnoyarsk" | +| NOVOSIBIRSK | "Novosibirsk" | +| ASIA_NOVOSIBIRSK | "Asia/Novosibirsk" | +| BEIJING | "Beijing" | +| ASIA_SHANGHAI | "Asia/Shanghai" | +| CHONGQING | "Chongqing" | +| ASIA_CHONGQING | "Asia/Chongqing" | +| HONG_KONG | "Hong Kong" | +| ASIA_HONG_KONG | "Asia/Hong_Kong" | +| IRKUTSK | "Irkutsk" | +| ASIA_IRKUTSK | "Asia/Irkutsk" | +| KUALA_LUMPUR | "Kuala Lumpur" | +| ASIA_KUALA_LUMPUR | "Asia/Kuala_Lumpur" | +| PERTH | "Perth" | +| AUSTRALIA_PERTH | "Australia/Perth" | +| SINGAPORE | "Singapore" | +| ASIA_SINGAPORE | "Asia/Singapore" | +| TAIPEI | "Taipei" | +| ASIA_TAIPEI | "Asia/Taipei" | +| ULAANBAATAR | "Ulaanbaatar" | +| ASIA_ULAANBAATAR | "Asia/Ulaanbaatar" | +| OSAKA | "Osaka" | +| ASIA_TOKYO | "Asia/Tokyo" | +| SAPPORO | "Sapporo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| YAKUTSK | "Yakutsk" | +| ASIA_YAKUTSK | "Asia/Yakutsk" | +| ADELAIDE | "Adelaide" | +| AUSTRALIA_ADELAIDE | "Australia/Adelaide" | +| DARWIN | "Darwin" | +| AUSTRALIA_DARWIN | "Australia/Darwin" | +| BRISBANE | "Brisbane" | +| AUSTRALIA_BRISBANE | "Australia/Brisbane" | +| CANBERRA | "Canberra" | +| AUSTRALIA_CANBERRA | "Australia/Canberra" | +| GUAM | "Guam" | +| PACIFIC_GUAM | "Pacific/Guam" | +| HOBART | "Hobart" | +| AUSTRALIA_HOBART | "Australia/Hobart" | +| MELBOURNE | "Melbourne" | +| AUSTRALIA_MELBOURNE | "Australia/Melbourne" | +| PORT_MORESBY | "Port Moresby" | +| PACIFIC_PORT_MORESBY | "Pacific/Port_Moresby" | +| SYDNEY | "Sydney" | +| AUSTRALIA_SYDNEY | "Australia/Sydney" | +| VLADIVOSTOK | "Vladivostok" | +| ASIA_VLADIVOSTOK | "Asia/Vladivostok" | +| MAGADAN | "Magadan" | +| ASIA_MAGADAN | "Asia/Magadan" | +| NEW_CALEDONIA | "New Caledonia" | +| PACIFIC_NOUMEA | "Pacific/Noumea" | +| SOLOMON_IS_ | "Solomon Is." | +| PACIFIC_GUADALCANAL | "Pacific/Guadalcanal" | +| SREDNEKOLYMSK | "Srednekolymsk" | +| ASIA_SREDNEKOLYMSK | "Asia/Srednekolymsk" | +| AUCKLAND | "Auckland" | +| PACIFIC_AUCKLAND | "Pacific/Auckland" | +| FIJI | "Fiji" | +| PACIFIC_FIJI | "Pacific/Fiji" | +| KAMCHATKA | "Kamchatka" | +| ASIA_KAMCHATKA | "Asia/Kamchatka" | +| MARSHALL_IS_ | "Marshall Is." | +| PACIFIC_MAJURO | "Pacific/Majuro" | +| WELLINGTON | "Wellington" | +| CHATHAM_IS_ | "Chatham Is." | +| PACIFIC_CHATHAM | "Pacific/Chatham" | +| NUKU_ALOFA | "Nuku'alofa" | +| PACIFIC_TONGATAPU | "Pacific/Tongatapu" | +| SAMOA | "Samoa" | +| PACIFIC_APIA | "Pacific/Apia" | +| TOKELAU_IS_ | "Tokelau Is." | +| PACIFIC_FAKAOFO | "Pacific/Fakaofo" | +| AMERICA_ADAK | "America/Adak" | +| AMERICA_ATKA | "America/Atka" | +| US_ALEUTIAN | "US/Aleutian" | +| AMERICA_VANCOUVER | "America/Vancouver" | +| CANADA_PACIFIC | "Canada/Pacific" | +| AMERICA_MIQUELON | "America/Miquelon" | +| AUSTRALIA_EUCLA | "Australia/Eucla" | +| AUSTRALIA_LHI | "Australia/LHI" | +| AUSTRALIA_LORD_HOWE | "Australia/Lord_Howe" | +| CHILE_EASTER_ISLAND | "Chile/EasterIsland" | +| PACIFIC_EASTER | "Pacific/Easter" | +| PACIFIC_GAMBIER | "Pacific/Gambier" | +| PACIFIC_PITCAIRN | "Pacific/Pitcairn" | +| PACIFIC_MARQUESAS | "Pacific/Marquesas" | +| PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | +| PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | + + + +## Enum: List<DaysEnum> + +| Name | Value | +|---- | -----| +| M | "M" | +| T | "T" | +| W | "W" | +| R | "R" | +| F | "F" | +| U | "U" | +| S | "S" | + + + diff --git a/docs/EscalationPolicyLevel.md b/docs/EscalationPolicyLevel.md index c00a8275..294b2f17 100644 --- a/docs/EscalationPolicyLevel.md +++ b/docs/EscalationPolicyLevel.md @@ -19,7 +19,7 @@ |**position** | **Integer** | Position of the escalation policy level | | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | -|**notificationTargetParams** | [**List<UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner>**](UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.md) | Escalation level's notification targets | | +|**notificationTargetParams** | [**List<EscalationPolicyLevelNotificationTargetParamsInner>**](EscalationPolicyLevelNotificationTargetParamsInner.md) | Escalation level's notification targets | | diff --git a/docs/EscalationPolicyLevelNotificationTargetParamsInner.md b/docs/EscalationPolicyLevelNotificationTargetParamsInner.md new file mode 100644 index 00000000..27cbc886 --- /dev/null +++ b/docs/EscalationPolicyLevelNotificationTargetParamsInner.md @@ -0,0 +1,38 @@ + + +# EscalationPolicyLevelNotificationTargetParamsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The ID of notification target | | +|**type** | [**TypeEnum**](#TypeEnum) | The type of the notification target | | +|**teamMembers** | [**TeamMembersEnum**](#TeamMembersEnum) | For targets with type=team, controls whether to notify admins, all team members, or escalate to team EP. | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| TEAM | "team" | +| USER | "user" | +| SCHEDULE | "schedule" | +| SLACK_CHANNEL | "slack_channel" | +| MICROSOFT_TEAMS_CHANNEL | "microsoft_teams_channel" | +| SERVICE | "service" | + + + +## Enum: TeamMembersEnum + +| Name | Value | +|---- | -----| +| ALL | "all" | +| ADMINS | "admins" | +| ESCALATE | "escalate" | + + + diff --git a/docs/EscalationPolicyPath.md b/docs/EscalationPolicyPath.md index 44775da2..4fb5f7ed 100644 --- a/docs/EscalationPolicyPath.md +++ b/docs/EscalationPolicyPath.md @@ -19,12 +19,14 @@ |**repeat** | **Boolean** | Whether this path should be repeated until someone acknowledges the alert | | |**repeatCount** | **Integer** | The number of times this path will be executed until someone acknowledges the alert | | |**initialDelay** | **Integer** | Initial delay for escalation path in minutes. Maximum 1 week (10080). | [optional] | -|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, negative = never. | [optional] | +|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. | [optional] | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | |**rules** | [**List<UpdateEscalationPolicyPathDataAttributesRulesInner>**](UpdateEscalationPolicyPathDataAttributesRulesInner.md) | Escalation path rules | [optional] | +|**notificationTypeRules** | [**List<NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner>**](NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md) | Rules deciding whether an alert pages audible or quiet, evaluated in order — the first matching rule's notification_type wins, otherwise notification_type_fallback applies. When present, the path's notification_type is aligned to notification_type_fallback. Only available when notification type conditions are enabled for the team. | [optional] | +|**notificationTypeFallback** | [**NotificationTypeFallbackEnum**](#NotificationTypeFallbackEnum) | Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. | [optional] | |**timeRestrictionTimeZone** | [**TimeRestrictionTimeZoneEnum**](#TimeRestrictionTimeZoneEnum) | Time zone used for time restrictions. | [optional] | -|**timeRestrictions** | [**List<UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner>**](UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md) | If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. | [optional] | +|**timeRestrictions** | [**List<EscalationPolicyPathTimeRestrictionsInner>**](EscalationPolicyPathTimeRestrictionsInner.md) | If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. | [optional] | @@ -55,6 +57,15 @@ +## Enum: NotificationTypeFallbackEnum + +| Name | Value | +|---- | -----| +| AUDIBLE | "audible" | +| QUIET | "quiet" | + + + ## Enum: TimeRestrictionTimeZoneEnum | Name | Value | @@ -131,6 +142,8 @@ | ATLANTIC_AZORES | "Atlantic/Azores" | | CAPE_VERDE_IS_ | "Cape Verde Is." | | ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | | EDINBURGH | "Edinburgh" | | EUROPE_LONDON | "Europe/London" | | LISBON | "Lisbon" | @@ -154,8 +167,6 @@ | EUROPE_BRUSSELS | "Europe/Brussels" | | BUDAPEST | "Budapest" | | EUROPE_BUDAPEST | "Europe/Budapest" | -| CASABLANCA | "Casablanca" | -| AFRICA_CASABLANCA | "Africa/Casablanca" | | COPENHAGEN | "Copenhagen" | | EUROPE_COPENHAGEN | "Europe/Copenhagen" | | DUBLIN | "Dublin" | @@ -200,7 +211,7 @@ | KALININGRAD | "Kaliningrad" | | EUROPE_KALININGRAD | "Europe/Kaliningrad" | | KYIV | "Kyiv" | -| EUROPE_KIEV | "Europe/Kiev" | +| EUROPE_KYIV | "Europe/Kyiv" | | PRETORIA | "Pretoria" | | AFRICA_JOHANNESBURG | "Africa/Johannesburg" | | RIGA | "Riga" | @@ -267,7 +278,7 @@ | URUMQI | "Urumqi" | | ASIA_URUMQI | "Asia/Urumqi" | | RANGOON | "Rangoon" | -| ASIA_RANGOON | "Asia/Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | | BANGKOK | "Bangkok" | | ASIA_BANGKOK | "Asia/Bangkok" | | HANOI | "Hanoi" | @@ -364,6 +375,8 @@ | PACIFIC_MARQUESAS | "Pacific/Marquesas" | | PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | | PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | diff --git a/docs/EscalationPolicyPathTimeRestrictionsInner.md b/docs/EscalationPolicyPathTimeRestrictionsInner.md new file mode 100644 index 00000000..d42b1669 --- /dev/null +++ b/docs/EscalationPolicyPathTimeRestrictionsInner.md @@ -0,0 +1,44 @@ + + +# EscalationPolicyPathTimeRestrictionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startDay** | [**StartDayEnum**](#StartDayEnum) | | [optional] | +|**startTime** | **String** | Formatted as HH:MM | [optional] | +|**endDay** | [**EndDayEnum**](#EndDayEnum) | | [optional] | +|**endTime** | **String** | Formatted as HH:MM | [optional] | + + + +## Enum: StartDayEnum + +| Name | Value | +|---- | -----| +| MONDAY | "monday" | +| TUESDAY | "tuesday" | +| WEDNESDAY | "wednesday" | +| THURSDAY | "thursday" | +| FRIDAY | "friday" | +| SATURDAY | "saturday" | +| SUNDAY | "sunday" | + + + +## Enum: EndDayEnum + +| Name | Value | +|---- | -----| +| MONDAY | "monday" | +| TUESDAY | "tuesday" | +| WEDNESDAY | "wednesday" | +| THURSDAY | "thursday" | +| FRIDAY | "friday" | +| SATURDAY | "saturday" | +| SUNDAY | "sunday" | + + + diff --git a/docs/FormField.md b/docs/FormField.md index db6a0b8f..fa30ac13 100644 --- a/docs/FormField.md +++ b/docs/FormField.md @@ -35,6 +35,7 @@ | SUMMARY | "summary" | | MITIGATION_MESSAGE | "mitigation_message" | | RESOLUTION_MESSAGE | "resolution_message" | +| CANCELLATION_MESSAGE | "cancellation_message" | | SEVERITY | "severity" | | ENVIRONMENTS | "environments" | | TYPES | "types" | diff --git a/docs/FormFieldPlacementsApi.md b/docs/FormFieldPlacementsApi.md index ec21b462..222f59aa 100644 --- a/docs/FormFieldPlacementsApi.md +++ b/docs/FormFieldPlacementsApi.md @@ -148,6 +148,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | form_field_placement deleted | - | +| **422** | fixed problem gate placement rejected | - | | **404** | resource not found | - | diff --git a/docs/Functionality.md b/docs/Functionality.md index e9e051e1..8e0d3576 100644 --- a/docs/Functionality.md +++ b/docs/Functionality.md @@ -27,8 +27,8 @@ |**ownerGroupIds** | **List<String>** | Owner Teams associated with this functionality | [optional] | |**ownerUserIds** | **List<Integer>** | Owner Users associated with this functionality | [optional] | |**escalationPolicyId** | **String** | The escalation policy id of the functionality | [optional] | -|**slackChannels** | [**List<NewEnvironmentDataAttributesSlackChannelsInner>**](NewEnvironmentDataAttributesSlackChannelsInner.md) | Slack Channels associated with this functionality | [optional] | -|**slackAliases** | [**List<NewEnvironmentDataAttributesSlackAliasesInner>**](NewEnvironmentDataAttributesSlackAliasesInner.md) | Slack Aliases associated with this functionality | [optional] | +|**slackChannels** | [**List<EnvironmentSlackChannelsInner>**](EnvironmentSlackChannelsInner.md) | Slack Channels associated with this functionality | [optional] | +|**slackAliases** | [**List<EnvironmentSlackAliasesInner>**](EnvironmentSlackAliasesInner.md) | Slack Aliases associated with this functionality | [optional] | |**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this functionality. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/HttpClientTaskParams.md b/docs/HttpClientTaskParams.md index 1400a2ac..6352dcbc 100644 --- a/docs/HttpClientTaskParams.md +++ b/docs/HttpClientTaskParams.md @@ -20,6 +20,8 @@ |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**retryCount** | **Integer** | Number of times to retry on HTTP 429 responses (0-4). 0 disables retry. | [optional] | |**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | +|**expectedResponseHeaders** | **Map<String, String>** | Map of valid HTTP header names to regexp patterns. Header names must use HTTP token characters. Task fails if any header value does not match its pattern (case-insensitive). Leave empty to skip validation. | [optional] | +|**followRedirects** | **Boolean** | Whether to follow HTTP 3xx redirects. Defaults to true. Set to false to treat redirect responses as-is. | [optional] | diff --git a/docs/InTriageIncidentData.md b/docs/InTriageIncidentData.md index df24a621..3c5ec3f1 100644 --- a/docs/InTriageIncidentData.md +++ b/docs/InTriageIncidentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | diff --git a/docs/Incident.md b/docs/Incident.md index 06949b2f..588c4190 100644 --- a/docs/Incident.md +++ b/docs/Incident.md @@ -22,7 +22,7 @@ |**shortUrl** | **String** | The short url to the incident | [optional] | |**publicTitle** | **String** | The public title of the incident | [optional] | |**user** | **Object** | The user who created the incident | [optional] | -|**severity** | [**SeverityResponse**](SeverityResponse.md) | The Severity of the incident | [optional] | +|**severity** | [**NullableSeverityResponse**](NullableSeverityResponse.md) | | [optional] | |**environments** | [**List<EnvironmentResponse>**](EnvironmentResponse.md) | The Environments of the incident | [optional] | |**incidentTypes** | [**List<IncidentTypeResponse>**](IncidentTypeResponse.md) | The Incident Types of the incident | [optional] | |**services** | [**List<ServiceResponse>**](ServiceResponse.md) | The Services of the incident | [optional] | @@ -74,6 +74,7 @@ |**gitlabIssueUrl** | **String** | GitLab issue URL | [optional] | |**asanaTaskId** | **String** | Asana task ID | [optional] | |**asanaTaskUrl** | **String** | Asana task URL | [optional] | +|**linearIssueKey** | **String** | Linear issue key | [optional] | |**linearIssueId** | **String** | Linear issue ID | [optional] | |**linearIssueUrl** | **String** | Linear issue URL | [optional] | |**trelloCardId** | **String** | Trello card ID | [optional] | diff --git a/docs/IncidentRetrospectivesApi.md b/docs/IncidentRetrospectivesApi.md index 0b18ebda..6ecd2ae3 100644 --- a/docs/IncidentRetrospectivesApi.md +++ b/docs/IncidentRetrospectivesApi.md @@ -222,7 +222,7 @@ public class Example { Update an incident retrospective -Update a specific incident retrospective by id +Update a specific incident retrospective by id. The body may be written as `content` (or its alias `smart_content`) and is sanitized to the tags the retrospective editor supports. When no `title` is sent and the body opens with an `<h1>`, that heading becomes the retrospective title, matching the editor. Once a retrospective has been opened in the collaborative editor that editor owns the body, and body writes are rejected with a 409. ### Example ```java @@ -285,4 +285,6 @@ public class Example { |-------------|-------------|------------------| | **200** | incident_post_mortem updated | - | | **404** | resource not found | - | +| **409** | retrospective body owned by the collaborative editor | - | +| **503** | collaborative document state could not be verified | - | diff --git a/docs/IncidentStatusPageEventsApi.md b/docs/IncidentStatusPageEventsApi.md index dac945a5..97dfebb6 100644 --- a/docs/IncidentStatusPageEventsApi.md +++ b/docs/IncidentStatusPageEventsApi.md @@ -359,5 +359,6 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | incident_status_page_event started_at updated | - | +| **422** | moving a private incident's event to a public status page is rejected | - | | **404** | resource not found | - | diff --git a/docs/IncidentTriggerParams.md b/docs/IncidentTriggerParams.md index 97976f84..abb05226 100644 --- a/docs/IncidentTriggerParams.md +++ b/docs/IncidentTriggerParams.md @@ -36,6 +36,8 @@ |**incidentConditionAcknowledgedAt** | [**IncidentConditionAcknowledgedAtEnum**](#IncidentConditionAcknowledgedAtEnum) | | [optional] | |**incidentConditionMitigatedAt** | [**IncidentConditionMitigatedAtEnum**](#IncidentConditionMitigatedAtEnum) | | [optional] | |**incidentConditionResolvedAt** | [**IncidentConditionResolvedAtEnum**](#IncidentConditionResolvedAtEnum) | | [optional] | +|**incidentConditionScheduledFor** | [**IncidentConditionScheduledForEnum**](#IncidentConditionScheduledForEnum) | | [optional] | +|**incidentConditionScheduledUntil** | [**IncidentConditionScheduledUntilEnum**](#IncidentConditionScheduledUntilEnum) | | [optional] | |**incidentConditionalInactivity** | [**IncidentConditionalInactivityEnum**](#IncidentConditionalInactivityEnum) | | [optional] | @@ -370,6 +372,24 @@ +## Enum: IncidentConditionScheduledForEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + +## Enum: IncidentConditionScheduledUntilEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + ## Enum: IncidentConditionalInactivityEnum | Name | Value | diff --git a/docs/IncidentType.md b/docs/IncidentType.md index aa0d76dd..dee5e078 100644 --- a/docs/IncidentType.md +++ b/docs/IncidentType.md @@ -14,8 +14,8 @@ |**color** | **String** | The hex color of the incident type | [optional] | |**position** | **Integer** | Position of the incident type | [optional] | |**notifyEmails** | **List<String>** | Emails to attach to the incident type | [optional] | -|**slackChannels** | [**List<NewEnvironmentDataAttributesSlackChannelsInner>**](NewEnvironmentDataAttributesSlackChannelsInner.md) | Slack Channels associated with this incident type | [optional] | -|**slackAliases** | [**List<NewEnvironmentDataAttributesSlackAliasesInner>**](NewEnvironmentDataAttributesSlackAliasesInner.md) | Slack Aliases associated with this incident type | [optional] | +|**slackChannels** | [**List<EnvironmentSlackChannelsInner>**](EnvironmentSlackChannelsInner.md) | Slack Channels associated with this incident type | [optional] | +|**slackAliases** | [**List<EnvironmentSlackAliasesInner>**](EnvironmentSlackAliasesInner.md) | Slack Aliases associated with this incident type | [optional] | |**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this incident type. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/IncidentsApi.md b/docs/IncidentsApi.md index e7bb43e0..c2ccc6d4 100644 --- a/docs/IncidentsApi.md +++ b/docs/IncidentsApi.md @@ -235,7 +235,7 @@ public class Example { # **createIncident** -> IncidentResponse createIncident(newIncident) +> IncidentResponse createIncident(newIncident, idempotencyKey) Creates an incident @@ -262,8 +262,9 @@ public class Example { IncidentsApi apiInstance = new IncidentsApi(defaultClient); NewIncident newIncident = new NewIncident(); // NewIncident | + String idempotencyKey = "idempotencyKey_example"; // String | Optional client-generated key that makes creation safe to retry. Within 24 hours, a repeat request carrying the same key returns the incident created by the first request with status 200 instead of creating a duplicate. Keys are scoped to the team. Keys longer than 255 characters are rejected with 422. try { - IncidentResponse result = apiInstance.createIncident(newIncident); + IncidentResponse result = apiInstance.createIncident(newIncident, idempotencyKey); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling IncidentsApi#createIncident"); @@ -281,6 +282,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **newIncident** | [**NewIncident**](NewIncident.md)| | | +| **idempotencyKey** | **String**| Optional client-generated key that makes creation safe to retry. Within 24 hours, a repeat request carrying the same key returns the incident created by the first request with status 200 instead of creating a duplicate. Keys are scoped to the team. Keys longer than 255 characters are rejected with 422. | [optional] | ### Return type @@ -299,6 +301,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **201** | incident created | - | +| **200** | incident already created for this Idempotency-Key | - | | **422** | invalid causes association | - | | **401** | responds with unauthorized for invalid token | - | diff --git a/docs/JSONPath.md b/docs/JSONPath.md new file mode 100644 index 00000000..7638a336 --- /dev/null +++ b/docs/JSONPath.md @@ -0,0 +1,46 @@ + + +# JSONPath + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**jsonPath** | **String** | JSON path to extract value from payload | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How JSON path value should be matched | | +|**value** | **String** | Value with which JSON path value should be matched | [optional] | +|**values** | **List<String>** | Values to match against (for is_one_of / is_not_one_of operators) | [optional] | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| JSON_PATH | "json_path" | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "is" | +| IS_NOT | "is_not" | +| CONTAINS | "contains" | +| DOES_NOT_CONTAIN | "does_not_contain" | +| CONTAINS_KEY | "contains_key" | +| DOES_NOT_CONTAIN_KEY | "does_not_contain_key" | +| STARTS_WITH | "starts_with" | +| DOES_NOT_START_WITH | "does_not_start_with" | +| MATCHES | "matches" | +| DOES_NOT_MATCH | "does_not_match" | +| IS_ONE_OF | "is_one_of" | +| IS_NOT_ONE_OF | "is_not_one_of" | +| IS_SET | "is_set" | +| IS_NOT_SET | "is_not_set" | + + + diff --git a/docs/LinkIncidents.md b/docs/LinkIncidents.md new file mode 100644 index 00000000..780ec674 --- /dev/null +++ b/docs/LinkIncidents.md @@ -0,0 +1,13 @@ + + +# LinkIncidents + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**LinkIncidentsData**](LinkIncidentsData.md) | | | + + + diff --git a/docs/LinkIncidentsData.md b/docs/LinkIncidentsData.md new file mode 100644 index 00000000..e14e5e09 --- /dev/null +++ b/docs/LinkIncidentsData.md @@ -0,0 +1,22 @@ + + +# LinkIncidentsData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**LinkIncidentsDataAttributes**](LinkIncidentsDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEMS | "problems" | + + + diff --git a/docs/LinkIncidentsDataAttributes.md b/docs/LinkIncidentsDataAttributes.md new file mode 100644 index 00000000..9cefbbb1 --- /dev/null +++ b/docs/LinkIncidentsDataAttributes.md @@ -0,0 +1,14 @@ + + +# LinkIncidentsDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**incidentId** | **String** | ID of a single incident to link | [optional] | +|**incidentIds** | **List<String>** | IDs of incidents to link | [optional] | + + + diff --git a/docs/LiveCallRouter.md b/docs/LiveCallRouter.md index 6ffca8ff..f424a268 100644 --- a/docs/LiveCallRouter.md +++ b/docs/LiveCallRouter.md @@ -26,8 +26,8 @@ |**informationalNotificationMessage** | **String** | Optional message included in the SMS/push notification. Supports variables such as {{ alert.url }}, {{ alert.data.* }}, and {{ alert.alert_urgency.name }}. | [optional] | |**alertUrgencyId** | **String** | This is used in escalation paths to determine who to page | [optional] | |**callingTreePrompt** | **String** | The audio instructions callers will hear when they call this number, prompting them to select from available options to route their call | [optional] | -|**pagingTargets** | [**List<NewLiveCallRouterDataAttributesPagingTargetsInner>**](NewLiveCallRouterDataAttributesPagingTargetsInner.md) | Paging targets that callers can select from when this live call router is configured as a phone tree. | [optional] | -|**escalationPolicyTriggerParams** | [**UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams**](UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md) | | [optional] | +|**pagingTargets** | [**List<LiveCallRouterPagingTargetsInner>**](LiveCallRouterPagingTargetsInner.md) | Paging targets that callers can select from when this live call router is configured as a phone tree. | [optional] | +|**escalationPolicyTriggerParams** | [**LiveCallRouterEscalationPolicyTriggerParams**](LiveCallRouterEscalationPolicyTriggerParams.md) | | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/LiveCallRouterEscalationPolicyTriggerParams.md b/docs/LiveCallRouterEscalationPolicyTriggerParams.md new file mode 100644 index 00000000..5d970904 --- /dev/null +++ b/docs/LiveCallRouterEscalationPolicyTriggerParams.md @@ -0,0 +1,25 @@ + + +# LiveCallRouterEscalationPolicyTriggerParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The ID of notification target | | +|**type** | [**TypeEnum**](#TypeEnum) | The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "Service" | +| GROUP | "Group" | +| ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | + + + diff --git a/docs/LiveCallRouterPagingTargetsInner.md b/docs/LiveCallRouterPagingTargetsInner.md new file mode 100644 index 00000000..fc89c65f --- /dev/null +++ b/docs/LiveCallRouterPagingTargetsInner.md @@ -0,0 +1,26 @@ + + +# LiveCallRouterPagingTargetsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The ID of paging target | | +|**type** | [**TypeEnum**](#TypeEnum) | The type of the paging target. Please contact support if you encounter issues using `functionality` as a target type. | | +|**alertUrgencyId** | **String** | This is used in escalation paths to determine who to page | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "service" | +| TEAM | "team" | +| ESCALATION_POLICY | "escalation_policy" | +| FUNCTIONALITY | "functionality" | + + + diff --git a/docs/MeetingRecordingsApi.md b/docs/MeetingRecordingsApi.md index 97a80583..7c918936 100644 --- a/docs/MeetingRecordingsApi.md +++ b/docs/MeetingRecordingsApi.md @@ -846,7 +846,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **201** | session created | - | -| **422** | invalid platform | - | +| **422** | Scribe is disabled for the organization | - | # **stopMeetingRecording** diff --git a/docs/MitigateIncidentData.md b/docs/MitigateIncidentData.md index 95f2efb9..35ef5998 100644 --- a/docs/MitigateIncidentData.md +++ b/docs/MitigateIncidentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**MitigateIncidentDataAttributes**](MitigateIncidentDataAttributes.md) | | | diff --git a/docs/NewAlertDataAttributes.md b/docs/NewAlertDataAttributes.md index 10e0acae..d66f7646 100644 --- a/docs/NewAlertDataAttributes.md +++ b/docs/NewAlertDataAttributes.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**actor** | [**NewAlertDataAttributesActor**](NewAlertDataAttributesActor.md) | | [optional] | |**noise** | [**NoiseEnum**](#NoiseEnum) | Whether the alert is marked as noise | [optional] | |**source** | **String** | Deprecated. Accepted for backwards compatibility; new clients should omit. Defaults to `api`. | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | Only available for organizations with Rootly On-Call enabled. Can be one of open, triggered. | [optional] | diff --git a/docs/NewAlertDataAttributesActor.md b/docs/NewAlertDataAttributesActor.md new file mode 100644 index 00000000..52fcdde7 --- /dev/null +++ b/docs/NewAlertDataAttributesActor.md @@ -0,0 +1,15 @@ + + +# NewAlertDataAttributesActor + +The user to record as performing this action. Only available when actor attribution is enabled for the organization; otherwise it is ignored. Only supported with Global and Team API keys; with a Team API key the user must belong to one of the key's teams. When omitted or null, the action is attributed to the API key. Otherwise provide either `email` or `user_id`, not both. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**email** | **String** | Email of the user, including verified secondary emails. | | +|**userId** | **String** | Rootly ID of the user. | | + + + diff --git a/docs/NewAlertDataAttributesActorOneOf.md b/docs/NewAlertDataAttributesActorOneOf.md new file mode 100644 index 00000000..e6885796 --- /dev/null +++ b/docs/NewAlertDataAttributesActorOneOf.md @@ -0,0 +1,13 @@ + + +# NewAlertDataAttributesActorOneOf + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**email** | **String** | Email of the user, including verified secondary emails. | | + + + diff --git a/docs/NewAlertDataAttributesActorOneOf1.md b/docs/NewAlertDataAttributesActorOneOf1.md new file mode 100644 index 00000000..6e77338e --- /dev/null +++ b/docs/NewAlertDataAttributesActorOneOf1.md @@ -0,0 +1,13 @@ + + +# NewAlertDataAttributesActorOneOf1 + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**userId** | **String** | Rootly ID of the user. | | + + + diff --git a/docs/NewAlertFieldDataAttributes.md b/docs/NewAlertFieldDataAttributes.md index 2df043fb..446c5514 100644 --- a/docs/NewAlertFieldDataAttributes.md +++ b/docs/NewAlertFieldDataAttributes.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**slug** | **String** | Deprecated. `slug` is derived from `name`; any submitted value is ignored. This property will be removed from the request schema in a future version. | [optional] | |**name** | **String** | The name of the alert field | | +|**ownerGroupIds** | **List<String>** | IDs of the teams that own the alert field. Callers with org-wide alert field permissions may omit it or pass an empty list to create an org-wide field. Callers without them (team admins, team-scoped API keys) get their administered teams by default when it is omitted, and must otherwise pass at least one team they administer; an explicit empty list or null is rejected. | [optional] | diff --git a/docs/NewAlertGroupDataAttributes.md b/docs/NewAlertGroupDataAttributes.md index 56f777cc..44beb854 100644 --- a/docs/NewAlertGroupDataAttributes.md +++ b/docs/NewAlertGroupDataAttributes.md @@ -11,6 +11,7 @@ |**name** | **String** | The name of the alert group | | |**description** | **String** | The description of the alert urgency | [optional] | |**timeWindow** | **Integer** | The length of time an Alert Group should stay open and accept new alerts | [optional] | +|**ownerGroupIds** | **List<UUID>** | Teams that own this alert group. Admins of an owning team can manage it, and an owned alert group can only target destinations that belong to its owning teams. Only available when owning teams for alert groups are enabled for the organization. | [optional] | |**targets** | [**List<NewAlertGroupDataAttributesTargetsInner>**](NewAlertGroupDataAttributesTargetsInner.md) | | [optional] | |**attributes** | [**List<NewAlertGroupDataAttributesAttributesInner>**](NewAlertGroupDataAttributesAttributesInner.md) | This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. | [optional] | |**groupByAlertTitle** | [**GroupByAlertTitleEnum**](#GroupByAlertTitleEnum) | [DEPRECATED] Whether the alerts should be grouped by titles. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. | [optional] | diff --git a/docs/NewAlertUrgencyDataAttributes.md b/docs/NewAlertUrgencyDataAttributes.md index a4c4719d..e4b1dc94 100644 --- a/docs/NewAlertUrgencyDataAttributes.md +++ b/docs/NewAlertUrgencyDataAttributes.md @@ -10,7 +10,29 @@ |**name** | **String** | The name of the alert urgency | | |**description** | **String** | The description of the alert urgency | | |**position** | **Integer** | Position of the alert urgency | [optional] | -|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, negative = never. | [optional] | +|**retriggerTimeoutMinutes** | [**RetriggerTimeoutMinutesEnum**](#RetriggerTimeoutMinutesEnum) | Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, -1 = never. | [optional] | + + + +## Enum: RetriggerTimeoutMinutesEnum + +| Name | Value | +|---- | -----| +| NUMBER_MINUS_1 | -1 | +| NUMBER_10 | 10 | +| NUMBER_20 | 20 | +| NUMBER_30 | 30 | +| NUMBER_40 | 40 | +| NUMBER_50 | 50 | +| NUMBER_60 | 60 | +| NUMBER_90 | 90 | +| NUMBER_120 | 120 | +| NUMBER_180 | 180 | +| NUMBER_240 | 240 | +| NUMBER_300 | 300 | +| NUMBER_360 | 360 | +| NUMBER_720 | 720 | +| NUMBER_1440 | 1440 | diff --git a/docs/NewAlertsSourceDataAttributesSourceableAttributes.md b/docs/NewAlertsSourceDataAttributesSourceableAttributes.md index 4d02042b..0684ded4 100644 --- a/docs/NewAlertsSourceDataAttributesSourceableAttributes.md +++ b/docs/NewAlertsSourceDataAttributesSourceableAttributes.md @@ -2,7 +2,7 @@ # NewAlertsSourceDataAttributesSourceableAttributes -Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails` applies to email sources. +Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails`, `notification_target_type` and `notification_target_id` apply to email sources. ## Properties @@ -11,7 +11,21 @@ Provide additional attributes for the underlying source. `auto_resolve`, `resolv |**autoResolve** | **Boolean** | Set this to true to auto-resolve alerts based on field_mappings_attributes conditions | [optional] | |**resolveState** | **String** | This value is matched with the value extracted from alerts payload using JSON path in field_mappings_attributes | [optional] | |**acceptThreadedEmails** | **Boolean** | Set this to false to reject threaded emails | [optional] | +|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | Email sources only. The type of the notification target every alert from this source pages directly; While it points to an active, pageable target, Alert Routes are not evaluated. Only used when the `email-alert-source-notification-target` feature flag is on for the team. | [optional] | +|**notificationTargetId** | **String** | Email sources only. The ID of the notification target. Set to null to clear it; this also clears `notification_target_type`. Only used when the `email-alert-source-notification-target` feature flag is on for the team. | [optional] | |**fieldMappingsAttributes** | [**List<NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner>**](NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md) | Specify rules to auto resolve alerts | [optional] | +## Enum: NotificationTargetTypeEnum + +| Name | Value | +|---- | -----| +| ESCALATION_POLICY | "EscalationPolicy" | +| GROUP | "Group" | +| SERVICE | "Service" | +| FUNCTIONALITY | "Functionality" | +| USER | "User" | + + + diff --git a/docs/NewEdgeConnectorEdgeConnector.md b/docs/NewEdgeConnectorEdgeConnector.md index 19afe3c4..7b1aca88 100644 --- a/docs/NewEdgeConnectorEdgeConnector.md +++ b/docs/NewEdgeConnectorEdgeConnector.md @@ -11,6 +11,7 @@ |**description** | **String** | Connector description | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | Connector status | [optional] | |**subscriptions** | **List<String>** | Array of event types to subscribe to | [optional] | +|**ownerGroupIds** | **List<UUID>** | IDs of the teams (groups) that own this connector. Required when the caller is a team admin without tenant-wide edge connector permissions | [optional] | diff --git a/docs/NewEscalationPolicyDataAttributesBusinessHours.md b/docs/NewEscalationPolicyDataAttributesBusinessHours.md index 82a24993..0c4584e9 100644 --- a/docs/NewEscalationPolicyDataAttributesBusinessHours.md +++ b/docs/NewEscalationPolicyDataAttributesBusinessHours.md @@ -90,6 +90,8 @@ | ATLANTIC_AZORES | "Atlantic/Azores" | | CAPE_VERDE_IS_ | "Cape Verde Is." | | ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | | EDINBURGH | "Edinburgh" | | EUROPE_LONDON | "Europe/London" | | LISBON | "Lisbon" | @@ -113,8 +115,6 @@ | EUROPE_BRUSSELS | "Europe/Brussels" | | BUDAPEST | "Budapest" | | EUROPE_BUDAPEST | "Europe/Budapest" | -| CASABLANCA | "Casablanca" | -| AFRICA_CASABLANCA | "Africa/Casablanca" | | COPENHAGEN | "Copenhagen" | | EUROPE_COPENHAGEN | "Europe/Copenhagen" | | DUBLIN | "Dublin" | @@ -159,7 +159,7 @@ | KALININGRAD | "Kaliningrad" | | EUROPE_KALININGRAD | "Europe/Kaliningrad" | | KYIV | "Kyiv" | -| EUROPE_KIEV | "Europe/Kiev" | +| EUROPE_KYIV | "Europe/Kyiv" | | PRETORIA | "Pretoria" | | AFRICA_JOHANNESBURG | "Africa/Johannesburg" | | RIGA | "Riga" | @@ -226,7 +226,7 @@ | URUMQI | "Urumqi" | | ASIA_URUMQI | "Asia/Urumqi" | | RANGOON | "Rangoon" | -| ASIA_RANGOON | "Asia/Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | | BANGKOK | "Bangkok" | | ASIA_BANGKOK | "Asia/Bangkok" | | HANOI | "Hanoi" | @@ -323,6 +323,8 @@ | PACIFIC_MARQUESAS | "Pacific/Marquesas" | | PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | | PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | diff --git a/docs/NewEscalationPolicyPathDataAttributes.md b/docs/NewEscalationPolicyPathDataAttributes.md index 80d9f926..164ac825 100644 --- a/docs/NewEscalationPolicyPathDataAttributes.md +++ b/docs/NewEscalationPolicyPathDataAttributes.md @@ -18,8 +18,10 @@ |**repeat** | **Boolean** | Whether this path should be repeated until someone acknowledges the alert | [optional] | |**repeatCount** | **Integer** | The number of times this path will be executed until someone acknowledges the alert | [optional] | |**initialDelay** | **Integer** | Initial delay for escalation path in minutes. Maximum 1 week (10080). | [optional] | -|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, negative = never. | [optional] | +|**retriggerTimeoutMinutes** | [**RetriggerTimeoutMinutesEnum**](#RetriggerTimeoutMinutesEnum) | Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. | [optional] | |**rules** | [**List<NewEscalationPolicyPathDataAttributesRulesInner>**](NewEscalationPolicyPathDataAttributesRulesInner.md) | Escalation path conditions | [optional] | +|**notificationTypeRules** | [**List<NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner>**](NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md) | Rules deciding whether an alert pages audible or quiet, evaluated in order — the first matching rule's notification_type wins, otherwise notification_type_fallback applies. When present, the path's notification_type is aligned to notification_type_fallback. Only available when notification type conditions are enabled for the team. | [optional] | +|**notificationTypeFallback** | [**NotificationTypeFallbackEnum**](#NotificationTypeFallbackEnum) | Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. | [optional] | |**timeRestrictionTimeZone** | [**TimeRestrictionTimeZoneEnum**](#TimeRestrictionTimeZoneEnum) | Time zone used for time restrictions. | [optional] | |**timeRestrictions** | [**List<NewEscalationPolicyPathDataAttributesTimeRestrictionsInner>**](NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md) | If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. | [optional] | @@ -61,6 +63,37 @@ +## Enum: RetriggerTimeoutMinutesEnum + +| Name | Value | +|---- | -----| +| NUMBER_MINUS_1 | -1 | +| NUMBER_10 | 10 | +| NUMBER_20 | 20 | +| NUMBER_30 | 30 | +| NUMBER_40 | 40 | +| NUMBER_50 | 50 | +| NUMBER_60 | 60 | +| NUMBER_90 | 90 | +| NUMBER_120 | 120 | +| NUMBER_180 | 180 | +| NUMBER_240 | 240 | +| NUMBER_300 | 300 | +| NUMBER_360 | 360 | +| NUMBER_720 | 720 | +| NUMBER_1440 | 1440 | + + + +## Enum: NotificationTypeFallbackEnum + +| Name | Value | +|---- | -----| +| AUDIBLE | "audible" | +| QUIET | "quiet" | + + + ## Enum: TimeRestrictionTimeZoneEnum | Name | Value | @@ -137,6 +170,8 @@ | ATLANTIC_AZORES | "Atlantic/Azores" | | CAPE_VERDE_IS_ | "Cape Verde Is." | | ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | | EDINBURGH | "Edinburgh" | | EUROPE_LONDON | "Europe/London" | | LISBON | "Lisbon" | @@ -160,8 +195,6 @@ | EUROPE_BRUSSELS | "Europe/Brussels" | | BUDAPEST | "Budapest" | | EUROPE_BUDAPEST | "Europe/Budapest" | -| CASABLANCA | "Casablanca" | -| AFRICA_CASABLANCA | "Africa/Casablanca" | | COPENHAGEN | "Copenhagen" | | EUROPE_COPENHAGEN | "Europe/Copenhagen" | | DUBLIN | "Dublin" | @@ -206,7 +239,7 @@ | KALININGRAD | "Kaliningrad" | | EUROPE_KALININGRAD | "Europe/Kaliningrad" | | KYIV | "Kyiv" | -| EUROPE_KIEV | "Europe/Kiev" | +| EUROPE_KYIV | "Europe/Kyiv" | | PRETORIA | "Pretoria" | | AFRICA_JOHANNESBURG | "Africa/Johannesburg" | | RIGA | "Riga" | @@ -273,7 +306,7 @@ | URUMQI | "Urumqi" | | ASIA_URUMQI | "Asia/Urumqi" | | RANGOON | "Rangoon" | -| ASIA_RANGOON | "Asia/Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | | BANGKOK | "Bangkok" | | ASIA_BANGKOK | "Asia/Bangkok" | | HANOI | "Hanoi" | @@ -370,6 +403,8 @@ | PACIFIC_MARQUESAS | "Pacific/Marquesas" | | PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | | PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | diff --git a/docs/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md b/docs/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md new file mode 100644 index 00000000..fa277bfd --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md @@ -0,0 +1,33 @@ + + +# NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | Outcome when this rule matches | [optional] | +|**matchMode** | [**MatchModeEnum**](#MatchModeEnum) | Whether all or any of the rule's conditions must match | [optional] | +|**conditions** | [**List<NewEscalationPolicyPathDataAttributesRulesInner>**](NewEscalationPolicyPathDataAttributesRulesInner.md) | Conditions combined per match_mode, at least one per rule. A deferral_window condition matches when the alert falls inside its time blocks. | | + + + +## Enum: NotificationTypeEnum + +| Name | Value | +|---- | -----| +| AUDIBLE | "audible" | +| QUIET | "quiet" | + + + +## Enum: MatchModeEnum + +| Name | Value | +|---- | -----| +| MATCH_ALL_RULES | "match-all-rules" | +| MATCH_ANY_RULE | "match-any-rule" | + + + diff --git a/docs/NewEscalationPolicyPathDataAttributesRulesInner.md b/docs/NewEscalationPolicyPathDataAttributesRulesInner.md index 5cf7f35c..61dfd721 100644 --- a/docs/NewEscalationPolicyPathDataAttributesRulesInner.md +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInner.md @@ -9,16 +9,16 @@ |------------ | ------------- | ------------- | -------------| |**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | |**urgencyIds** | **List<String>** | Alert urgency ids for which this escalation path should be used | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | Whether the alert must (or must not) have related incidents | | |**withinWorkingHour** | **Boolean** | Whether the escalation path should be used within working hours | | |**jsonPath** | **String** | JSON path to extract value from payload | | -|**operator** | [**OperatorEnum**](#OperatorEnum) | Whether the alert must (or must not) have related incidents | | |**value** | **String** | Value with which JSON path value should be matched | [optional] | |**values** | **List<String>** | Alert source values to match against (e.g., manual, datadog) | | |**fieldableType** | **String** | The type of the fieldable (e.g., AlertField) | | |**fieldableId** | **String** | The ID of the alert field | | |**serviceIds** | **List<String>** | Service ids for which this escalation path should be used | | |**timeZone** | [**TimeZoneEnum**](#TimeZoneEnum) | Time zone for the deferral window | | -|**timeBlocks** | [**List<NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner>**](NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md) | Time windows during which alerts are deferred | | +|**timeBlocks** | [**List<DeferralWindowTimeBlocksInner>**](DeferralWindowTimeBlocksInner.md) | Time windows during which alerts are deferred | | @@ -115,6 +115,8 @@ | ATLANTIC_AZORES | "Atlantic/Azores" | | CAPE_VERDE_IS_ | "Cape Verde Is." | | ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | | EDINBURGH | "Edinburgh" | | EUROPE_LONDON | "Europe/London" | | LISBON | "Lisbon" | @@ -138,8 +140,6 @@ | EUROPE_BRUSSELS | "Europe/Brussels" | | BUDAPEST | "Budapest" | | EUROPE_BUDAPEST | "Europe/Budapest" | -| CASABLANCA | "Casablanca" | -| AFRICA_CASABLANCA | "Africa/Casablanca" | | COPENHAGEN | "Copenhagen" | | EUROPE_COPENHAGEN | "Europe/Copenhagen" | | DUBLIN | "Dublin" | @@ -184,7 +184,7 @@ | KALININGRAD | "Kaliningrad" | | EUROPE_KALININGRAD | "Europe/Kaliningrad" | | KYIV | "Kyiv" | -| EUROPE_KIEV | "Europe/Kiev" | +| EUROPE_KYIV | "Europe/Kyiv" | | PRETORIA | "Pretoria" | | AFRICA_JOHANNESBURG | "Africa/Johannesburg" | | RIGA | "Riga" | @@ -251,7 +251,7 @@ | URUMQI | "Urumqi" | | ASIA_URUMQI | "Asia/Urumqi" | | RANGOON | "Rangoon" | -| ASIA_RANGOON | "Asia/Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | | BANGKOK | "Bangkok" | | ASIA_BANGKOK | "Asia/Bangkok" | | HANOI | "Hanoi" | @@ -348,6 +348,8 @@ | PACIFIC_MARQUESAS | "Pacific/Marquesas" | | PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | | PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | diff --git a/docs/NewFormFieldDataAttributes.md b/docs/NewFormFieldDataAttributes.md index 6d5ca52f..352d87fd 100644 --- a/docs/NewFormFieldDataAttributes.md +++ b/docs/NewFormFieldDataAttributes.md @@ -32,6 +32,7 @@ | SUMMARY | "summary" | | MITIGATION_MESSAGE | "mitigation_message" | | RESOLUTION_MESSAGE | "resolution_message" | +| CANCELLATION_MESSAGE | "cancellation_message" | | SEVERITY | "severity" | | ENVIRONMENTS | "environments" | | TYPES | "types" | diff --git a/docs/NewIncidentDataAttributes.md b/docs/NewIncidentDataAttributes.md index 72bee114..515bfab7 100644 --- a/docs/NewIncidentDataAttributes.md +++ b/docs/NewIncidentDataAttributes.md @@ -34,6 +34,9 @@ |**jiraIssueKey** | **String** | Jira issue key | [optional] | |**jiraIssueId** | **String** | Jira issue ID | [optional] | |**jiraIssueUrl** | **String** | Jira issue URL | [optional] | +|**linearIssueKey** | **String** | Linear issue key | [optional] | +|**linearIssueId** | **String** | Linear issue ID | [optional] | +|**linearIssueUrl** | **String** | Linear issue URL | [optional] | |**notifyEmails** | **List<String>** | Emails you want to notify | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | The status of the incident | [optional] | |**url** | **String** | The url to the incident | [optional] | diff --git a/docs/NewIncidentStatusPageEventDataAttributes.md b/docs/NewIncidentStatusPageEventDataAttributes.md index 07ea3944..c685eec4 100644 --- a/docs/NewIncidentStatusPageEventDataAttributes.md +++ b/docs/NewIncidentStatusPageEventDataAttributes.md @@ -13,7 +13,7 @@ |**notifySubscribers** | **Boolean** | Notify all status pages subscribers | [optional] | |**shouldTweet** | **Boolean** | For Statuspage.io integrated pages auto publishes a tweet for your update | [optional] | |**startedAt** | **OffsetDateTime** | When the event started. Defaults to the time of creation. | [optional] | -|**statusPageComponents** | [**List<NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner>**](NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner.md) | Affected status page components and their statuses. Requires the status-page-v3-phase-1 feature. Ignored for terminal event statuses (resolved, completed), which clear component impact. A status is required per component except for scheduled maintenance incidents. | [optional] | +|**statusPageComponents** | [**List<NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner>**](NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner.md) | Affected status page components and their statuses. This field is in Early Access and is not generally available; contact Rootly Support to request access. Ignored for terminal event statuses (resolved, completed), which clear component impact. A status is required per component except for scheduled maintenance incidents. | [optional] | diff --git a/docs/NewOnCallRoleDataAttributes.md b/docs/NewOnCallRoleDataAttributes.md index f308a32b..abedb83c 100644 --- a/docs/NewOnCallRoleDataAttributes.md +++ b/docs/NewOnCallRoleDataAttributes.md @@ -27,6 +27,7 @@ |**integrationsPermissions** | [**List<IntegrationsPermissionsEnum>**](#List<IntegrationsPermissionsEnum>) | | [optional] | |**invitationsPermissions** | [**List<InvitationsPermissionsEnum>**](#List<InvitationsPermissionsEnum>) | | [optional] | |**liveCallRoutingPermissions** | [**List<LiveCallRoutingPermissionsEnum>**](#List<LiveCallRoutingPermissionsEnum>) | | [optional] | +|**membersPermissions** | [**List<MembersPermissionsEnum>**](#List<MembersPermissionsEnum>) | | [optional] | |**scheduleOverridePermissions** | [**List<ScheduleOverridePermissionsEnum>**](#List<ScheduleOverridePermissionsEnum>) | | [optional] | |**schedulesPermissions** | [**List<SchedulesPermissionsEnum>**](#List<SchedulesPermissionsEnum>) | | [optional] | |**servicesPermissions** | [**List<ServicesPermissionsEnum>**](#List<ServicesPermissionsEnum>) | | [optional] | @@ -230,6 +231,16 @@ +## Enum: List<MembersPermissionsEnum> + +| Name | Value | +|---- | -----| +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<ScheduleOverridePermissionsEnum> | Name | Value | diff --git a/docs/NewPlaybookDataAttributes.md b/docs/NewPlaybookDataAttributes.md index 8a5a6dd9..e756f930 100644 --- a/docs/NewPlaybookDataAttributes.md +++ b/docs/NewPlaybookDataAttributes.md @@ -9,6 +9,8 @@ |------------ | ------------- | ------------- | -------------| |**title** | **String** | The title of the playbook | | |**summary** | **String** | The summary of the playbook | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). | [optional] | +|**content** | **String** | Sanitized HTML instructions. Still returned when `kind` is `external_url`, where the body may be stale — branch on `kind`, not on `content` being present. | [optional] | |**externalUrl** | **String** | The external url of the playbook | [optional] | |**severityIds** | **List<String>** | The Severity IDs to attach to the incident | [optional] | |**environmentIds** | **List<String>** | The Environment IDs to attach to the incident | [optional] | @@ -16,6 +18,16 @@ |**functionalityIds** | **List<String>** | The Functionality IDs to attach to the incident | [optional] | |**groupIds** | **List<String>** | The Team IDs to attach to the incident | [optional] | |**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the incident | [optional] | +|**causeIds** | **List<String>** | The Cause IDs to attach to the incident | [optional] | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| INTERNAL_DOCUMENT | "internal_document" | +| EXTERNAL_URL | "external_url" | diff --git a/docs/NewProblem.md b/docs/NewProblem.md new file mode 100644 index 00000000..474170f4 --- /dev/null +++ b/docs/NewProblem.md @@ -0,0 +1,13 @@ + + +# NewProblem + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewProblemData**](NewProblemData.md) | | | + + + diff --git a/docs/NewProblemActionItem.md b/docs/NewProblemActionItem.md new file mode 100644 index 00000000..b9365d32 --- /dev/null +++ b/docs/NewProblemActionItem.md @@ -0,0 +1,13 @@ + + +# NewProblemActionItem + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewProblemActionItemData**](NewProblemActionItemData.md) | | | + + + diff --git a/docs/NewProblemActionItemData.md b/docs/NewProblemActionItemData.md new file mode 100644 index 00000000..8f17271b --- /dev/null +++ b/docs/NewProblemActionItemData.md @@ -0,0 +1,22 @@ + + +# NewProblemActionItemData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewProblemActionItemDataAttributes**](NewProblemActionItemDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEM_ACTION_ITEMS | "problem_action_items" | + + + diff --git a/docs/NewProblemActionItemDataAttributes.md b/docs/NewProblemActionItemDataAttributes.md new file mode 100644 index 00000000..412a15bd --- /dev/null +++ b/docs/NewProblemActionItemDataAttributes.md @@ -0,0 +1,40 @@ + + +# NewProblemActionItemDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**summary** | **String** | The summary of the action item | | +|**description** | **String** | The description of the action item | [optional] | +|**assignedToUserId** | **Integer** | ID of user you wish to assign this action item | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | The priority of the action item | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | The status of the action item | [optional] | +|**dueDate** | **String** | The due date of the action item | [optional] | +|**jiraIssueUrl** | **String** | The Jira issue URL. | [optional] | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| HIGH | "high" | +| MEDIUM | "medium" | +| LOW | "low" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| OPEN | "open" | +| IN_PROGRESS | "in_progress" | +| CANCELLED | "cancelled" | +| DONE | "done" | + + + diff --git a/docs/NewProblemData.md b/docs/NewProblemData.md new file mode 100644 index 00000000..3b9d69fd --- /dev/null +++ b/docs/NewProblemData.md @@ -0,0 +1,22 @@ + + +# NewProblemData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewProblemDataAttributes**](NewProblemDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEMS | "problems" | + + + diff --git a/docs/NewProblemDataAttributes.md b/docs/NewProblemDataAttributes.md new file mode 100644 index 00000000..c83ee00e --- /dev/null +++ b/docs/NewProblemDataAttributes.md @@ -0,0 +1,40 @@ + + +# NewProblemDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**title** | **String** | The title of the problem | | +|**description** | **String** | The description of the problem | [optional] | +|**ownerUserId** | **Integer** | ID of the user who owns the problem | [optional] | +|**ownerGroupId** | **String** | ID of the group (team) that owns the problem | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | The priority of the problem | [optional] | +|**dueDate** | **LocalDate** | The due date of the problem | [optional] | +|**scope** | **String** | The scope of the problem | [optional] | +|**exitCriteria** | **String** | The exit criteria of the problem | [optional] | +|**impactSoFar** | **String** | The impact observed so far | [optional] | +|**rootCause** | **String** | The root cause of the problem | [optional] | +|**resolution** | **String** | The resolution of the problem | [optional] | +|**deferralReason** | **String** | The reason and accepted risk for deferring the problem | [optional] | +|**cancellationReason** | **String** | The reason for cancelling the problem | [optional] | +|**nextReviewAt** | **String** | The next review date for a deferred problem | [optional] | +|**reReviewCadence** | **Integer** | Days between reviews for a deferred problem | [optional] | +|**incidentIds** | **List<String>** | IDs of incidents to link to the problem | [optional] | +|**formFieldSelections** | **List<Object>** | Custom (form) field selections for the problem | [optional] | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| P0 | "P0" | +| P1 | "P1" | +| P2 | "P2" | +| P3 | "P3" | + + + diff --git a/docs/NewRoleDataAttributes.md b/docs/NewRoleDataAttributes.md index 9f41efaf..3f1f1a51 100644 --- a/docs/NewRoleDataAttributes.md +++ b/docs/NewRoleDataAttributes.md @@ -34,11 +34,13 @@ |**servicesPermissions** | [**List<ServicesPermissionsEnum>**](#List<ServicesPermissionsEnum>) | | [optional] | |**severitiesPermissions** | [**List<SeveritiesPermissionsEnum>**](#List<SeveritiesPermissionsEnum>) | | [optional] | |**statusPagesPermissions** | [**List<StatusPagesPermissionsEnum>**](#List<StatusPagesPermissionsEnum>) | | [optional] | +|**statusPageUpdatesPermissions** | [**List<StatusPageUpdatesPermissionsEnum>**](#List<StatusPageUpdatesPermissionsEnum>) | | [optional] | |**webhooksPermissions** | [**List<WebhooksPermissionsEnum>**](#List<WebhooksPermissionsEnum>) | | [optional] | |**workflowsPermissions** | [**List<WorkflowsPermissionsEnum>**](#List<WorkflowsPermissionsEnum>) | | [optional] | |**catalogsPermissions** | [**List<CatalogsPermissionsEnum>**](#List<CatalogsPermissionsEnum>) | | [optional] | |**subStatusesPermissions** | [**List<SubStatusesPermissionsEnum>**](#List<SubStatusesPermissionsEnum>) | | [optional] | |**edgeConnectorPermissions** | [**List<EdgeConnectorPermissionsEnum>**](#List<EdgeConnectorPermissionsEnum>) | | [optional] | +|**privateAgentPermissions** | [**List<PrivateAgentPermissionsEnum>**](#List<PrivateAgentPermissionsEnum>) | Private Agent management permissions: create issues enrollment tokens, read views agent inventory and details, and delete revokes agent credentials. Create and delete can be used independently through the API; browser inventory requires read. | [optional] | |**slasPermissions** | [**List<SlasPermissionsEnum>**](#List<SlasPermissionsEnum>) | | [optional] | |**pagingPermissions** | [**List<PagingPermissionsEnum>**](#List<PagingPermissionsEnum>) | | [optional] | |**incidentCommunicationPermissions** | [**List<IncidentCommunicationPermissionsEnum>**](#List<IncidentCommunicationPermissionsEnum>) | | [optional] | @@ -307,6 +309,17 @@ +## Enum: List<StatusPageUpdatesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<WebhooksPermissionsEnum> | Name | Value | @@ -362,6 +375,17 @@ +## Enum: List<PrivateAgentPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<SlasPermissionsEnum> | Name | Value | diff --git a/docs/NewScheduleDataAttributes.md b/docs/NewScheduleDataAttributes.md index e1508836..dc09bc42 100644 --- a/docs/NewScheduleDataAttributes.md +++ b/docs/NewScheduleDataAttributes.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the schedule | | |**description** | **String** | The description of the schedule | [optional] | |**allTimeCoverage** | **Boolean** | 24/7 coverage of the schedule | [optional] | +|**timeZone** | **String** | IANA time zone the schedule's rotations are rendered in. Only writable for organizations configured with one timezone per schedule; otherwise it is derived from the rotations. | [optional] | |**slackUserGroup** | [**NewScheduleDataAttributesSlackUserGroup**](NewScheduleDataAttributesSlackUserGroup.md) | | [optional] | |**slackChannel** | [**NewScheduleDataAttributesSlackChannel**](NewScheduleDataAttributesSlackChannel.md) | | [optional] | |**ownerGroupIds** | **List<String>** | Owning teams. | [optional] | @@ -22,6 +23,7 @@ |**shiftReportDayOfWeek** | [**ShiftReportDayOfWeekEnum**](#ShiftReportDayOfWeekEnum) | Day of week the weekly shift summary is sent | [optional] | |**shiftReportTimeOfDay** | **String** | Time of day the weekly shift summary is sent, in HH:MM 24-hour format | [optional] | |**shiftReportTimeZone** | **String** | IANA time zone used for the weekly shift summary | [optional] | +|**businessHours** | [**NewScheduleDataAttributesBusinessHours**](NewScheduleDataAttributesBusinessHours.md) | | [optional] | diff --git a/docs/NewScheduleDataAttributesBusinessHours.md b/docs/NewScheduleDataAttributesBusinessHours.md new file mode 100644 index 00000000..66a0662f --- /dev/null +++ b/docs/NewScheduleDataAttributesBusinessHours.md @@ -0,0 +1,16 @@ + + +# NewScheduleDataAttributesBusinessHours + +Controls shadow paging on the schedule. Null disables shadow paging. start_time and end_time are HH:MM 24-hour format strings. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startTime** | **String** | | | +|**endTime** | **String** | | | +|**includeWeekends** | **Boolean** | | | + + + diff --git a/docs/NewScheduleRotationDataAttributes.md b/docs/NewScheduleRotationDataAttributes.md index 646e981f..9de82792 100644 --- a/docs/NewScheduleRotationDataAttributes.md +++ b/docs/NewScheduleRotationDataAttributes.md @@ -14,7 +14,7 @@ |**activeDays** | [**List<ActiveDaysEnum>**](#List<ActiveDaysEnum>) | | [optional] | |**activeTimeType** | [**List<ActiveTimeTypeEnum>**](#List<ActiveTimeTypeEnum>) | | [optional] | |**activeTimeAttributes** | [**List<NewScheduleRotationDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | -|**timeZone** | **String** | A valid IANA time zone name. | [optional] | +|**timeZone** | **String** | A valid IANA time zone name. Organizations with one timezone per schedule manage this on the schedule; a value differing from the schedule's is rejected. | [optional] | |**scheduleRotationableAttributes** | [**NewScheduleRotationDataAttributesScheduleRotationableAttributes**](NewScheduleRotationDataAttributesScheduleRotationableAttributes.md) | | | |**startTime** | **OffsetDateTime** | RFC3339 date-time when rotation starts. Shifts will only be created after this time. | [optional] | |**endTime** | **OffsetDateTime** | RFC3339 date-time when rotation ends. Shifts will only be created before this time. | [optional] | diff --git a/docs/NewSecretDataAttributes.md b/docs/NewSecretDataAttributes.md index 520f457f..7b5236cf 100644 --- a/docs/NewSecretDataAttributes.md +++ b/docs/NewSecretDataAttributes.md @@ -13,6 +13,7 @@ |**hashicorpVaultMount** | **String** | The HashiCorp Vault secret mount path | [optional] | |**hashicorpVaultPath** | **String** | The HashiCorp Vault secret path | [optional] | |**hashicorpVaultVersion** | **String** | The HashiCorp Vault secret version | [optional] | +|**ownerGroupIds** | **List<String>** | IDs of the teams whose members can see and pick this secret; their team admins can manage it. Empty means only users with the org Secrets permission can. Ignored unless team scoping is enabled for the organization. | [optional] | diff --git a/docs/NewShiftCoverageRequestDataAttributes.md b/docs/NewShiftCoverageRequestDataAttributes.md index 71816e66..15283f18 100644 --- a/docs/NewShiftCoverageRequestDataAttributes.md +++ b/docs/NewShiftCoverageRequestDataAttributes.md @@ -10,6 +10,7 @@ |**startsAt** | **OffsetDateTime** | Start datetime of the time range to request coverage for | | |**endsAt** | **OffsetDateTime** | End datetime of the time range to request coverage for | | |**userId** | **Integer** | Optional. Restrict coverage to shifts assigned to this user. When omitted, every shift overlapping the time range is covered. | [optional] | +|**recipientUserIds** | **List<Integer>** | Optional. Notify selected active schedule members for every covered shift when targeted-shift-coverage is enabled. Recipients must be eligible for each shift. Omitted, empty, or flag-disabled selections broadcast. | [optional] | diff --git a/docs/NewStatusPageTeam.md b/docs/NewStatusPageTeam.md new file mode 100644 index 00000000..df0ade97 --- /dev/null +++ b/docs/NewStatusPageTeam.md @@ -0,0 +1,13 @@ + + +# NewStatusPageTeam + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewStatusPageTeamData**](NewStatusPageTeamData.md) | | | + + + diff --git a/docs/NewStatusPageTeamData.md b/docs/NewStatusPageTeamData.md new file mode 100644 index 00000000..2e0548db --- /dev/null +++ b/docs/NewStatusPageTeamData.md @@ -0,0 +1,22 @@ + + +# NewStatusPageTeamData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewStatusPageTeamDataAttributes**](NewStatusPageTeamDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| STATUS_PAGE_GROUPS | "status_page_groups" | + + + diff --git a/docs/NewStatusPageTeamDataAttributes.md b/docs/NewStatusPageTeamDataAttributes.md new file mode 100644 index 00000000..e8000b25 --- /dev/null +++ b/docs/NewStatusPageTeamDataAttributes.md @@ -0,0 +1,23 @@ + + +# NewStatusPageTeamDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**groupId** | **UUID** | ID of the team granted access to the status page. Teams are listed by GET /v1/teams. A status page accepts at most 50 teams | | +|**permissionLevel** | [**PermissionLevelEnum**](#PermissionLevelEnum) | publish_only lets team members post status page updates and announcements. edit_and_publish also lets them edit the page, its components, templates, and subscribers. Defaults to edit_and_publish | [optional] | + + + +## Enum: PermissionLevelEnum + +| Name | Value | +|---- | -----| +| EDIT_AND_PUBLISH | "edit_and_publish" | +| PUBLISH_ONLY | "publish_only" | + + + diff --git a/docs/NewTeamDataAttributes.md b/docs/NewTeamDataAttributes.md index e8f259f5..a958b5e3 100644 --- a/docs/NewTeamDataAttributes.md +++ b/docs/NewTeamDataAttributes.md @@ -24,6 +24,8 @@ |**pagertreeId** | **String** | The PagerTree group id associated to this team | [optional] | |**cortexId** | **String** | The Cortex group id associated to this team | [optional] | |**serviceNowCiSysId** | **String** | The Service Now CI sys id associated to this team | [optional] | +|**scimGroupId** | **String** | The SCIM group id linked to this team. Membership syncs from the SCIM group while the team keeps its own name. | [optional] | +|**scimGroupExternalId** | **String** | Link by the SCIM group's externalId from your identity provider instead of scim_group_id. Write-only. Rejected when it names a different SCIM group than scim_group_id. | [optional] | |**userIds** | **List<Integer>** | The user ids of the members of this team. | [optional] | |**adminIds** | **List<Integer>** | The user ids of the admins of this team. These users must also be present in user_ids attribute. | [optional] | |**alertsEmailEnabled** | **Boolean** | Enable alerts through email | [optional] | @@ -36,6 +38,7 @@ |**incidentBroadcastChannel** | [**NewServiceDataAttributesIncidentBroadcastChannel**](NewServiceDataAttributesIncidentBroadcastChannel.md) | | [optional] | |**autoAddMembersWhenAttached** | **Boolean** | Auto add members to incident channel when team is attached | [optional] | |**autoAddMembersScope** | [**AutoAddMembersScopeEnum**](#AutoAddMembersScopeEnum) | Visibility-scoped auto-add behavior. Only present when the `enable_scoped_incident_channel_auto_add` feature flag is on for the organization. When set, it overrides `auto_add_members_when_attached`. | [optional] | +|**scheduleOverridePolicy** | [**ScheduleOverridePolicyEnum**](#ScheduleOverridePolicyEnum) | Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. | [optional] | |**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this team. | [optional] | @@ -51,3 +54,13 @@ +## Enum: ScheduleOverridePolicyEnum + +| Name | Value | +|---- | -----| +| EVERYONE | "everyone" | +| MEMBERS | "members" | +| ADMINS | "admins" | + + + diff --git a/docs/NewWebhooksEndpointDataAttributes.md b/docs/NewWebhooksEndpointDataAttributes.md index d8de7549..d397159e 100644 --- a/docs/NewWebhooksEndpointDataAttributes.md +++ b/docs/NewWebhooksEndpointDataAttributes.md @@ -47,6 +47,7 @@ | ALERT_UPDATED | "alert.updated" | | PULSE_CREATED | "pulse.created" | | SHIFT_STARTED | "shift.started" | +| SHIFT_ENDED | "shift.ended" | | GENIUS_WORKFLOW_RUN_QUEUED | "genius_workflow_run.queued" | | GENIUS_WORKFLOW_RUN_STARTED | "genius_workflow_run.started" | | GENIUS_WORKFLOW_RUN_COMPLETED | "genius_workflow_run.completed" | diff --git a/docs/NewWorkflowDataAttributes.md b/docs/NewWorkflowDataAttributes.md index 0a6dcc66..bc9816dd 100644 --- a/docs/NewWorkflowDataAttributes.md +++ b/docs/NewWorkflowDataAttributes.md @@ -18,6 +18,7 @@ |**repeatConditionDurationSinceFirstRun** | **String** | The workflow will stop repeating if its runtime since it's first workflow run exceeds the duration set in this field | [optional] | |**repeatConditionNumberOfRepeats** | **Integer** | The workflow will stop repeating if the number of repeats exceeds the value set in this field | [optional] | |**continuouslyRepeat** | **Boolean** | When continuously repeat is true, repeat workflows aren't automatically stopped when conditions aren't met. This setting won't override your conditions set by repeat_condition_duration_since_first_run and repeat_condition_number_of_repeats parameters. | [optional] | +|**runOncePerResource** | **Boolean** | When true, the workflow runs at most once per incident. Later triggers on the same incident create a canceled run instead. Manual runs and repeats are not affected. Only applies to incident workflows. | [optional] | |**repeatOn** | [**List<RepeatOnEnum>**](#List<RepeatOnEnum>) | | [optional] | |**enabled** | **Boolean** | | [optional] | |**locked** | **Boolean** | Restricts workflow edits to admins when turned on. Only admins can set this field. | [optional] | @@ -31,8 +32,11 @@ |**serviceIds** | **List<String>** | | [optional] | |**functionalityIds** | **List<String>** | | [optional] | |**groupIds** | **List<String>** | | [optional] | +|**groupAssignmentIds** | **List<String>** | Owning team IDs. Requires team-scoped workflows. | [optional] | |**causeIds** | **List<String>** | | [optional] | |**subStatusIds** | **List<String>** | | [optional] | +|**failureNotificationMode** | [**FailureNotificationModeEnum**](#FailureNotificationModeEnum) | Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. | [optional] | +|**failureNotificationChannels** | [**List<NewWorkflowDataAttributesFailureNotificationChannelsInner>**](NewWorkflowDataAttributesFailureNotificationChannelsInner.md) | Slack channels notified when a run of this workflow fails. Used when `failure_notification_mode` is `custom`. | [optional] | @@ -60,3 +64,13 @@ +## Enum: FailureNotificationModeEnum + +| Name | Value | +|---- | -----| +| INHERIT | "inherit" | +| CUSTOM | "custom" | +| OFF | "off" | + + + diff --git a/docs/NewWorkflowDataAttributesFailureNotificationChannelsInner.md b/docs/NewWorkflowDataAttributesFailureNotificationChannelsInner.md new file mode 100644 index 00000000..9182b016 --- /dev/null +++ b/docs/NewWorkflowDataAttributesFailureNotificationChannelsInner.md @@ -0,0 +1,14 @@ + + +# NewWorkflowDataAttributesFailureNotificationChannelsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID. Liquid is allowed, for example `{{ incident.slack_channel_id }}` for the incident channel. | | +|**name** | **String** | Slack channel name | | + + + diff --git a/docs/NewWorkflowDataAttributesTriggerParams.md b/docs/NewWorkflowDataAttributesTriggerParams.md index fdb31bab..d6baa4ac 100644 --- a/docs/NewWorkflowDataAttributesTriggerParams.md +++ b/docs/NewWorkflowDataAttributesTriggerParams.md @@ -36,6 +36,8 @@ |**incidentConditionAcknowledgedAt** | [**IncidentConditionAcknowledgedAtEnum**](#IncidentConditionAcknowledgedAtEnum) | | [optional] | |**incidentConditionMitigatedAt** | [**IncidentConditionMitigatedAtEnum**](#IncidentConditionMitigatedAtEnum) | | [optional] | |**incidentConditionResolvedAt** | [**IncidentConditionResolvedAtEnum**](#IncidentConditionResolvedAtEnum) | | [optional] | +|**incidentConditionScheduledFor** | [**IncidentConditionScheduledForEnum**](#IncidentConditionScheduledForEnum) | | [optional] | +|**incidentConditionScheduledUntil** | [**IncidentConditionScheduledUntilEnum**](#IncidentConditionScheduledUntilEnum) | | [optional] | |**incidentConditionalInactivity** | [**IncidentConditionalInactivityEnum**](#IncidentConditionalInactivityEnum) | | [optional] | |**incidentActionItemCondition** | [**IncidentActionItemConditionEnum**](#IncidentActionItemConditionEnum) | | [optional] | |**incidentActionItemConditionKind** | [**IncidentActionItemConditionKindEnum**](#IncidentActionItemConditionKindEnum) | | [optional] | @@ -416,6 +418,24 @@ +## Enum: IncidentConditionScheduledForEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + +## Enum: IncidentConditionScheduledUntilEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + ## Enum: IncidentConditionalInactivityEnum | Name | Value | diff --git a/docs/NewWorkflowGroupDataAttributes.md b/docs/NewWorkflowGroupDataAttributes.md index 9a2eb080..9029f963 100644 --- a/docs/NewWorkflowGroupDataAttributes.md +++ b/docs/NewWorkflowGroupDataAttributes.md @@ -26,6 +26,7 @@ | POST_MORTEM | "post_mortem" | | ACTION_ITEM | "action_item" | | PULSE | "pulse" | +| PROBLEM | "problem" | | ALERT | "alert" | diff --git a/docs/NewWorkflowTaskDataAttributesTaskParams.md b/docs/NewWorkflowTaskDataAttributesTaskParams.md index 03dd2203..85ce2273 100644 --- a/docs/NewWorkflowTaskDataAttributesTaskParams.md +++ b/docs/NewWorkflowTaskDataAttributesTaskParams.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | -|**attributeToQueryBy** | [**AttributeToQueryByEnum**](#AttributeToQueryByEnum) | [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\"] | | +|**attributeToQueryBy** | [**AttributeToQueryByEnum**](#AttributeToQueryByEnum) | [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\", \"(problem) kind can only match [:id]\"] | | |**queryValue** | **String** | Value that attribute_to_query_by to uses to match against | | |**incidentRoleId** | **String** | The role id | | |**assignedToUserId** | **String** | [DEPRECATED] Use assigned_to_user attribute instead. The user id this role is assigned to | [optional] | @@ -23,10 +23,12 @@ |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**groupIds** | **List<String>** | Array of group/team UUIDs | [optional] | |**playbookId** | **String** | | | -|**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | +|**channel** | [**CreateSlackCanvasTaskParamsChannel**](CreateSlackCanvasTaskParamsChannel.md) | | | |**title** | **String** | The task title | | |**link** | **String** | The tab link | | |**emoji** | **String** | The bookmark emoji | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | |**groupId** | **String** | The team id | | |**event** | **String** | Incident event description | | |**url** | **String** | | | @@ -53,7 +55,7 @@ |**team** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**phoneNumbers** | **List<String>** | | | |**name** | **String** | The name | | -|**content** | **String** | The WhatsApp message | | +|**content** | **String** | The canvas content in Markdown. Supports Liquid variables. | | |**base** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**table** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**parentTaskId** | **String** | The parent task id | | @@ -128,8 +130,6 @@ |**reporterUserEmail** | **String** | The reporter user's email | [optional] | |**projectKey** | **String** | The project key | | |**updatePayload** | **String** | Update payload. Can contain liquid markup and need to be valid JSON | [optional] | -|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | -|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | |**parentIssueId** | **String** | The parent issue | | |**subtaskIssueType** | [**CreateJiraIssueTaskParamsIssueType**](CreateJiraIssueTaskParamsIssueType.md) | | | |**issueId** | **String** | The issue id | | @@ -185,6 +185,8 @@ |**eventMessage** | **String** | | [optional] | |**method** | [**MethodEnum**](#MethodEnum) | HTTP method | [optional] | |**succeedOnStatus** | **String** | HTTP status code expected. Can be a regular expression. Eg: 200, 200|203, 20[0-3] | | +|**expectedResponseHeaders** | **Map<String, String>** | Map of valid HTTP header names to regexp patterns. Header names must use HTTP token characters. Task fails if any header value does not match its pattern (case-insensitive). Leave empty to skip validation. | [optional] | +|**followRedirects** | **Boolean** | Whether to follow HTTP 3xx redirects. Defaults to true. Set to false to treat redirect responses as-is. | [optional] | |**slackUsers** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**slackUserGroups** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**slackEmails** | **String** | | | @@ -206,9 +208,15 @@ |**shouldTweet** | **Boolean** | For Statuspage.io integrated pages auto publishes a tweet for your update | [optional] | |**statusPageTemplate** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**statusPageId** | **String** | | | -|**statusPageIds** | **List<String>** | Publishes the update to every listed status page (requires the status-page-v3-limited-bulk-publish feature). When set, it takes precedence over status_page_id and the first entry becomes status_page_id. | [optional] | +|**statusPageIds** | **List<String>** | Publishes the update to every listed status page. This field is in limited Early Access; contact Rootly Support to request access. When set, it takes precedence over status_page_id and the first entry becomes status_page_id. | [optional] | +|**selectedComponentKeys** | **List<String>** | Composite \"SourceType:<id>\" keys of the status page components affected by the publish. This field is in Early Access and is not generally available; contact Rootly Support to request access. | [optional] | +|**selectedComponentStatuses** | [**Map<String, InnerEnum>**](#Map<String, InnerEnum>) | Impact status to publish for each selected component key. Keys must match selected_component_keys entries. | [optional] | +|**syncIncidentComponents** | **Boolean** | When true, every run also publishes the incident's tagged services and functionalities that are components on the target page. Defaults to true when selected_component_keys is empty. This field is in Early Access and is not generally available; contact Rootly Support to request access. | [optional] | +|**syncedComponentStatus** | [**SyncedComponentStatusEnum**](#SyncedComponentStatusEnum) | Impact status published for components synced from the incident. Defaults to degraded_performance. A component also listed in selected_component_keys keeps its selected_component_statuses entry. | [optional] | |**integrationPayload** | **String** | Additional API Payload you can pass to statuspage.io for example. Can contain liquid markup and need to be valid JSON | [optional] | |**commands** | **String** | | | +|**targetKind** | [**TargetKindEnum**](#TargetKindEnum) | | [optional] | +|**dryRun** | **Boolean** | | [optional] | |**privacy** | [**PrivacyEnum**](#PrivacyEnum) | | | |**command** | **String** | | | |**appName** | **String** | | | @@ -230,6 +238,7 @@ |**updateParentMessage** | **Boolean** | | [optional] | |**threadTs** | **String** | The thread to send the message into | [optional] | |**sendOnlyAsThreadedMessage** | **Boolean** | When set to true, if the parent for this threaded message cannot be found the message will be skipped. | [optional] | +|**allowCrossWorkflowThreading** | **Boolean** | When set to true, allows workflows from different sources (e.g. different incidents or alerts) to thread together on the same parent message. | [optional] | |**metricQueries** | **List<String>** | | [optional] | |**metricQuery** | **String** | | | |**metricType** | [**MetricTypeEnum**](#MetricTypeEnum) | | | @@ -245,6 +254,8 @@ |**resolvedAt** | **String** | | [optional] | |**postmortemId** | **String** | UUID of the retrospective that needs to be updated | | |**storyId** | **String** | The story id | | +|**operation** | [**OperationEnum**](#OperationEnum) | Append content or replace the selected table or entire canvas. | [optional] | +|**sectionName** | **String** | With replace, target the single table containing this label. Include the label in the replacement table. Blank replaces the entire canvas. Supports Liquid. | [optional] | |**inactivityTimeout** | **String** | In format '1 hour', '1 day', etc | [optional] | |**subStatusId** | **String** | Sub-status to update timestamp for | | |**assignedAt** | **String** | Timestamp of when the sub-status was assigned | | @@ -308,6 +319,7 @@ | POST_MORTEM | "post_mortem" | | PULSE | "pulse" | | ALERT | "alert" | +| PROBLEM | "problem" | @@ -427,6 +439,36 @@ +## Enum: Map<String, InnerEnum> + +| Name | Value | +|---- | -----| +| OPERATIONAL | "operational" | +| DEGRADED_PERFORMANCE | "degraded_performance" | +| PARTIAL_OUTAGE | "partial_outage" | +| MAJOR_OUTAGE | "major_outage" | + + + +## Enum: SyncedComponentStatusEnum + +| Name | Value | +|---- | -----| +| OPERATIONAL | "operational" | +| DEGRADED_PERFORMANCE | "degraded_performance" | +| PARTIAL_OUTAGE | "partial_outage" | +| MAJOR_OUTAGE | "major_outage" | + + + +## Enum: TargetKindEnum + +| Name | Value | +|---- | -----| +| USERS_WITHOUT_PRIVATE_INCIDENT_ACCESS | "users_without_private_incident_access" | + + + ## Enum: PrivacyEnum | Name | Value | @@ -503,6 +545,15 @@ +## Enum: OperationEnum + +| Name | Value | +|---- | -----| +| INSERT_AT_END | "insert_at_end" | +| REPLACE | "replace" | + + + ## Enum: ReasoningEffortEnum | Name | Value | diff --git a/docs/NullableSeverityResponse.md b/docs/NullableSeverityResponse.md new file mode 100644 index 00000000..ba893ffc --- /dev/null +++ b/docs/NullableSeverityResponse.md @@ -0,0 +1,15 @@ + + +# NullableSeverityResponse + +The severity assigned to an incident, or null when no severity is assigned + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**SeverityResponseData**](SeverityResponseData.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/OnCallPayReport.md b/docs/OnCallPayReport.md index 4f3b5e41..152d5026 100644 --- a/docs/OnCallPayReport.md +++ b/docs/OnCallPayReport.md @@ -24,8 +24,8 @@ |**lastGeneratedAt** | **OffsetDateTime** | When the report was last generated. | [optional] | |**timeZone** | **String** | The IANA timezone used to compute day and weekend boundaries for this report. Defaults to the team's timezone. | [optional] | |**useRespondersTimeZone** | **Boolean** | When true, each responder's personal timezone is used for their pay calculation; otherwise the report-wide time_zone is used. | [optional] | -|**csvFileUrl** | **URI** | Download URL for the generated CSV report. Null until the report is generated. | [optional] | -|**xlsxFileUrl** | **URI** | Download URL for the generated XLSX report. Null until the report is generated. | [optional] | +|**csvFileUrl** | **URI** | Short-lived, presigned download URL for the generated CSV report. Fetch the report again if the URL expires. Null until the report is generated. | [optional] | +|**xlsxFileUrl** | **URI** | Short-lived, presigned download URL for the generated XLSX report. Fetch the report again if the URL expires. Null until the report is generated. | [optional] | |**createdAt** | **OffsetDateTime** | | | |**updatedAt** | **OffsetDateTime** | | | diff --git a/docs/OnCallRole.md b/docs/OnCallRole.md index b249dd35..18cbd28a 100644 --- a/docs/OnCallRole.md +++ b/docs/OnCallRole.md @@ -27,6 +27,7 @@ |**integrationsPermissions** | [**List<IntegrationsPermissionsEnum>**](#List<IntegrationsPermissionsEnum>) | | [optional] | |**invitationsPermissions** | [**List<InvitationsPermissionsEnum>**](#List<InvitationsPermissionsEnum>) | | [optional] | |**liveCallRoutingPermissions** | [**List<LiveCallRoutingPermissionsEnum>**](#List<LiveCallRoutingPermissionsEnum>) | | [optional] | +|**membersPermissions** | [**List<MembersPermissionsEnum>**](#List<MembersPermissionsEnum>) | | [optional] | |**scheduleOverridePermissions** | [**List<ScheduleOverridePermissionsEnum>**](#List<ScheduleOverridePermissionsEnum>) | | [optional] | |**schedulesPermissions** | [**List<SchedulesPermissionsEnum>**](#List<SchedulesPermissionsEnum>) | | [optional] | |**servicesPermissions** | [**List<ServicesPermissionsEnum>**](#List<ServicesPermissionsEnum>) | | [optional] | @@ -232,6 +233,16 @@ +## Enum: List<MembersPermissionsEnum> + +| Name | Value | +|---- | -----| +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<ScheduleOverridePermissionsEnum> | Name | Value | diff --git a/docs/OverriddenShift.md b/docs/OverriddenShift.md new file mode 100644 index 00000000..151ca4cd --- /dev/null +++ b/docs/OverriddenShift.md @@ -0,0 +1,18 @@ + + +# OverriddenShift + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startsAt** | **String** | Start datetime of the overridden portion | | +|**endsAt** | **String** | End datetime of the overridden portion | | +|**userId** | **Integer** | ID of the user whose shift was overridden | [optional] | +|**rotationId** | **String** | ID of the rotation the overridden shift belongs to | [optional] | +|**assigneeType** | **String** | Type of the overridden assignee (User or Schedule) | [optional] | +|**assigneeId** | **String** | ID of the overridden assignee | [optional] | + + + diff --git a/docs/PatchAlertRouteData.md b/docs/PatchAlertRouteData.md index 288acd8c..eced6801 100644 --- a/docs/PatchAlertRouteData.md +++ b/docs/PatchAlertRouteData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**PatchAlertRouteDataAttributes**](PatchAlertRouteDataAttributes.md) | | | diff --git a/docs/Playbook.md b/docs/Playbook.md index 2ddd5233..e2afa000 100644 --- a/docs/Playbook.md +++ b/docs/Playbook.md @@ -9,6 +9,8 @@ |------------ | ------------- | ------------- | -------------| |**title** | **String** | The title of the playbook | | |**summary** | **String** | The summary of the playbook | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). | [optional] | +|**content** | **String** | Sanitized HTML instructions. Still returned when `kind` is `external_url`, where the body may be stale — branch on `kind`, not on `content` being present. | [optional] | |**externalUrl** | **String** | The external url of the playbook | [optional] | |**severityIds** | **List<String>** | The Severity IDs to attach to the incident | [optional] | |**environmentIds** | **List<String>** | The Environment IDs to attach to the incident | [optional] | @@ -16,8 +18,18 @@ |**serviceIds** | **List<String>** | The Service IDs to attach to the incident | [optional] | |**groupIds** | **List<String>** | The Team IDs to attach to the incident | [optional] | |**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the incident | [optional] | +|**causeIds** | **List<String>** | The Cause IDs to attach to the incident | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| INTERNAL_DOCUMENT | "internal_document" | +| EXTERNAL_URL | "external_url" | + + + diff --git a/docs/PostMortemTriggerParams.md b/docs/PostMortemTriggerParams.md index 332fe3d1..89aa9aa9 100644 --- a/docs/PostMortemTriggerParams.md +++ b/docs/PostMortemTriggerParams.md @@ -36,6 +36,8 @@ |**incidentConditionAcknowledgedAt** | [**IncidentConditionAcknowledgedAtEnum**](#IncidentConditionAcknowledgedAtEnum) | | [optional] | |**incidentConditionMitigatedAt** | [**IncidentConditionMitigatedAtEnum**](#IncidentConditionMitigatedAtEnum) | | [optional] | |**incidentConditionResolvedAt** | [**IncidentConditionResolvedAtEnum**](#IncidentConditionResolvedAtEnum) | | [optional] | +|**incidentConditionScheduledFor** | [**IncidentConditionScheduledForEnum**](#IncidentConditionScheduledForEnum) | | [optional] | +|**incidentConditionScheduledUntil** | [**IncidentConditionScheduledUntilEnum**](#IncidentConditionScheduledUntilEnum) | | [optional] | |**incidentConditionalInactivity** | [**IncidentConditionalInactivityEnum**](#IncidentConditionalInactivityEnum) | | [optional] | |**incidentPostMortemCondition** | [**IncidentPostMortemConditionEnum**](#IncidentPostMortemConditionEnum) | | [optional] | |**incidentPostMortemConditionStatus** | [**IncidentPostMortemConditionStatusEnum**](#IncidentPostMortemConditionStatusEnum) | | [optional] | @@ -373,6 +375,24 @@ +## Enum: IncidentConditionScheduledForEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + +## Enum: IncidentConditionScheduledUntilEnum + +| Name | Value | +|---- | -----| +| SET | "SET" | +| UNSET | "UNSET" | + + + ## Enum: IncidentConditionalInactivityEnum | Name | Value | diff --git a/docs/PrivateAgent.md b/docs/PrivateAgent.md new file mode 100644 index 00000000..1ba2a12b --- /dev/null +++ b/docs/PrivateAgent.md @@ -0,0 +1,23 @@ + + +# PrivateAgent + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**PrivateAgentAttributes**](PrivateAgentAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PRIVATE_AGENTS | "private_agents" | + + + diff --git a/docs/PrivateAgentAttributes.md b/docs/PrivateAgentAttributes.md new file mode 100644 index 00000000..52b3ba08 --- /dev/null +++ b/docs/PrivateAgentAttributes.md @@ -0,0 +1,42 @@ + + +# PrivateAgentAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | | +|**description** | **String** | Non-sensitive routing metadata. Do not include secrets or personal data. | | +|**enabled** | **Boolean** | For active agents, whether Rootly may advertise tools and assign new work. | | +|**status** | [**StatusEnum**](#StatusEnum) | | | +|**online** | **Boolean** | Active agent seen within two minutes; does not imply all providers are healthy. | | +|**deploymentMode** | [**DeploymentModeEnum**](#DeploymentModeEnum) | | | +|**agentVersion** | **String** | | | +|**lastSeenAt** | **OffsetDateTime** | | | +|**schemaDigest** | **String** | | | +|**createdAt** | **OffsetDateTime** | | | +|**updatedAt** | **OffsetDateTime** | | | +|**providers** | [**List<PrivateAgentAttributesProvidersInner>**](PrivateAgentAttributesProvidersInner.md) | | | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| ACTIVE | "active" | +| REVOKED | "revoked" | + + + +## Enum: DeploymentModeEnum + +| Name | Value | +|---- | -----| +| COMBINED | "combined" | +| SPLIT_CORE | "split-core" | + + + diff --git a/docs/PrivateAgentAttributesProvidersInner.md b/docs/PrivateAgentAttributesProvidersInner.md new file mode 100644 index 00000000..390ff723 --- /dev/null +++ b/docs/PrivateAgentAttributesProvidersInner.md @@ -0,0 +1,18 @@ + + +# PrivateAgentAttributesProvidersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | | +|**type** | **String** | Provider adapter type, such as kubernetes, prometheus, loki, tempo, pyroscope, elasticsearch, opensearch, postgresql, mysql, mcp, http, kafka, redis, or valkey. | | +|**version** | **String** | | | +|**health** | [**PrivateAgentAttributesProvidersInnerHealth**](PrivateAgentAttributesProvidersInnerHealth.md) | | | +|**policy** | [**PrivateAgentAttributesProvidersInnerPolicy**](PrivateAgentAttributesProvidersInnerPolicy.md) | | | +|**capabilities** | [**List<PrivateAgentAttributesProvidersInnerCapabilitiesInner>**](PrivateAgentAttributesProvidersInnerCapabilitiesInner.md) | | | + + + diff --git a/docs/PrivateAgentAttributesProvidersInnerCapabilitiesInner.md b/docs/PrivateAgentAttributesProvidersInnerCapabilitiesInner.md new file mode 100644 index 00000000..3880f1c6 --- /dev/null +++ b/docs/PrivateAgentAttributesProvidersInnerCapabilitiesInner.md @@ -0,0 +1,16 @@ + + +# PrivateAgentAttributesProvidersInnerCapabilitiesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | | +|**version** | **String** | | | +|**description** | **String** | | [optional] | +|**sensitivity** | **String** | | [optional] | + + + diff --git a/docs/PrivateAgentAttributesProvidersInnerHealth.md b/docs/PrivateAgentAttributesProvidersInnerHealth.md new file mode 100644 index 00000000..e4ace17e --- /dev/null +++ b/docs/PrivateAgentAttributesProvidersInnerHealth.md @@ -0,0 +1,16 @@ + + +# PrivateAgentAttributesProvidersInnerHealth + +Last reported provider health; may be stale when the agent is offline. Invalid or absent fields are omitted. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**status** | **String** | | [optional] | +|**observedAt** | **String** | | [optional] | +|**message** | **String** | | [optional] | + + + diff --git a/docs/PrivateAgentAttributesProvidersInnerPolicy.md b/docs/PrivateAgentAttributesProvidersInnerPolicy.md new file mode 100644 index 00000000..4d972e62 --- /dev/null +++ b/docs/PrivateAgentAttributesProvidersInnerPolicy.md @@ -0,0 +1,60 @@ + + +# PrivateAgentAttributesProvidersInnerPolicy + +Reported local policy, not credentials or provider connection configuration. Fields are provider-type specific: Kubernetes reports namespace scope; search providers report index scope; databases report database/schema scope; HTTP reports method/path/header scope; Kafka reports topic and message-read scope; Redis and Valkey report diagnostic limits; and each provider family normally reports only its applicable numeric limits. Management responses may preserve legacy cross-family fields for backwards compatibility; capability catalog and dispatch use provider-scoped execution metadata. Invalid or absent fields are omitted. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**digest** | **String** | | [optional] | +|**clusterScoped** | **Boolean** | | [optional] | +|**podLogs** | **Boolean** | | [optional] | +|**maximumConcurrency** | **Integer** | | [optional] | +|**maximumAttributeValues** | **Integer** | | [optional] | +|**maximumDocuments** | **Integer** | | [optional] | +|**maximumEntries** | **Integer** | | [optional] | +|**maximumExemplars** | **Integer** | | [optional] | +|**maximumIndices** | **Integer** | | [optional] | +|**maximumLabelValues** | **Integer** | | [optional] | +|**maximumNodes** | **Integer** | | [optional] | +|**maximumPatternPoints** | **Integer** | | [optional] | +|**maximumPointsPerSeries** | **Integer** | | [optional] | +|**maximumProfileTypes** | **Integer** | | [optional] | +|**maximumQueryBytes** | **Integer** | | [optional] | +|**maximumRequestBytes** | **Integer** | | [optional] | +|**maximumResponseBytes** | **Integer** | | [optional] | +|**maximumRangeSeconds** | **Integer** | | [optional] | +|**maximumRows** | **Integer** | | [optional] | +|**maximumResultBytes** | **Integer** | | [optional] | +|**maximumItems** | **Integer** | | [optional] | +|**maximumMessages** | **Integer** | | [optional] | +|**maximumMessageBytes** | **Integer** | | [optional] | +|**maximumScanRecords** | **Integer** | | [optional] | +|**maximumScanBytes** | **Integer** | | [optional] | +|**maximumSeries** | **Integer** | | [optional] | +|**maximumShards** | **Integer** | | [optional] | +|**maximumSlowlogEntries** | **Integer** | | [optional] | +|**maximumSpansPerSpanSet** | **Integer** | | [optional] | +|**maximumStaleValues** | **Integer** | | [optional] | +|**maximumTimeoutSeconds** | **Integer** | | [optional] | +|**maximumTraces** | **Integer** | | [optional] | +|**stuckTransactionSeconds** | **Integer** | | [optional] | +|**namespaces** | **List<String>** | | [optional] | +|**allowedIndices** | **List<String>** | | [optional] | +|**timestampField** | **String** | | [optional] | +|**database** | **String** | | [optional] | +|**allowedSchemas** | **List<String>** | | [optional] | +|**allowedMethods** | **List<String>** | | [optional] | +|**allowedPathPrefixes** | **List<String>** | | [optional] | +|**allowedRequestHeaders** | **List<String>** | | [optional] | +|**exposedResponseHeaders** | **List<String>** | | [optional] | +|**allowedTopics** | **List<String>** | | [optional] | +|**deniedTopics** | **List<String>** | | [optional] | +|**includeInternalTopics** | **Boolean** | | [optional] | +|**allowMessageReads** | **Boolean** | | [optional] | +|**includeMessageValues** | **Boolean** | | [optional] | + + + diff --git a/docs/PrivateAgentEnrollmentTokenResponse.md b/docs/PrivateAgentEnrollmentTokenResponse.md new file mode 100644 index 00000000..4c95c482 --- /dev/null +++ b/docs/PrivateAgentEnrollmentTokenResponse.md @@ -0,0 +1,13 @@ + + +# PrivateAgentEnrollmentTokenResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**PrivateAgentEnrollmentTokenResponseData**](PrivateAgentEnrollmentTokenResponseData.md) | | | + + + diff --git a/docs/PrivateAgentEnrollmentTokenResponseData.md b/docs/PrivateAgentEnrollmentTokenResponseData.md new file mode 100644 index 00000000..eeab7c32 --- /dev/null +++ b/docs/PrivateAgentEnrollmentTokenResponseData.md @@ -0,0 +1,23 @@ + + +# PrivateAgentEnrollmentTokenResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**PrivateAgentEnrollmentTokenResponseDataAttributes**](PrivateAgentEnrollmentTokenResponseDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PRIVATE_AGENT_ENROLLMENT_TOKENS | "private_agent_enrollment_tokens" | + + + diff --git a/docs/PrivateAgentEnrollmentTokenResponseDataAttributes.md b/docs/PrivateAgentEnrollmentTokenResponseDataAttributes.md new file mode 100644 index 00000000..22c71f86 --- /dev/null +++ b/docs/PrivateAgentEnrollmentTokenResponseDataAttributes.md @@ -0,0 +1,14 @@ + + +# PrivateAgentEnrollmentTokenResponseDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**token** | **String** | One-time secret. Returned only on creation; do not log or store in source control. | | +|**expiresAt** | **OffsetDateTime** | | | + + + diff --git a/docs/PrivateAgentList.md b/docs/PrivateAgentList.md new file mode 100644 index 00000000..c6cd52c4 --- /dev/null +++ b/docs/PrivateAgentList.md @@ -0,0 +1,14 @@ + + +# PrivateAgentList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<PrivateAgentSummary>**](PrivateAgentSummary.md) | | | +|**meta** | **Object** | | | + + + diff --git a/docs/PrivateAgentResponse.md b/docs/PrivateAgentResponse.md new file mode 100644 index 00000000..1f115db7 --- /dev/null +++ b/docs/PrivateAgentResponse.md @@ -0,0 +1,13 @@ + + +# PrivateAgentResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**PrivateAgent**](PrivateAgent.md) | | | + + + diff --git a/docs/PrivateAgentSummary.md b/docs/PrivateAgentSummary.md new file mode 100644 index 00000000..c43ffc65 --- /dev/null +++ b/docs/PrivateAgentSummary.md @@ -0,0 +1,23 @@ + + +# PrivateAgentSummary + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**PrivateAgentSummaryAttributes**](PrivateAgentSummaryAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PRIVATE_AGENTS | "private_agents" | + + + diff --git a/docs/PrivateAgentSummaryAttributes.md b/docs/PrivateAgentSummaryAttributes.md new file mode 100644 index 00000000..78e93c06 --- /dev/null +++ b/docs/PrivateAgentSummaryAttributes.md @@ -0,0 +1,41 @@ + + +# PrivateAgentSummaryAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | | +|**description** | **String** | Non-sensitive routing metadata. Do not include secrets or personal data. | | +|**enabled** | **Boolean** | For active agents, whether Rootly may advertise tools and assign new work. | | +|**status** | [**StatusEnum**](#StatusEnum) | | | +|**online** | **Boolean** | Active agent seen within two minutes; does not imply all providers are healthy. | | +|**deploymentMode** | [**DeploymentModeEnum**](#DeploymentModeEnum) | | | +|**agentVersion** | **String** | | | +|**lastSeenAt** | **OffsetDateTime** | | | +|**schemaDigest** | **String** | | | +|**createdAt** | **OffsetDateTime** | | | +|**updatedAt** | **OffsetDateTime** | | | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| ACTIVE | "active" | +| REVOKED | "revoked" | + + + +## Enum: DeploymentModeEnum + +| Name | Value | +|---- | -----| +| COMBINED | "combined" | +| SPLIT_CORE | "split-core" | + + + diff --git a/docs/PrivateAgentUpdate.md b/docs/PrivateAgentUpdate.md new file mode 100644 index 00000000..7a4cfb66 --- /dev/null +++ b/docs/PrivateAgentUpdate.md @@ -0,0 +1,13 @@ + + +# PrivateAgentUpdate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**PrivateAgentUpdateData**](PrivateAgentUpdateData.md) | | | + + + diff --git a/docs/PrivateAgentUpdateData.md b/docs/PrivateAgentUpdateData.md new file mode 100644 index 00000000..276d4f6f --- /dev/null +++ b/docs/PrivateAgentUpdateData.md @@ -0,0 +1,22 @@ + + +# PrivateAgentUpdateData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**PrivateAgentUpdateDataAttributes**](PrivateAgentUpdateDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PRIVATE_AGENTS | "private_agents" | + + + diff --git a/docs/PrivateAgentUpdateDataAttributes.md b/docs/PrivateAgentUpdateDataAttributes.md new file mode 100644 index 00000000..c53b0309 --- /dev/null +++ b/docs/PrivateAgentUpdateDataAttributes.md @@ -0,0 +1,15 @@ + + +# PrivateAgentUpdateDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**enabled** | **Boolean** | | [optional] | +|**description** | **String** | Non-sensitive routing metadata. Do not include secrets or personal data. | [optional] | + + + diff --git a/docs/PrivateAgentsApi.md b/docs/PrivateAgentsApi.md new file mode 100644 index 00000000..07626e07 --- /dev/null +++ b/docs/PrivateAgentsApi.md @@ -0,0 +1,358 @@ +# PrivateAgentsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createPrivateAgentEnrollmentToken**](PrivateAgentsApi.md#createPrivateAgentEnrollmentToken) | **POST** /v1/private_agents/enrollment_tokens | Create a one-time token for agent enrollment | +| [**getPrivateAgent**](PrivateAgentsApi.md#getPrivateAgent) | **GET** /v1/private_agents/{id} | Get private agent | +| [**listPrivateAgents**](PrivateAgentsApi.md#listPrivateAgents) | **GET** /v1/private_agents | List private agents | +| [**revokePrivateAgent**](PrivateAgentsApi.md#revokePrivateAgent) | **POST** /v1/private_agents/{id}/revoke | Revoke private agent | +| [**updatePrivateAgent**](PrivateAgentsApi.md#updatePrivateAgent) | **PATCH** /v1/private_agents/{id} | Update private agent metadata | + + + +# **createPrivateAgentEnrollmentToken** +> PrivateAgentEnrollmentTokenResponse createPrivateAgentEnrollmentToken() + +Create a one-time token for agent enrollment + +Issue a one-time token valid for 24 hours. No request body is required. Requires Private Agent management permission plus the Private Agents and AI SRE features. The agent uses this token for gRPC Enroll; the agent record is created on enrollment, not by this request. The plaintext is returned only here and is not recoverable. Repeated requests issue distinct tokens; this endpoint is not idempotent. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.PrivateAgentsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + PrivateAgentsApi apiInstance = new PrivateAgentsApi(defaultClient); + try { + PrivateAgentEnrollmentTokenResponse result = apiInstance.createPrivateAgentEnrollmentToken(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PrivateAgentsApi#createPrivateAgentEnrollmentToken"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**PrivateAgentEnrollmentTokenResponse**](PrivateAgentEnrollmentTokenResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Enrollment token issued | - | +| **401** | Invalid or missing API credential | - | +| **404** | Not authorized or feature disabled | - | + + +# **getPrivateAgent** +> PrivateAgentResponse getPrivateAgent(id) + +Get private agent + +Return provider inventory and last-reported health for one agent. Requires Private Agent read permission plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.PrivateAgentsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + PrivateAgentsApi apiInstance = new PrivateAgentsApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + try { + PrivateAgentResponse result = apiInstance.getPrivateAgent(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PrivateAgentsApi#getPrivateAgent"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **UUID**| | | + +### Return type + +[**PrivateAgentResponse**](PrivateAgentResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Agent details | - | +| **404** | Not found or unauthorized | - | +| **401** | Invalid or missing API credential | - | + + +# **listPrivateAgents** +> PrivateAgentList listPrivateAgents(pageNumber, pageSize) + +List private agents + +List this tenant's agents, including revoked and offline agents. Inventory pages omit provider snapshots to bound database and response costs; use Get private agent for provider inventory and last-reported health. Requires Private Agent management access plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.PrivateAgentsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + PrivateAgentsApi apiInstance = new PrivateAgentsApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 50; // Integer | + try { + PrivateAgentList result = apiInstance.listPrivateAgents(pageNumber, pageSize); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PrivateAgentsApi#listPrivateAgents"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] [default to 50] | + +### Return type + +[**PrivateAgentList**](PrivateAgentList.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Agents listed | - | +| **401** | Invalid or missing API credential | - | + + +# **revokePrivateAgent** +> PrivateAgentResponse revokePrivateAgent(id) + +Revoke private agent + +Invalidate access and refresh credentials and remove provider routing registrations. Requires Private Agent delete permission plus the Private Agents and AI SRE features. Retains the agent and invocation history. Repeated revocation is safe. An executing customer-side operation is not guaranteed to stop immediately. Use a new enrollment token to re-enroll a revoked installation. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.PrivateAgentsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + PrivateAgentsApi apiInstance = new PrivateAgentsApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + try { + PrivateAgentResponse result = apiInstance.revokePrivateAgent(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PrivateAgentsApi#revokePrivateAgent"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **UUID**| | | + +### Return type + +[**PrivateAgentResponse**](PrivateAgentResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Agent revoked | - | +| **404** | Not found or unauthorized | - | +| **401** | Invalid or missing API credential | - | + + +# **updatePrivateAgent** +> updatePrivateAgent(id, privateAgentUpdate) + +Update private agent metadata + +Update routing metadata or pause tool execution without disconnecting the agent. The agent UUID and provider IDs remain the execution identities. Requires Private Agent update permission. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.PrivateAgentsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + PrivateAgentsApi apiInstance = new PrivateAgentsApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + PrivateAgentUpdate privateAgentUpdate = new PrivateAgentUpdate(); // PrivateAgentUpdate | + try { + apiInstance.updatePrivateAgent(id, privateAgentUpdate); + } catch (ApiException e) { + System.err.println("Exception when calling PrivateAgentsApi#updatePrivateAgent"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **UUID**| | | +| **privateAgentUpdate** | [**PrivateAgentUpdate**](PrivateAgentUpdate.md)| | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | Agent metadata updated | - | +| **422** | Invalid metadata | - | +| **409** | Agent update is busy | - | +| **404** | Not found or unauthorized | - | +| **401** | Invalid or missing API credential | - | + diff --git a/docs/Problem.md b/docs/Problem.md new file mode 100644 index 00000000..ac0b99b7 --- /dev/null +++ b/docs/Problem.md @@ -0,0 +1,70 @@ + + +# Problem + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**sequentialId** | **Integer** | Team-scoped sequential number of the problem | [optional] | +|**displayId** | **String** | Human-readable identifier of the problem (e.g. PROB-12) | [optional] [readonly] | +|**title** | **String** | The title of the problem | | +|**description** | **String** | The description of the problem | [optional] | +|**ownerUserId** | **Integer** | ID of the user who owns the problem | [optional] | +|**ownerGroupId** | **String** | ID of the group (team) that owns the problem | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | The priority of the problem | [optional] | +|**dueDate** | **LocalDate** | The due date of the problem | [optional] | +|**scope** | **String** | The scope of the problem | [optional] | +|**exitCriteria** | **String** | The exit criteria of the problem | [optional] | +|**impactSoFar** | **String** | The impact observed so far | [optional] | +|**rootCause** | **String** | The root cause of the problem | [optional] | +|**resolution** | **String** | The resolution of the problem | [optional] | +|**deferralReason** | **String** | The reason and accepted risk for deferring the problem | [optional] | +|**cancellationReason** | **String** | The reason for cancelling the problem | [optional] | +|**nextReviewAt** | **String** | The next review date for a deferred problem | [optional] | +|**reReviewCadence** | **Integer** | Days between reviews for a deferred problem | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | The status of the problem | [readonly] | +|**createdByUserId** | **Integer** | ID of the user who created the problem | [optional] [readonly] | +|**inProgressByUserId** | **Integer** | ID of the user who moved the problem to in progress | [optional] [readonly] | +|**completedByUserId** | **Integer** | ID of the user who completed the problem | [optional] [readonly] | +|**deferredByUserId** | **Integer** | ID of the user who approved deferring the problem | [optional] [readonly] | +|**cancelledByUserId** | **Integer** | ID of the user who cancelled the problem | [optional] [readonly] | +|**inProgressAt** | **String** | When the problem moved to in progress | [optional] [readonly] | +|**completedAt** | **String** | When the problem was completed | [optional] [readonly] | +|**deferredAt** | **String** | When the problem was deferred | [optional] [readonly] | +|**cancelledAt** | **String** | When the problem was cancelled | [optional] [readonly] | +|**incidentIds** | **List<String>** | IDs of incidents linked to the problem | [optional] [readonly] | +|**incidentsCount** | **Integer** | Number of incidents linked to the problem | [optional] [readonly] | +|**actionItemsCount** | **Integer** | Number of action items on the problem | [optional] [readonly] | +|**subscribersCount** | **Integer** | Number of users following the problem | [optional] [readonly] | +|**usersAssignedCount** | **Integer** | Number of problem role assignees | [optional] [readonly] | +|**url** | **String** | URL of the problem in the Rootly web app | [optional] [readonly] | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| P0 | "P0" | +| P1 | "P1" | +| P2 | "P2" | +| P3 | "P3" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| CREATED | "created" | +| IN_PROGRESS | "in_progress" | +| COMPLETED | "completed" | +| DEFERRED | "deferred" | +| CANCELLED | "cancelled" | + + + diff --git a/docs/ProblemActionItem.md b/docs/ProblemActionItem.md new file mode 100644 index 00000000..6afba995 --- /dev/null +++ b/docs/ProblemActionItem.md @@ -0,0 +1,45 @@ + + +# ProblemActionItem + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**problemId** | **String** | ID of the problem this action item belongs to | [optional] | +|**summary** | **String** | The summary of the action item | | +|**description** | **String** | The description of the action item | [optional] | +|**assignedToUserId** | **Integer** | ID of user you wish to assign this action item | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | The priority of the action item | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | The status of the action item | [optional] | +|**dueDate** | **String** | The due date of the action item | [optional] | +|**jiraIssueUrl** | **String** | The Jira issue URL. | [optional] | +|**assignedTo** | [**UserFlatResponse**](UserFlatResponse.md) | User assigned to this action item | [optional] | +|**createdBy** | [**UserFlatResponse**](UserFlatResponse.md) | User who created this action item | [optional] | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| HIGH | "high" | +| MEDIUM | "medium" | +| LOW | "low" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| OPEN | "open" | +| IN_PROGRESS | "in_progress" | +| CANCELLED | "cancelled" | +| DONE | "done" | + + + diff --git a/docs/ProblemActionItemList.md b/docs/ProblemActionItemList.md new file mode 100644 index 00000000..1bfb734b --- /dev/null +++ b/docs/ProblemActionItemList.md @@ -0,0 +1,16 @@ + + +# ProblemActionItemList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<ProblemActionItemResponseData>**](ProblemActionItemResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/ProblemActionItemResponse.md b/docs/ProblemActionItemResponse.md new file mode 100644 index 00000000..7b6ac93f --- /dev/null +++ b/docs/ProblemActionItemResponse.md @@ -0,0 +1,14 @@ + + +# ProblemActionItemResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ProblemActionItemResponseData**](ProblemActionItemResponseData.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/ProblemActionItemResponseData.md b/docs/ProblemActionItemResponseData.md new file mode 100644 index 00000000..59ed3161 --- /dev/null +++ b/docs/ProblemActionItemResponseData.md @@ -0,0 +1,23 @@ + + +# ProblemActionItemResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the action item | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**ProblemActionItem**](ProblemActionItem.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEM_ACTION_ITEMS | "problem_action_items" | + + + diff --git a/docs/ProblemActionItemsApi.md b/docs/ProblemActionItemsApi.md new file mode 100644 index 00000000..a766e322 --- /dev/null +++ b/docs/ProblemActionItemsApi.md @@ -0,0 +1,521 @@ +# ProblemActionItemsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createProblemActionItem**](ProblemActionItemsApi.md#createProblemActionItem) | **POST** /v1/problems/{problem_id}/action_items | Creates a problem action item | +| [**deleteProblemActionItem**](ProblemActionItemsApi.md#deleteProblemActionItem) | **DELETE** /v1/problem_action_items/{id} | Deletes a problem action item | +| [**getProblemActionItem**](ProblemActionItemsApi.md#getProblemActionItem) | **GET** /v1/problem_action_items/{id} | Retrieves a problem action item | +| [**listAllProblemActionItems**](ProblemActionItemsApi.md#listAllProblemActionItems) | **GET** /v1/problem_action_items | List all problem action items | +| [**listProblemActionItems**](ProblemActionItemsApi.md#listProblemActionItems) | **GET** /v1/problems/{problem_id}/action_items | List a problem's action items | +| [**updateProblemActionItem**](ProblemActionItemsApi.md#updateProblemActionItem) | **PUT** /v1/problem_action_items/{id} | Update a problem action item | + + + +# **createProblemActionItem** +> ProblemActionItemResponse createProblemActionItem(problemId, newProblemActionItem) + +Creates a problem action item + +Creates a new action item on a problem from provided data + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemActionItemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemActionItemsApi apiInstance = new ProblemActionItemsApi(defaultClient); + String problemId = "problemId_example"; // String | + NewProblemActionItem newProblemActionItem = new NewProblemActionItem(); // NewProblemActionItem | + try { + ProblemActionItemResponse result = apiInstance.createProblemActionItem(problemId, newProblemActionItem); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemActionItemsApi#createProblemActionItem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **problemId** | **String**| | | +| **newProblemActionItem** | [**NewProblemActionItem**](NewProblemActionItem.md)| | | + +### Return type + +[**ProblemActionItemResponse**](ProblemActionItemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | problem action item created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteProblemActionItem** +> ProblemActionItemResponse deleteProblemActionItem(id) + +Deletes a problem action item + +Deletes a problem action item + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemActionItemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemActionItemsApi apiInstance = new ProblemActionItemsApi(defaultClient); + String id = "id_example"; // String | + try { + ProblemActionItemResponse result = apiInstance.deleteProblemActionItem(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemActionItemsApi#deleteProblemActionItem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | + +### Return type + +[**ProblemActionItemResponse**](ProblemActionItemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | problem action item deleted | - | +| **404** | problem action item not found | - | + + +# **getProblemActionItem** +> ProblemActionItemResponse getProblemActionItem(id) + +Retrieves a problem action item + +Retrieves a specific problem action item by id + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemActionItemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemActionItemsApi apiInstance = new ProblemActionItemsApi(defaultClient); + String id = "id_example"; // String | + try { + ProblemActionItemResponse result = apiInstance.getProblemActionItem(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemActionItemsApi#getProblemActionItem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | + +### Return type + +[**ProblemActionItemResponse**](ProblemActionItemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | assignee without problems.read can view their assigned item | - | +| **404** | problem action item not found | - | + + +# **listAllProblemActionItems** +> ProblemActionItemList listAllProblemActionItems(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn) + +List all problem action items + +List all problem action items the caller can access across the team, with filter, sort and pagination support + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemActionItemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemActionItemsApi apiInstance = new ProblemActionItemsApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String sort = "sort_example"; // String | + String problemId = "problemId_example"; // String | + String filterSearch = "filterSearch_example"; // String | + String filterDueDateGt = "filterDueDateGt_example"; // String | + String filterDueDateGte = "filterDueDateGte_example"; // String | + String filterDueDateLt = "filterDueDateLt_example"; // String | + String filterDueDateLte = "filterDueDateLte_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String filterStatusEq = "filterStatusEq_example"; // String | + String filterStatusNotEq = "filterStatusNotEq_example"; // String | + String filterStatusIn = "filterStatusIn_example"; // String | + String filterStatusNotIn = "filterStatusNotIn_example"; // String | + String filterPriorityEq = "filterPriorityEq_example"; // String | + String filterPriorityNotEq = "filterPriorityNotEq_example"; // String | + String filterPriorityIn = "filterPriorityIn_example"; // String | + String filterPriorityNotIn = "filterPriorityNotIn_example"; // String | + String filterAssignedToUserIdEq = "filterAssignedToUserIdEq_example"; // String | + String filterAssignedToUserIdNotEq = "filterAssignedToUserIdNotEq_example"; // String | + String filterAssignedToUserIdIn = "filterAssignedToUserIdIn_example"; // String | + String filterAssignedToUserIdNotIn = "filterAssignedToUserIdNotIn_example"; // String | + try { + ProblemActionItemList result = apiInstance.listAllProblemActionItems(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemActionItemsApi#listAllProblemActionItems"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **sort** | **String**| | [optional] | +| **problemId** | **String**| | [optional] | +| **filterSearch** | **String**| | [optional] | +| **filterDueDateGt** | **String**| | [optional] | +| **filterDueDateGte** | **String**| | [optional] | +| **filterDueDateLt** | **String**| | [optional] | +| **filterDueDateLte** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **filterStatusEq** | **String**| | [optional] | +| **filterStatusNotEq** | **String**| | [optional] | +| **filterStatusIn** | **String**| | [optional] | +| **filterStatusNotIn** | **String**| | [optional] | +| **filterPriorityEq** | **String**| | [optional] | +| **filterPriorityNotEq** | **String**| | [optional] | +| **filterPriorityIn** | **String**| | [optional] | +| **filterPriorityNotIn** | **String**| | [optional] | +| **filterAssignedToUserIdEq** | **String**| | [optional] | +| **filterAssignedToUserIdNotEq** | **String**| | [optional] | +| **filterAssignedToUserIdIn** | **String**| | [optional] | +| **filterAssignedToUserIdNotIn** | **String**| | [optional] | + +### Return type + +[**ProblemActionItemList**](ProblemActionItemList.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | excludes items from other teams | - | +| **404** | problem-management feature flag disabled | - | + + +# **listProblemActionItems** +> ProblemActionItemList listProblemActionItems(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn) + +List a problem's action items + +List action items belonging to a problem, with filter, sort and pagination support + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemActionItemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemActionItemsApi apiInstance = new ProblemActionItemsApi(defaultClient); + String problemId = "problemId_example"; // String | + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String sort = "sort_example"; // String | + String filterSearch = "filterSearch_example"; // String | + String filterDueDateGt = "filterDueDateGt_example"; // String | + String filterDueDateGte = "filterDueDateGte_example"; // String | + String filterDueDateLt = "filterDueDateLt_example"; // String | + String filterDueDateLte = "filterDueDateLte_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String filterStatusEq = "filterStatusEq_example"; // String | + String filterStatusNotEq = "filterStatusNotEq_example"; // String | + String filterStatusIn = "filterStatusIn_example"; // String | + String filterStatusNotIn = "filterStatusNotIn_example"; // String | + String filterPriorityEq = "filterPriorityEq_example"; // String | + String filterPriorityNotEq = "filterPriorityNotEq_example"; // String | + String filterPriorityIn = "filterPriorityIn_example"; // String | + String filterPriorityNotIn = "filterPriorityNotIn_example"; // String | + String filterAssignedToUserIdEq = "filterAssignedToUserIdEq_example"; // String | + String filterAssignedToUserIdNotEq = "filterAssignedToUserIdNotEq_example"; // String | + String filterAssignedToUserIdIn = "filterAssignedToUserIdIn_example"; // String | + String filterAssignedToUserIdNotIn = "filterAssignedToUserIdNotIn_example"; // String | + try { + ProblemActionItemList result = apiInstance.listProblemActionItems(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemActionItemsApi#listProblemActionItems"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **problemId** | **String**| | | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **sort** | **String**| | [optional] | +| **filterSearch** | **String**| | [optional] | +| **filterDueDateGt** | **String**| | [optional] | +| **filterDueDateGte** | **String**| | [optional] | +| **filterDueDateLt** | **String**| | [optional] | +| **filterDueDateLte** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **filterStatusEq** | **String**| | [optional] | +| **filterStatusNotEq** | **String**| | [optional] | +| **filterStatusIn** | **String**| | [optional] | +| **filterStatusNotIn** | **String**| | [optional] | +| **filterPriorityEq** | **String**| | [optional] | +| **filterPriorityNotEq** | **String**| | [optional] | +| **filterPriorityIn** | **String**| | [optional] | +| **filterPriorityNotIn** | **String**| | [optional] | +| **filterAssignedToUserIdEq** | **String**| | [optional] | +| **filterAssignedToUserIdNotEq** | **String**| | [optional] | +| **filterAssignedToUserIdIn** | **String**| | [optional] | +| **filterAssignedToUserIdNotIn** | **String**| | [optional] | + +### Return type + +[**ProblemActionItemList**](ProblemActionItemList.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | success | - | + + +# **updateProblemActionItem** +> ProblemActionItemResponse updateProblemActionItem(id, updateProblemActionItem) + +Update a problem action item + +Updates a problem action item + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemActionItemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemActionItemsApi apiInstance = new ProblemActionItemsApi(defaultClient); + String id = "id_example"; // String | + UpdateProblemActionItem updateProblemActionItem = new UpdateProblemActionItem(); // UpdateProblemActionItem | + try { + ProblemActionItemResponse result = apiInstance.updateProblemActionItem(id, updateProblemActionItem); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemActionItemsApi#updateProblemActionItem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | +| **updateProblemActionItem** | [**UpdateProblemActionItem**](UpdateProblemActionItem.md)| | | + +### Return type + +[**ProblemActionItemResponse**](ProblemActionItemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | problem action item updated | - | + diff --git a/docs/ProblemList.md b/docs/ProblemList.md new file mode 100644 index 00000000..debfefef --- /dev/null +++ b/docs/ProblemList.md @@ -0,0 +1,16 @@ + + +# ProblemList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<ProblemResponseData>**](ProblemResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/ProblemResponse.md b/docs/ProblemResponse.md new file mode 100644 index 00000000..eff42a5e --- /dev/null +++ b/docs/ProblemResponse.md @@ -0,0 +1,14 @@ + + +# ProblemResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ProblemResponseData**](ProblemResponseData.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/ProblemResponseData.md b/docs/ProblemResponseData.md new file mode 100644 index 00000000..68c0d059 --- /dev/null +++ b/docs/ProblemResponseData.md @@ -0,0 +1,23 @@ + + +# ProblemResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the problem | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**Problem**](Problem.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEMS | "problems" | + + + diff --git a/docs/ProblemsApi.md b/docs/ProblemsApi.md new file mode 100644 index 00000000..ca87d5a8 --- /dev/null +++ b/docs/ProblemsApi.md @@ -0,0 +1,545 @@ +# ProblemsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createProblem**](ProblemsApi.md#createProblem) | **POST** /v1/problems | Creates a problem | +| [**deleteProblem**](ProblemsApi.md#deleteProblem) | **DELETE** /v1/problems/{id} | Deletes a problem | +| [**getProblem**](ProblemsApi.md#getProblem) | **GET** /v1/problems/{id} | Retrieves a problem | +| [**linkProblemIncidents**](ProblemsApi.md#linkProblemIncidents) | **POST** /v1/problems/{id}/incidents | Links incidents to a problem | +| [**listProblems**](ProblemsApi.md#listProblems) | **GET** /v1/problems | List problems | +| [**unlinkProblemIncident**](ProblemsApi.md#unlinkProblemIncident) | **DELETE** /v1/problems/{id}/incidents/{incident_id} | Unlinks an incident from a problem | +| [**updateProblem**](ProblemsApi.md#updateProblem) | **PUT** /v1/problems/{id} | Update a problem | + + + +# **createProblem** +> ProblemResponse createProblem(newProblem) + +Creates a problem + +Creates a new problem from provided data + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + NewProblem newProblem = new NewProblem(); // NewProblem | + try { + ProblemResponse result = apiInstance.createProblem(newProblem); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#createProblem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **newProblem** | [**NewProblem**](NewProblem.md)| | | + +### Return type + +[**ProblemResponse**](ProblemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | problem created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteProblem** +> ProblemResponse deleteProblem(id) + +Deletes a problem + +Soft-deletes a problem + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + String id = "id_example"; // String | + try { + ProblemResponse result = apiInstance.deleteProblem(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#deleteProblem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | + +### Return type + +[**ProblemResponse**](ProblemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | problem deleted | - | +| **404** | problem not found | - | + + +# **getProblem** +> ProblemResponse getProblem(id) + +Retrieves a problem + +API callers lacking access to the problem's team receive an error. The API deliberately returns 404 rather than 403 so existence is not leaked. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + String id = "id_example"; // String | + try { + ProblemResponse result = apiInstance.getProblem(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#getProblem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | + +### Return type + +[**ProblemResponse**](ProblemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | linked incidents hidden without incident read permission | - | +| **404** | problem belongs to another team | - | + + +# **linkProblemIncidents** +> ProblemResponse linkProblemIncidents(id, linkIncidents) + +Links incidents to a problem + +Links one or more incidents to a problem. Accepts `incident_id` (single) or `incident_ids` (array). + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + String id = "id_example"; // String | + LinkIncidents linkIncidents = new LinkIncidents(); // LinkIncidents | + try { + ProblemResponse result = apiInstance.linkProblemIncidents(id, linkIncidents); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#linkProblemIncidents"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | +| **linkIncidents** | [**LinkIncidents**](LinkIncidents.md)| | | + +### Return type + +[**ProblemResponse**](ProblemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | incident linked | - | +| **400** | incident_id missing | - | +| **404** | incident not found or inaccessible | - | + + +# **listProblems** +> ProblemList listProblems(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn) + +List problems + +Sorting by incidents_count would let callers without incident read infer relative hidden incident counts, so it is rejected. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String sort = "sort_example"; // String | + String filterSearch = "filterSearch_example"; // String | + Integer filterOwnerUserId = 56; // Integer | + String filterOwnerGroupId = "filterOwnerGroupId_example"; // String | + Integer filterCreatedByUserId = 56; // Integer | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String filterDueDateGt = "filterDueDateGt_example"; // String | + String filterDueDateGte = "filterDueDateGte_example"; // String | + String filterDueDateLt = "filterDueDateLt_example"; // String | + String filterDueDateLte = "filterDueDateLte_example"; // String | + String filterStatusEq = "filterStatusEq_example"; // String | + String filterStatusNotEq = "filterStatusNotEq_example"; // String | + String filterStatusIn = "filterStatusIn_example"; // String | + String filterStatusNotIn = "filterStatusNotIn_example"; // String | + String filterPriorityEq = "filterPriorityEq_example"; // String | + String filterPriorityNotEq = "filterPriorityNotEq_example"; // String | + String filterPriorityIn = "filterPriorityIn_example"; // String | + String filterPriorityNotIn = "filterPriorityNotIn_example"; // String | + try { + ProblemList result = apiInstance.listProblems(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#listProblems"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **sort** | **String**| | [optional] | +| **filterSearch** | **String**| | [optional] | +| **filterOwnerUserId** | **Integer**| | [optional] | +| **filterOwnerGroupId** | **String**| | [optional] | +| **filterCreatedByUserId** | **Integer**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **filterDueDateGt** | **String**| | [optional] | +| **filterDueDateGte** | **String**| | [optional] | +| **filterDueDateLt** | **String**| | [optional] | +| **filterDueDateLte** | **String**| | [optional] | +| **filterStatusEq** | **String**| | [optional] | +| **filterStatusNotEq** | **String**| | [optional] | +| **filterStatusIn** | **String**| | [optional] | +| **filterStatusNotIn** | **String**| | [optional] | +| **filterPriorityEq** | **String**| | [optional] | +| **filterPriorityNotEq** | **String**| | [optional] | +| **filterPriorityIn** | **String**| | [optional] | +| **filterPriorityNotIn** | **String**| | [optional] | + +### Return type + +[**ProblemList**](ProblemList.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | sorted by incidents_count with incident read permission | - | +| **400** | incidents_count sort rejected without incident read permission | - | +| **404** | problem-management feature flag disabled | - | + + +# **unlinkProblemIncident** +> ProblemResponse unlinkProblemIncident(id, incidentId) + +Unlinks an incident from a problem + +Unlinks an incident from a problem + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + String id = "id_example"; // String | + String incidentId = "incidentId_example"; // String | + try { + ProblemResponse result = apiInstance.unlinkProblemIncident(id, incidentId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#unlinkProblemIncident"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | +| **incidentId** | **String**| | | + +### Return type + +[**ProblemResponse**](ProblemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | incident unlinked | - | +| **404** | incident not linked | - | + + +# **updateProblem** +> ProblemResponse updateProblem(id, updateProblem) + +Update a problem + +When a status transition fails validation, accompanying field updates roll back with it. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.ProblemsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + ProblemsApi apiInstance = new ProblemsApi(defaultClient); + String id = "id_example"; // String | + UpdateProblem updateProblem = new UpdateProblem(); // UpdateProblem | + try { + ProblemResponse result = apiInstance.updateProblem(id, updateProblem); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ProblemsApi#updateProblem"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | +| **updateProblem** | [**UpdateProblem**](UpdateProblem.md)| | | + +### Return type + +[**ProblemResponse**](ProblemResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | status transition applies other fields atomically | - | +| **422** | failed transition does not persist other fields | - | +| **404** | problem not found | - | + diff --git a/docs/PublishIncidentTaskParams.md b/docs/PublishIncidentTaskParams.md index 7d2a2f52..e886482c 100644 --- a/docs/PublishIncidentTaskParams.md +++ b/docs/PublishIncidentTaskParams.md @@ -16,7 +16,11 @@ |**shouldTweet** | **Boolean** | For Statuspage.io integrated pages auto publishes a tweet for your update | [optional] | |**statusPageTemplate** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**statusPageId** | **String** | | | -|**statusPageIds** | **List<String>** | Publishes the update to every listed status page (requires the status-page-v3-limited-bulk-publish feature). When set, it takes precedence over status_page_id and the first entry becomes status_page_id. | [optional] | +|**statusPageIds** | **List<String>** | Publishes the update to every listed status page. This field is in limited Early Access; contact Rootly Support to request access. When set, it takes precedence over status_page_id and the first entry becomes status_page_id. | [optional] | +|**selectedComponentKeys** | **List<String>** | Composite \"SourceType:<id>\" keys of the status page components affected by the publish. This field is in Early Access and is not generally available; contact Rootly Support to request access. | [optional] | +|**selectedComponentStatuses** | [**Map<String, InnerEnum>**](#Map<String, InnerEnum>) | Impact status to publish for each selected component key. Keys must match selected_component_keys entries. | [optional] | +|**syncIncidentComponents** | **Boolean** | When true, every run also publishes the incident's tagged services and functionalities that are components on the target page. Defaults to true when selected_component_keys is empty. This field is in Early Access and is not generally available; contact Rootly Support to request access. | [optional] | +|**syncedComponentStatus** | [**SyncedComponentStatusEnum**](#SyncedComponentStatusEnum) | Impact status published for components synced from the incident. Defaults to degraded_performance. A component also listed in selected_component_keys keeps its selected_component_statuses entry. | [optional] | |**integrationPayload** | **String** | Additional API Payload you can pass to statuspage.io for example. Can contain liquid markup and need to be valid JSON | [optional] | @@ -43,3 +47,25 @@ +## Enum: Map<String, InnerEnum> + +| Name | Value | +|---- | -----| +| OPERATIONAL | "operational" | +| DEGRADED_PERFORMANCE | "degraded_performance" | +| PARTIAL_OUTAGE | "partial_outage" | +| MAJOR_OUTAGE | "major_outage" | + + + +## Enum: SyncedComponentStatusEnum + +| Name | Value | +|---- | -----| +| OPERATIONAL | "operational" | +| DEGRADED_PERFORMANCE | "degraded_performance" | +| PARTIAL_OUTAGE | "partial_outage" | +| MAJOR_OUTAGE | "major_outage" | + + + diff --git a/docs/Pulse.md b/docs/Pulse.md index b1d94a50..4205d3d7 100644 --- a/docs/Pulse.md +++ b/docs/Pulse.md @@ -12,8 +12,8 @@ |**services** | [**List<Service>**](Service.md) | Services attached to the pulse | [optional] | |**environments** | [**List<Environment>**](Environment.md) | Environments attached to the pulse | [optional] | |**externalUrl** | **String** | The external url of the pulse | [optional] | -|**labels** | [**List<NewPulseDataAttributesLabelsInner>**](NewPulseDataAttributesLabelsInner.md) | | [optional] | -|**refs** | [**List<NewPulseDataAttributesRefsInner>**](NewPulseDataAttributesRefsInner.md) | | [optional] | +|**labels** | [**List<PulseLabelsInner>**](PulseLabelsInner.md) | | [optional] | +|**refs** | [**List<PulseRefsInner>**](PulseRefsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/PulseLabelsInner.md b/docs/PulseLabelsInner.md new file mode 100644 index 00000000..2ce9dc01 --- /dev/null +++ b/docs/PulseLabelsInner.md @@ -0,0 +1,14 @@ + + +# PulseLabelsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**key** | **String** | Key of the tag | | +|**value** | **String** | Value of the tag | | + + + diff --git a/docs/PulseRefsInner.md b/docs/PulseRefsInner.md new file mode 100644 index 00000000..056ea02d --- /dev/null +++ b/docs/PulseRefsInner.md @@ -0,0 +1,14 @@ + + +# PulseRefsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**key** | **String** | Key of the ref | | +|**value** | **String** | Value of the ref | | + + + diff --git a/docs/RelatedIncidents.md b/docs/RelatedIncidents.md new file mode 100644 index 00000000..5847a210 --- /dev/null +++ b/docs/RelatedIncidents.md @@ -0,0 +1,31 @@ + + +# RelatedIncidents + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | Whether the alert must (or must not) have related incidents | | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| RELATED_INCIDENTS | "related_incidents" | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS_SET | "is_set" | +| IS_NOT_SET | "is_not_set" | + + + diff --git a/docs/RemoveFromSlackChannelTaskParams.md b/docs/RemoveFromSlackChannelTaskParams.md new file mode 100644 index 00000000..2b9e28c6 --- /dev/null +++ b/docs/RemoveFromSlackChannelTaskParams.md @@ -0,0 +1,31 @@ + + +# RemoveFromSlackChannelTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**targetKind** | [**TargetKindEnum**](#TargetKindEnum) | | [optional] | +|**dryRun** | **Boolean** | | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| REMOVE_FROM_SLACK_CHANNEL | "remove_from_slack_channel" | + + + +## Enum: TargetKindEnum + +| Name | Value | +|---- | -----| +| USERS_WITHOUT_PRIVATE_INCIDENT_ACCESS | "users_without_private_incident_access" | + + + diff --git a/docs/RenameSlackChannelTaskParams.md b/docs/RenameSlackChannelTaskParams.md index 678e4718..9effcf14 100644 --- a/docs/RenameSlackChannelTaskParams.md +++ b/docs/RenameSlackChannelTaskParams.md @@ -10,6 +10,8 @@ |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | |**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**title** | **String** | | | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/ResolveAlertDataAttributes.md b/docs/ResolveAlertDataAttributes.md index 76054004..92bf4f41 100644 --- a/docs/ResolveAlertDataAttributes.md +++ b/docs/ResolveAlertDataAttributes.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**resolutionMessage** | **String** | How was the alert resolved? | [optional] | |**resolveRelatedIncidents** | **Boolean** | Resolve all associated incidents | [optional] | +|**actor** | [**NewAlertDataAttributesActor**](NewAlertDataAttributesActor.md) | | [optional] | diff --git a/docs/ResolveIncidentData.md b/docs/ResolveIncidentData.md index 544ddf52..3eb1b63f 100644 --- a/docs/ResolveIncidentData.md +++ b/docs/ResolveIncidentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**ResolveIncidentDataAttributes**](ResolveIncidentDataAttributes.md) | | | diff --git a/docs/RestartIncidentData.md b/docs/RestartIncidentData.md index c18155c1..d3eb2743 100644 --- a/docs/RestartIncidentData.md +++ b/docs/RestartIncidentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | **Object** | | [optional] | diff --git a/docs/Role.md b/docs/Role.md index 0946e534..a075c9c1 100644 --- a/docs/Role.md +++ b/docs/Role.md @@ -36,11 +36,13 @@ |**servicesPermissions** | [**List<ServicesPermissionsEnum>**](#List<ServicesPermissionsEnum>) | | [optional] | |**severitiesPermissions** | [**List<SeveritiesPermissionsEnum>**](#List<SeveritiesPermissionsEnum>) | | [optional] | |**statusPagesPermissions** | [**List<StatusPagesPermissionsEnum>**](#List<StatusPagesPermissionsEnum>) | | [optional] | +|**statusPageUpdatesPermissions** | [**List<StatusPageUpdatesPermissionsEnum>**](#List<StatusPageUpdatesPermissionsEnum>) | | [optional] | |**webhooksPermissions** | [**List<WebhooksPermissionsEnum>**](#List<WebhooksPermissionsEnum>) | | [optional] | |**workflowsPermissions** | [**List<WorkflowsPermissionsEnum>**](#List<WorkflowsPermissionsEnum>) | | [optional] | |**catalogsPermissions** | [**List<CatalogsPermissionsEnum>**](#List<CatalogsPermissionsEnum>) | | [optional] | |**subStatusesPermissions** | [**List<SubStatusesPermissionsEnum>**](#List<SubStatusesPermissionsEnum>) | | [optional] | |**edgeConnectorPermissions** | [**List<EdgeConnectorPermissionsEnum>**](#List<EdgeConnectorPermissionsEnum>) | | [optional] | +|**privateAgentPermissions** | [**List<PrivateAgentPermissionsEnum>**](#List<PrivateAgentPermissionsEnum>) | Private Agent management permissions: create issues enrollment tokens, read views agent inventory and details, and delete revokes agent credentials. Create and delete can be used independently through the API; browser inventory requires read. | [optional] | |**slasPermissions** | [**List<SlasPermissionsEnum>**](#List<SlasPermissionsEnum>) | | [optional] | |**pagingPermissions** | [**List<PagingPermissionsEnum>**](#List<PagingPermissionsEnum>) | | [optional] | |**incidentCommunicationPermissions** | [**List<IncidentCommunicationPermissionsEnum>**](#List<IncidentCommunicationPermissionsEnum>) | | [optional] | @@ -311,6 +313,17 @@ +## Enum: List<StatusPageUpdatesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<WebhooksPermissionsEnum> | Name | Value | @@ -366,6 +379,17 @@ +## Enum: List<PrivateAgentPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<SlasPermissionsEnum> | Name | Value | diff --git a/docs/Schedule.md b/docs/Schedule.md index 6e43d136..b1cd8e4c 100644 --- a/docs/Schedule.md +++ b/docs/Schedule.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the schedule | | |**description** | **String** | The description of the schedule | [optional] | |**allTimeCoverage** | **Boolean** | 24/7 coverage of the schedule | [optional] | +|**timeZone** | **String** | IANA time zone the schedule's rotations are rendered in | [optional] | |**slackUserGroup** | [**ScheduleSlackUserGroup**](ScheduleSlackUserGroup.md) | | [optional] | |**slackChannel** | [**ScheduleSlackChannel**](ScheduleSlackChannel.md) | | [optional] | |**ownerGroupIds** | **List<String>** | Owning teams. | [optional] | @@ -22,6 +23,7 @@ |**shiftReportDayOfWeek** | [**ShiftReportDayOfWeekEnum**](#ShiftReportDayOfWeekEnum) | Day of week the weekly shift summary is sent | [optional] | |**shiftReportTimeOfDay** | **String** | Time of day the weekly shift summary is sent, in HH:MM 24-hour format | [optional] | |**shiftReportTimeZone** | **String** | IANA time zone used for the weekly shift summary | [optional] | +|**businessHours** | [**ScheduleBusinessHours**](ScheduleBusinessHours.md) | | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/ScheduleBusinessHours.md b/docs/ScheduleBusinessHours.md new file mode 100644 index 00000000..0bbcf900 --- /dev/null +++ b/docs/ScheduleBusinessHours.md @@ -0,0 +1,16 @@ + + +# ScheduleBusinessHours + +Controls shadow paging on the schedule. Null disables shadow paging. start_time and end_time are HH:MM 24-hour format strings. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startTime** | **String** | | | +|**endTime** | **String** | | | +|**includeWeekends** | **Boolean** | | | + + + diff --git a/docs/ScheduleRotation.md b/docs/ScheduleRotation.md index 92788832..534813a5 100644 --- a/docs/ScheduleRotation.md +++ b/docs/ScheduleRotation.md @@ -14,8 +14,8 @@ |**activeAllWeek** | **Boolean** | Schedule rotation active all week? | [optional] | |**activeDays** | [**List<ActiveDaysEnum>**](#List<ActiveDaysEnum>) | | [optional] | |**activeTimeType** | [**List<ActiveTimeTypeEnum>**](#List<ActiveTimeTypeEnum>) | | [optional] | -|**activeTimeAttributes** | [**List<NewScheduleRotationDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | -|**timeZone** | **String** | A valid IANA time zone name. | [optional] | +|**activeTimeAttributes** | [**List<ScheduleRotationActiveTimeAttributesInner>**](ScheduleRotationActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | +|**timeZone** | **String** | A valid IANA time zone name. Organizations with one timezone per schedule manage this on the schedule; a value differing from the schedule's is rejected. | [optional] | |**scheduleRotationableAttributes** | [**NewScheduleRotationDataAttributesScheduleRotationableAttributes**](NewScheduleRotationDataAttributesScheduleRotationableAttributes.md) | | | |**startTime** | **OffsetDateTime** | RFC3339 date-time when rotation starts. Shifts will only be created after this time. | [optional] | |**endTime** | **OffsetDateTime** | RFC3339 date-time when rotation ends. Shifts will only be created before this time. | [optional] | diff --git a/docs/ScheduleRotationActiveDay.md b/docs/ScheduleRotationActiveDay.md index 8125cf76..d030a49a 100644 --- a/docs/ScheduleRotationActiveDay.md +++ b/docs/ScheduleRotationActiveDay.md @@ -9,7 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**scheduleRotationId** | **String** | | | |**dayName** | [**DayNameEnum**](#DayNameEnum) | Schedule rotation day name for which active times to be created | | -|**activeTimeAttributes** | [**List<NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.md) | Schedule rotation active times per day | | +|**activeTimeAttributes** | [**List<ScheduleRotationActiveDayActiveTimeAttributesInner>**](ScheduleRotationActiveDayActiveTimeAttributesInner.md) | Schedule rotation active times per day | | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/ScheduleRotationActiveDayActiveTimeAttributesInner.md b/docs/ScheduleRotationActiveDayActiveTimeAttributesInner.md new file mode 100644 index 00000000..b52522f8 --- /dev/null +++ b/docs/ScheduleRotationActiveDayActiveTimeAttributesInner.md @@ -0,0 +1,14 @@ + + +# ScheduleRotationActiveDayActiveTimeAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startTime** | **String** | Start time for schedule rotation active time | [optional] | +|**endTime** | **String** | End time for schedule rotation active time | [optional] | + + + diff --git a/docs/ScheduleRotationActiveTimeAttributesInner.md b/docs/ScheduleRotationActiveTimeAttributesInner.md new file mode 100644 index 00000000..6da94559 --- /dev/null +++ b/docs/ScheduleRotationActiveTimeAttributesInner.md @@ -0,0 +1,14 @@ + + +# ScheduleRotationActiveTimeAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startTime** | **String** | Start time for schedule rotation active time | | +|**endTime** | **String** | End time for schedule rotation active time | | + + + diff --git a/docs/Secret.md b/docs/Secret.md index 151d7f1f..891a3301 100644 --- a/docs/Secret.md +++ b/docs/Secret.md @@ -12,6 +12,7 @@ |**hashicorpVaultMount** | **String** | The HashiCorp Vault secret mount path | [optional] | |**hashicorpVaultPath** | **String** | The HashiCorp Vault secret path | [optional] | |**hashicorpVaultVersion** | **Integer** | The HashiCorp Vault secret version | [optional] | +|**ownerGroupIds** | **List<String>** | IDs of the teams whose members can see and pick this secret; their team admins can manage it. Empty means only users with the org Secrets permission can. Ignored unless team scoping is enabled for the organization. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/SendSlackBlocksTaskParams.md b/docs/SendSlackBlocksTaskParams.md index 961a3915..16c8ef02 100644 --- a/docs/SendSlackBlocksTaskParams.md +++ b/docs/SendSlackBlocksTaskParams.md @@ -21,6 +21,9 @@ |**updateParentMessage** | **Boolean** | | [optional] | |**parentMessageThreadTask** | [**Object**](Object.md) | A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task | [optional] | |**sendOnlyAsThreadedMessage** | **Boolean** | When set to true, if the parent for this threaded message cannot be found the message will be skipped. | [optional] | +|**allowCrossWorkflowThreading** | **Boolean** | When set to true, allows workflows from different sources (e.g. different incidents or alerts) to thread together on the same parent message. | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/SendSlackMessageTaskParams.md b/docs/SendSlackMessageTaskParams.md index 9a94f596..8c2df73d 100644 --- a/docs/SendSlackMessageTaskParams.md +++ b/docs/SendSlackMessageTaskParams.md @@ -21,6 +21,9 @@ |**parentMessageThreadTask** | [**Object**](Object.md) | A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task | [optional] | |**text** | **String** | The message text | | |**sendOnlyAsThreadedMessage** | **Boolean** | When set to true, if the parent for this threaded message cannot be found the message will be skipped. | [optional] | +|**allowCrossWorkflowThreading** | **Boolean** | When set to true, allows workflows from different sources (e.g. different incidents or alerts) to thread together on the same parent message. | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/Service.md b/docs/Service.md index 6e04fdba..8140f1c8 100644 --- a/docs/Service.md +++ b/docs/Service.md @@ -7,56 +7,28 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**name** | **String** | The name of the service | | -|**slug** | **String** | The slug of the service | [optional] [readonly] | -|**managedBy** | [**ManagedByEnum**](#ManagedByEnum) | How this service is managed (provenance): web, api, terraform, etc. Read-only. | [optional] | -|**description** | **String** | The description of the service | [optional] | -|**publicDescription** | **String** | The status page description of the service | [optional] | -|**notifyEmails** | **List<String>** | Emails attached to the service | [optional] | -|**color** | **String** | The hex color of the service | [optional] | -|**position** | **Integer** | Position of the service | [optional] | -|**backstageId** | **String** | The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name | [optional] | -|**externalId** | **String** | The external id associated to this service | [optional] | -|**pagerdutyId** | **String** | The PagerDuty service id associated to this service | [optional] | -|**opsgenieId** | **String** | The Opsgenie service id associated to this service | [optional] | -|**cortexId** | **String** | The Cortex group id associated to this service | [optional] | -|**serviceNowCiSysId** | **String** | The Service Now CI sys id associated to this service | [optional] | -|**githubRepositoryName** | **String** | The GitHub repository name associated to this service. eg: rootlyhq/my-service | [optional] | -|**githubRepositoryBranch** | **String** | The GitHub repository branch associated to this service. eg: main | [optional] | -|**gitlabRepositoryName** | **String** | The GitLab repository name associated to this service. eg: rootlyhq/my-service | [optional] | -|**gitlabRepositoryBranch** | **String** | The GitLab repository branch associated to this service. eg: main | [optional] | -|**kubernetesDeploymentName** | **String** | The Kubernetes deployment name associated to this service. eg: namespace/deployment-name | [optional] | -|**environmentIds** | **List<String>** | Environments associated with this service | [optional] | -|**serviceIds** | **List<String>** | Services dependent on this service | [optional] | -|**ownerGroupIds** | **List<String>** | Owner Teams associated with this service | [optional] | -|**ownerUserIds** | **List<Integer>** | Owner Users associated with this service | [optional] | -|**alertUrgencyId** | **String** | The alert urgency id of the service | [optional] | -|**escalationPolicyId** | **String** | The escalation policy id of the service | [optional] | -|**alertsEmailEnabled** | **Boolean** | Enable alerts through email | [optional] | -|**alertsEmailAddress** | **String** | Email generated to send alerts to | [optional] | -|**slackChannels** | [**List<NewEnvironmentDataAttributesSlackChannelsInner>**](NewEnvironmentDataAttributesSlackChannelsInner.md) | Slack Channels associated with this service | [optional] | -|**slackAliases** | [**List<NewEnvironmentDataAttributesSlackAliasesInner>**](NewEnvironmentDataAttributesSlackAliasesInner.md) | Slack Aliases associated with this service | [optional] | -|**alertBroadcastEnabled** | **Boolean** | Enable alerts to be broadcasted to a specific channel | [optional] | -|**alertBroadcastChannel** | [**ServiceAlertBroadcastChannel**](ServiceAlertBroadcastChannel.md) | | [optional] | -|**incidentBroadcastEnabled** | **Boolean** | Enable incidents to be broadcasted to a specific channel | [optional] | -|**incidentBroadcastChannel** | [**ServiceIncidentBroadcastChannel**](ServiceIncidentBroadcastChannel.md) | | [optional] | -|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this service. | [optional] | -|**createdAt** | **String** | Date of creation | | -|**updatedAt** | **String** | Date of last update | | - - - -## Enum: ManagedByEnum +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**serviceIds** | **List<String>** | Service ids for which this escalation path should be used | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How the alert's services should be matched. is and is_not take exactly one id | [optional] | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "service" | + + + +## Enum: OperatorEnum | Name | Value | |---- | -----| -| WEB | "web" | -| ADMIN_WEB | "admin_web" | -| API | "api" | -| TERRAFORM | "terraform" | -| PULUMI | "pulumi" | -| BACKSTAGE | "backstage" | -| CATALOG_SYNC | "catalog_sync" | +| IS | "is" | +| IS_NOT | "is_not" | +| IS_ONE_OF | "is_one_of" | +| IS_NOT_ONE_OF | "is_not_one_of" | diff --git a/docs/Severity.md b/docs/Severity.md index d7b31ea7..0bc13383 100644 --- a/docs/Severity.md +++ b/docs/Severity.md @@ -14,8 +14,8 @@ |**color** | **String** | The hex color of the severity | [optional] | |**position** | **Integer** | Position of the severity | [optional] | |**notifyEmails** | **List<String>** | Emails to attach to the severity | [optional] | -|**slackChannels** | [**List<NewEnvironmentDataAttributesSlackChannelsInner>**](NewEnvironmentDataAttributesSlackChannelsInner.md) | Slack Channels associated with this severity | [optional] | -|**slackAliases** | [**List<NewEnvironmentDataAttributesSlackAliasesInner>**](NewEnvironmentDataAttributesSlackAliasesInner.md) | Slack Aliases associated with this severity | [optional] | +|**slackChannels** | [**List<EnvironmentSlackChannelsInner>**](EnvironmentSlackChannelsInner.md) | Slack Channels associated with this severity | [optional] | +|**slackAliases** | [**List<EnvironmentSlackAliasesInner>**](EnvironmentSlackAliasesInner.md) | Slack Aliases associated with this severity | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/Shift.md b/docs/Shift.md index 64101c05..012aea27 100644 --- a/docs/Shift.md +++ b/docs/Shift.md @@ -14,6 +14,7 @@ |**isOverride** | **Boolean** | Denotes shift is an override shift | | |**isShadow** | **Boolean** | Denotes shift is a shadow shift | | |**userId** | **Integer** | ID of user on shift | [optional] | +|**overriddenShifts** | [**List<OverriddenShift>**](OverriddenShift.md) | For override shifts, the portions of the regular shifts this override replaces, clipped to the override window. Null for non-override shifts. Available when overridden shifts are enabled for the organization. | [optional] | diff --git a/docs/ShiftCoverageRequestsApi.md b/docs/ShiftCoverageRequestsApi.md index ff954d9a..7b1a57f6 100644 --- a/docs/ShiftCoverageRequestsApi.md +++ b/docs/ShiftCoverageRequestsApi.md @@ -16,7 +16,7 @@ All URIs are relative to *https://api.rootly.com* creates shift coverage requests -Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift. +Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift, or targets recipient_user_ids when targeted-shift-coverage is enabled. ### Example ```java diff --git a/docs/ShiftsApi.md b/docs/ShiftsApi.md index 9ccd734a..0f62b3f5 100644 --- a/docs/ShiftsApi.md +++ b/docs/ShiftsApi.md @@ -109,8 +109,8 @@ public class Example { ShiftsApi apiInstance = new ShiftsApi(defaultClient); String include = "shift_override"; // String | comma separated if needed. eg: shift_override,user. Note: `user` is deprecated, use `assignee` instead. - String from = "from_example"; // String | Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) - String to = "to_example"; // String | End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) + String from = "from_example"; // String | Start range for shifts in ISO-8601 format. When omitted with `to`, defaults to `to` for a point-in-time lookup; when both bounds are omitted, defaults to the current time through one month ahead. + String to = "to_example"; // String | End range for shifts in ISO-8601 format. When omitted with `from`, defaults to `from`; when both bounds are omitted, defaults to the current time through one month ahead. List userIds = Arrays.asList(); // List | List scheduleIds = Arrays.asList(); // List | Integer pageNumber = 56; // Integer | Page number (defaults to 1) @@ -134,8 +134,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **include** | **String**| comma separated if needed. eg: shift_override,user. Note: `user` is deprecated, use `assignee` instead. | [optional] [enum: shift_override, user, assignee, shift_shadow] | -| **from** | **String**| Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) | [optional] | -| **to** | **String**| End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) | [optional] | +| **from** | **String**| Start range for shifts in ISO-8601 format. When omitted with `to`, defaults to `to` for a point-in-time lookup; when both bounds are omitted, defaults to the current time through one month ahead. | [optional] | +| **to** | **String**| End range for shifts in ISO-8601 format. When omitted with `from`, defaults to `from`; when both bounds are omitted, defaults to the current time through one month ahead. | [optional] | | **userIds** | [**List<Integer>**](Integer.md)| | [optional] | | **scheduleIds** | [**List<String>**](String.md)| | [optional] | | **pageNumber** | **Integer**| Page number (defaults to 1) | [optional] | diff --git a/docs/SnoozeAlertDataAttributes.md b/docs/SnoozeAlertDataAttributes.md index fceeb5cb..7e982a50 100644 --- a/docs/SnoozeAlertDataAttributes.md +++ b/docs/SnoozeAlertDataAttributes.md @@ -8,6 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**delayMinutes** | **Integer** | Number of minutes to snooze the alert for | | +|**actor** | [**NewAlertDataAttributesActor**](NewAlertDataAttributesActor.md) | | [optional] | diff --git a/docs/StatusPageTeam.md b/docs/StatusPageTeam.md new file mode 100644 index 00000000..85d3319a --- /dev/null +++ b/docs/StatusPageTeam.md @@ -0,0 +1,26 @@ + + +# StatusPageTeam + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**statusPageId** | **String** | ID of the status page the team is assigned to | | +|**groupId** | **UUID** | ID of the team granted access to the status page | | +|**permissionLevel** | [**PermissionLevelEnum**](#PermissionLevelEnum) | Access level granted to members of the team | | +|**createdAt** | **OffsetDateTime** | Date of creation | | +|**updatedAt** | **OffsetDateTime** | Date of last update | | + + + +## Enum: PermissionLevelEnum + +| Name | Value | +|---- | -----| +| EDIT_AND_PUBLISH | "edit_and_publish" | +| PUBLISH_ONLY | "publish_only" | + + + diff --git a/docs/StatusPageTeamList.md b/docs/StatusPageTeamList.md new file mode 100644 index 00000000..bdc5bcf7 --- /dev/null +++ b/docs/StatusPageTeamList.md @@ -0,0 +1,16 @@ + + +# StatusPageTeamList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<StatusPageTeamResponseData>**](StatusPageTeamResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/StatusPageTeamResponse.md b/docs/StatusPageTeamResponse.md new file mode 100644 index 00000000..36c90265 --- /dev/null +++ b/docs/StatusPageTeamResponse.md @@ -0,0 +1,14 @@ + + +# StatusPageTeamResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**StatusPageTeamResponseData**](StatusPageTeamResponseData.md) | | | +|**included** | [**List<JsonapiIncludedResource>**](JsonapiIncludedResource.md) | | [optional] | + + + diff --git a/docs/StatusPageTeamResponseData.md b/docs/StatusPageTeamResponseData.md new file mode 100644 index 00000000..f3da8719 --- /dev/null +++ b/docs/StatusPageTeamResponseData.md @@ -0,0 +1,23 @@ + + +# StatusPageTeamResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the status page team assignment | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**StatusPageTeam**](StatusPageTeam.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| STATUS_PAGE_GROUPS | "status_page_groups" | + + + diff --git a/docs/StatusPageTeamsApi.md b/docs/StatusPageTeamsApi.md new file mode 100644 index 00000000..2582fda6 --- /dev/null +++ b/docs/StatusPageTeamsApi.md @@ -0,0 +1,370 @@ +# StatusPageTeamsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createStatusPageTeam**](StatusPageTeamsApi.md#createStatusPageTeam) | **POST** /v1/status-pages/{status_page_id}/teams | Grants a team access to a status page | +| [**deleteStatusPageTeam**](StatusPageTeamsApi.md#deleteStatusPageTeam) | **DELETE** /v1/status-pages/{status_page_id}/teams/{id} | Removes a team's access to a status page | +| [**getStatusPageTeam**](StatusPageTeamsApi.md#getStatusPageTeam) | **GET** /v1/status-pages/{status_page_id}/teams/{id} | Retrieves a status page team assignment | +| [**listStatusPageTeams**](StatusPageTeamsApi.md#listStatusPageTeams) | **GET** /v1/status-pages/{status_page_id}/teams | Lists the teams with access to a status page | +| [**updateStatusPageTeam**](StatusPageTeamsApi.md#updateStatusPageTeam) | **PUT** /v1/status-pages/{status_page_id}/teams/{id} | Updates a status page team assignment | + + + +# **createStatusPageTeam** +> StatusPageTeamResponse createStatusPageTeam(statusPageId, newStatusPageTeam) + +Grants a team access to a status page + +Assigns a team to a status page. Members of the team get the chosen permission level on that page in addition to their role. Requires an owner or admin role. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.StatusPageTeamsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + StatusPageTeamsApi apiInstance = new StatusPageTeamsApi(defaultClient); + String statusPageId = "statusPageId_example"; // String | + NewStatusPageTeam newStatusPageTeam = new NewStatusPageTeam(); // NewStatusPageTeam | + try { + StatusPageTeamResponse result = apiInstance.createStatusPageTeam(statusPageId, newStatusPageTeam); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPageTeamsApi#createStatusPageTeam"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **statusPageId** | **String**| | | +| **newStatusPageTeam** | [**NewStatusPageTeam**](NewStatusPageTeam.md)| | | + +### Return type + +[**StatusPageTeamResponse**](StatusPageTeamResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | status page team assignment created | - | +| **422** | team is already assigned | - | +| **404** | caller is not an owner or admin | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteStatusPageTeam** +> StatusPageTeamResponse deleteStatusPageTeam(statusPageId, id) + +Removes a team's access to a status page + +Removes a team from a status page. Its members lose the page access the assignment granted on their next request. Requires an owner or admin role. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.StatusPageTeamsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + StatusPageTeamsApi apiInstance = new StatusPageTeamsApi(defaultClient); + String statusPageId = "statusPageId_example"; // String | + String id = "id_example"; // String | + try { + StatusPageTeamResponse result = apiInstance.deleteStatusPageTeam(statusPageId, id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPageTeamsApi#deleteStatusPageTeam"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **statusPageId** | **String**| | | +| **id** | **String**| | | + +### Return type + +[**StatusPageTeamResponse**](StatusPageTeamResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | status page team assignment deleted | - | +| **404** | resource not found | - | + + +# **getStatusPageTeam** +> StatusPageTeamResponse getStatusPageTeam(statusPageId, id) + +Retrieves a status page team assignment + +Retrieves a specific status page team assignment by id + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.StatusPageTeamsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + StatusPageTeamsApi apiInstance = new StatusPageTeamsApi(defaultClient); + String statusPageId = "statusPageId_example"; // String | + String id = "id_example"; // String | + try { + StatusPageTeamResponse result = apiInstance.getStatusPageTeam(statusPageId, id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPageTeamsApi#getStatusPageTeam"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **statusPageId** | **String**| | | +| **id** | **String**| | | + +### Return type + +[**StatusPageTeamResponse**](StatusPageTeamResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | status page team assignment found | - | +| **404** | resource not found | - | + + +# **listStatusPageTeams** +> StatusPageTeamList listStatusPageTeams(statusPageId, include, pageNumber, pageSize) + +Lists the teams with access to a status page + +Lists the teams assigned to a status page, oldest first + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.StatusPageTeamsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + StatusPageTeamsApi apiInstance = new StatusPageTeamsApi(defaultClient); + String statusPageId = "statusPageId_example"; // String | + String include = "include_example"; // String | + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + try { + StatusPageTeamList result = apiInstance.listStatusPageTeams(statusPageId, include, pageNumber, pageSize); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPageTeamsApi#listStatusPageTeams"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **statusPageId** | **String**| | | +| **include** | **String**| | [optional] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | + +### Return type + +[**StatusPageTeamList**](StatusPageTeamList.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | success | - | + + +# **updateStatusPageTeam** +> StatusPageTeamResponse updateStatusPageTeam(statusPageId, id, updateStatusPageTeam) + +Updates a status page team assignment + +Changes the permission level of a team on a status page. Requires an owner or admin role. To move the grant to another team, delete it and create a new one. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.StatusPageTeamsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + StatusPageTeamsApi apiInstance = new StatusPageTeamsApi(defaultClient); + String statusPageId = "statusPageId_example"; // String | + String id = "id_example"; // String | + UpdateStatusPageTeam updateStatusPageTeam = new UpdateStatusPageTeam(); // UpdateStatusPageTeam | + try { + StatusPageTeamResponse result = apiInstance.updateStatusPageTeam(statusPageId, id, updateStatusPageTeam); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPageTeamsApi#updateStatusPageTeam"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **statusPageId** | **String**| | | +| **id** | **String**| | | +| **updateStatusPageTeam** | [**UpdateStatusPageTeam**](UpdateStatusPageTeam.md)| | | + +### Return type + +[**StatusPageTeamResponse**](StatusPageTeamResponse.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: application/vnd.api+json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | status page team assignment updated | - | +| **404** | resource not found | - | + diff --git a/docs/Team.md b/docs/Team.md index 2823cfa0..c6dffa89 100644 --- a/docs/Team.md +++ b/docs/Team.md @@ -24,19 +24,21 @@ |**pagertreeId** | **String** | The PagerTree group id associated to this team | [optional] | |**cortexId** | **String** | The Cortex group id associated to this team | [optional] | |**serviceNowCiSysId** | **String** | The Service Now CI sys id associated to this team | [optional] | +|**scimGroupId** | **String** | The SCIM group id linked to this team | [optional] | |**userIds** | **List<Integer>** | The user ids of the members of this team. | [optional] | |**adminIds** | **List<Integer>** | The user ids of the admins of this team. These users must also be present in user_ids attribute. | [optional] | |**alertsEmailEnabled** | **Boolean** | Enable alerts through email | [optional] | |**alertsEmailAddress** | **String** | Email generated to send alerts to | [optional] | |**alertUrgencyId** | **String** | The alert urgency id of the team | [optional] | -|**slackChannels** | [**List<NewEnvironmentDataAttributesSlackChannelsInner>**](NewEnvironmentDataAttributesSlackChannelsInner.md) | Slack Channels associated with this team | [optional] | -|**slackAliases** | [**List<NewEnvironmentDataAttributesSlackAliasesInner>**](NewEnvironmentDataAttributesSlackAliasesInner.md) | Slack Aliases associated with this team | [optional] | +|**slackChannels** | [**List<EnvironmentSlackChannelsInner>**](EnvironmentSlackChannelsInner.md) | Slack Channels associated with this team | [optional] | +|**slackAliases** | [**List<EnvironmentSlackAliasesInner>**](EnvironmentSlackAliasesInner.md) | Slack Aliases associated with this team | [optional] | |**alertBroadcastEnabled** | **Boolean** | Enable alerts to be broadcasted to a specific channel | [optional] | |**alertBroadcastChannel** | [**ServiceAlertBroadcastChannel**](ServiceAlertBroadcastChannel.md) | | [optional] | |**incidentBroadcastEnabled** | **Boolean** | Enable incidents to be broadcasted to a specific channel | [optional] | |**incidentBroadcastChannel** | [**ServiceIncidentBroadcastChannel**](ServiceIncidentBroadcastChannel.md) | | [optional] | |**autoAddMembersWhenAttached** | **Boolean** | Auto add members to incident channel when team is attached | [optional] | |**autoAddMembersScope** | [**AutoAddMembersScopeEnum**](#AutoAddMembersScopeEnum) | Visibility-scoped auto-add behavior. Only present when the `enable_scoped_incident_channel_auto_add` feature flag is on for the organization. When set, it overrides `auto_add_members_when_attached`. | [optional] | +|**scheduleOverridePolicy** | [**ScheduleOverridePolicyEnum**](#ScheduleOverridePolicyEnum) | Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. | [optional] | |**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this team. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | @@ -68,3 +70,13 @@ +## Enum: ScheduleOverridePolicyEnum + +| Name | Value | +|---- | -----| +| EVERYONE | "everyone" | +| MEMBERS | "members" | +| ADMINS | "admins" | + + + diff --git a/docs/TeamsApi.md b/docs/TeamsApi.md index 933f5979..e02cdb5b 100644 --- a/docs/TeamsApi.md +++ b/docs/TeamsApi.md @@ -151,6 +151,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | records upserted successfully | - | +| **403** | feature not enabled for the organization | - | | **422** | validation or record-level error | - | | **401** | unauthorized | - | @@ -289,6 +290,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **201** | team created | - | +| **403** | feature not enabled for the organization | - | | **422** | invalid association | - | | **401** | responds with unauthorized for invalid token | - | @@ -796,5 +798,6 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | team updated | - | +| **403** | feature not enabled for the organization | - | | **404** | resource not found | - | diff --git a/docs/TriggerWorkflowTaskParams.md b/docs/TriggerWorkflowTaskParams.md index 09d8482c..cff8aba7 100644 --- a/docs/TriggerWorkflowTaskParams.md +++ b/docs/TriggerWorkflowTaskParams.md @@ -9,7 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | |**kind** | [**KindEnum**](#KindEnum) | | | -|**attributeToQueryBy** | [**AttributeToQueryByEnum**](#AttributeToQueryByEnum) | [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\"] | | +|**attributeToQueryBy** | [**AttributeToQueryByEnum**](#AttributeToQueryByEnum) | [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\", \"(problem) kind can only match [:id]\"] | | |**resource** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**workflow** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**checkWorkflowConditions** | **Boolean** | | [optional] | @@ -33,6 +33,7 @@ | POST_MORTEM | "post_mortem" | | PULSE | "pulse" | | ALERT | "alert" | +| PROBLEM | "problem" | diff --git a/docs/UpdateAlertConfiguration.md b/docs/UpdateAlertConfiguration.md new file mode 100644 index 00000000..d1d14b2f --- /dev/null +++ b/docs/UpdateAlertConfiguration.md @@ -0,0 +1,13 @@ + + +# UpdateAlertConfiguration + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateAlertConfigurationData**](UpdateAlertConfigurationData.md) | | | + + + diff --git a/docs/UpdateAlertConfigurationData.md b/docs/UpdateAlertConfigurationData.md new file mode 100644 index 00000000..c38f17ba --- /dev/null +++ b/docs/UpdateAlertConfigurationData.md @@ -0,0 +1,23 @@ + + +# UpdateAlertConfigurationData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. Each team has a single alert configuration, so no id is needed. | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateAlertConfigurationDataAttributes**](UpdateAlertConfigurationDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_CONFIGURATIONS | "alert_configurations" | + + + diff --git a/docs/UpdateAlertConfigurationDataAttributes.md b/docs/UpdateAlertConfigurationDataAttributes.md new file mode 100644 index 00000000..4bf7ae48 --- /dev/null +++ b/docs/UpdateAlertConfigurationDataAttributes.md @@ -0,0 +1,29 @@ + + +# UpdateAlertConfigurationDataAttributes + +Every attribute is optional and replaces its stored value. An attribute whose feature is not enabled for the team is refused with 403. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**alertAcknowledgment** | [**UpdateAlertConfigurationDataAttributesAlertAcknowledgment**](UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md) | | [optional] | +|**manualPagingFormSettings** | [**List<ManualPagingFormSettingsEnum>**](#List<ManualPagingFormSettingsEnum>) | Stored entity types for the manual paging form, as configured; at least one is required. The form itself may hide a type the team cannot use yet, such as functionality. | [optional] | +|**manualPagingUrgencyIds** | **List<UUID>** | Alert urgency ids allowed when manually paging. Empty means all; deleted urgencies are left out. Present and accepted only while the manual-page-urgency-allowlist feature is on for the team. | [optional] | +|**defaultUserNotificationSettings** | [**UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings**](UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md) | | [optional] | + + + +## Enum: List<ManualPagingFormSettingsEnum> + +| Name | Value | +|---- | -----| +| USER | "user" | +| TEAM | "team" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| ESCALATION_POLICY | "escalation_policy" | + + + diff --git a/docs/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md b/docs/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md new file mode 100644 index 00000000..97dd3d69 --- /dev/null +++ b/docs/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.md @@ -0,0 +1,37 @@ + + +# UpdateAlertConfigurationDataAttributesAlertAcknowledgment + +Re-trigger behaviour for acknowledged alerts. Replaces the stored object as a whole. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**timeoutEnabled** | **Boolean** | Re-trigger an acknowledged alert after the timeout. | [optional] | +|**timeoutMinutes** | [**TimeoutMinutesEnum**](#TimeoutMinutesEnum) | Minutes before an acknowledged alert re-triggers. | [optional] | +|**retriggerManualAlerts** | **Boolean** | Whether alerts created from a manual page also re-trigger. Changing it is rejected with 422 until the manual page re-trigger opt-out is enabled for the team. | [optional] | + + + +## Enum: TimeoutMinutesEnum + +| Name | Value | +|---- | -----| +| NUMBER_10 | 10 | +| NUMBER_20 | 20 | +| NUMBER_30 | 30 | +| NUMBER_40 | 40 | +| NUMBER_50 | 50 | +| NUMBER_60 | 60 | +| NUMBER_90 | 90 | +| NUMBER_120 | 120 | +| NUMBER_180 | 180 | +| NUMBER_240 | 240 | +| NUMBER_300 | 300 | +| NUMBER_360 | 360 | +| NUMBER_720 | 720 | +| NUMBER_1440 | 1440 | + + + diff --git a/docs/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md b/docs/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md new file mode 100644 index 00000000..6bb3cd5d --- /dev/null +++ b/docs/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.md @@ -0,0 +1,37 @@ + + +# UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + +Channel defaults for new users, per urgency level. Omitted levels keep the built-in defaults; existing users are never changed. Present and accepted only while org-default-notification-settings is on for the team. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**audibleContactTypes** | [**Set<AudibleContactTypesEnum>**](#Set<AudibleContactTypesEnum>) | Channels enabled on a newly created user's audible notification rule. At least one channel is required. | [optional] | +|**quietContactTypes** | [**Set<QuietContactTypesEnum>**](#Set<QuietContactTypesEnum>) | Channels enabled on a newly created user's quiet notification rule. At least one channel is required. | [optional] | + + + +## Enum: Set<AudibleContactTypesEnum> + +| Name | Value | +|---- | -----| +| EMAIL | "email" | +| DEVICE | "device" | +| SMS | "sms" | +| CALL | "call" | + + + +## Enum: Set<QuietContactTypesEnum> + +| Name | Value | +|---- | -----| +| EMAIL | "email" | +| NON_CRITICAL_DEVICE | "non_critical_device" | +| SMS | "sms" | +| CALL | "call" | + + + diff --git a/docs/UpdateAlertData.md b/docs/UpdateAlertData.md index 015d8063..faa333ac 100644 --- a/docs/UpdateAlertData.md +++ b/docs/UpdateAlertData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertDataAttributes**](UpdateAlertDataAttributes.md) | | | diff --git a/docs/UpdateAlertDataAttributes.md b/docs/UpdateAlertDataAttributes.md index 20851ee4..b20f433f 100644 --- a/docs/UpdateAlertDataAttributes.md +++ b/docs/UpdateAlertDataAttributes.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**actor** | [**NewAlertDataAttributesActor**](NewAlertDataAttributesActor.md) | | [optional] | |**noise** | [**NoiseEnum**](#NoiseEnum) | Whether the alert is marked as noise | [optional] | |**source** | **String** | Deprecated. Accepted for backwards compatibility; new clients should omit. Defaults to `api`. | [optional] | |**summary** | **String** | The summary of the alert | [optional] | diff --git a/docs/UpdateAlertEventData.md b/docs/UpdateAlertEventData.md index b1100b6d..99619f75 100644 --- a/docs/UpdateAlertEventData.md +++ b/docs/UpdateAlertEventData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertEventDataAttributes**](UpdateAlertEventDataAttributes.md) | | | diff --git a/docs/UpdateAlertFieldData.md b/docs/UpdateAlertFieldData.md index f37f99e8..8f453e97 100644 --- a/docs/UpdateAlertFieldData.md +++ b/docs/UpdateAlertFieldData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertFieldDataAttributes**](UpdateAlertFieldDataAttributes.md) | | | diff --git a/docs/UpdateAlertFieldDataAttributes.md b/docs/UpdateAlertFieldDataAttributes.md index d9a0d6f3..17c97e4b 100644 --- a/docs/UpdateAlertFieldDataAttributes.md +++ b/docs/UpdateAlertFieldDataAttributes.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**slug** | **String** | Deprecated. `slug` is derived from `name`; any submitted value is ignored. This property will be removed from the request schema in a future version. | [optional] | |**name** | **String** | The name of the alert field | [optional] | +|**ownerGroupIds** | **List<String>** | IDs of the teams that own the alert field. Callers with org-wide alert field permissions replace the full set. Callers without them may only add teams they administer, must leave at least one owner, and owners they do not administer are preserved. | [optional] | diff --git a/docs/UpdateAlertGroupData.md b/docs/UpdateAlertGroupData.md index fdd960e9..07af779d 100644 --- a/docs/UpdateAlertGroupData.md +++ b/docs/UpdateAlertGroupData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertGroupDataAttributes**](UpdateAlertGroupDataAttributes.md) | | | diff --git a/docs/UpdateAlertGroupDataAttributes.md b/docs/UpdateAlertGroupDataAttributes.md index ab62a43b..75fc3ad4 100644 --- a/docs/UpdateAlertGroupDataAttributes.md +++ b/docs/UpdateAlertGroupDataAttributes.md @@ -11,6 +11,7 @@ |**name** | **String** | The name of the alert group | [optional] | |**description** | **String** | The description of the alert group | [optional] | |**timeWindow** | **Integer** | The length of time an Alert Group should stay open and accept new alerts | [optional] | +|**ownerGroupIds** | **List<UUID>** | Teams that own this alert group. Admins of an owning team can manage it, and an owned alert group can only target destinations that belong to its owning teams. Only available when owning teams for alert groups are enabled for the organization. | [optional] | |**targets** | [**List<NewAlertGroupDataAttributesTargetsInner>**](NewAlertGroupDataAttributesTargetsInner.md) | | [optional] | |**attributes** | [**List<NewAlertGroupDataAttributesAttributesInner>**](NewAlertGroupDataAttributesAttributesInner.md) | This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. | [optional] | |**groupByAlertTitle** | [**GroupByAlertTitleEnum**](#GroupByAlertTitleEnum) | [DEPRECATED] Whether the alerts should be grouped by titles. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. | [optional] | diff --git a/docs/UpdateAlertRouteData.md b/docs/UpdateAlertRouteData.md index 78333ac1..4f588d54 100644 --- a/docs/UpdateAlertRouteData.md +++ b/docs/UpdateAlertRouteData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertRouteDataAttributes**](UpdateAlertRouteDataAttributes.md) | | | diff --git a/docs/UpdateAlertRoutingRuleData.md b/docs/UpdateAlertRoutingRuleData.md index 82ed7299..1ad23292 100644 --- a/docs/UpdateAlertRoutingRuleData.md +++ b/docs/UpdateAlertRoutingRuleData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertRoutingRuleDataAttributes**](UpdateAlertRoutingRuleDataAttributes.md) | | | diff --git a/docs/UpdateAlertUrgencyData.md b/docs/UpdateAlertUrgencyData.md index 10603564..a4e376c6 100644 --- a/docs/UpdateAlertUrgencyData.md +++ b/docs/UpdateAlertUrgencyData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertUrgencyDataAttributes**](UpdateAlertUrgencyDataAttributes.md) | | | diff --git a/docs/UpdateAlertUrgencyDataAttributes.md b/docs/UpdateAlertUrgencyDataAttributes.md index 7e680f46..625bda0a 100644 --- a/docs/UpdateAlertUrgencyDataAttributes.md +++ b/docs/UpdateAlertUrgencyDataAttributes.md @@ -10,7 +10,29 @@ |**name** | **String** | The name of the alert urgency | [optional] | |**description** | **String** | The description of the alert urgency | [optional] | |**position** | **Integer** | Position of the alert urgency | [optional] | -|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, negative = never. | [optional] | +|**retriggerTimeoutMinutes** | [**RetriggerTimeoutMinutesEnum**](#RetriggerTimeoutMinutesEnum) | Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, -1 = never. | [optional] | + + + +## Enum: RetriggerTimeoutMinutesEnum + +| Name | Value | +|---- | -----| +| NUMBER_MINUS_1 | -1 | +| NUMBER_10 | 10 | +| NUMBER_20 | 20 | +| NUMBER_30 | 30 | +| NUMBER_40 | 40 | +| NUMBER_50 | 50 | +| NUMBER_60 | 60 | +| NUMBER_90 | 90 | +| NUMBER_120 | 120 | +| NUMBER_180 | 180 | +| NUMBER_240 | 240 | +| NUMBER_300 | 300 | +| NUMBER_360 | 360 | +| NUMBER_720 | 720 | +| NUMBER_1440 | 1440 | diff --git a/docs/UpdateAlertsSourceData.md b/docs/UpdateAlertsSourceData.md index f789ef78..ec508f4c 100644 --- a/docs/UpdateAlertsSourceData.md +++ b/docs/UpdateAlertsSourceData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAlertsSourceDataAttributes**](UpdateAlertsSourceDataAttributes.md) | | | diff --git a/docs/UpdateAlertsSourceDataAttributes.md b/docs/UpdateAlertsSourceDataAttributes.md index 6fabc863..0183bc7f 100644 --- a/docs/UpdateAlertsSourceDataAttributes.md +++ b/docs/UpdateAlertsSourceDataAttributes.md @@ -20,7 +20,7 @@ |**alertSourceUrgencyRulesAttributes** | [**List<NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner>**](NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md) | List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload | [optional] | |**sourceableAttributes** | [**NewAlertsSourceDataAttributesSourceableAttributes**](NewAlertsSourceDataAttributesSourceableAttributes.md) | | [optional] | |**resolutionRuleAttributes** | [**NewAlertsSourceDataAttributesResolutionRuleAttributes**](NewAlertsSourceDataAttributesResolutionRuleAttributes.md) | | [optional] | -|**alertSourceFieldsAttributes** | [**List<NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner>**](NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md) | List of alert fields to be added to the alert source. Note: This attribute requires the alert field feature to be enabled on your account. Contact Rootly customer support if you need assistance with this feature. | [optional] | +|**alertSourceFieldsAttributes** | [**List<UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner>**](UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md) | List of alert fields to be added to the alert source. Note: This attribute requires the alert field feature to be enabled on your account. Contact Rootly customer support if you need assistance with this feature. | [optional] | diff --git a/docs/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md b/docs/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md new file mode 100644 index 00000000..e073f353 --- /dev/null +++ b/docs/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md @@ -0,0 +1,15 @@ + + +# UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**alertFieldId** | **String** | The ID of the alert field. Must be visible to the caller; unknown or hidden IDs return 404 | [optional] | +|**templateBody** | **String** | Liquid expression to extract a specific value from the alert's payload for evaluation | [optional] | +|**destroy** | **Boolean** | Set to true to unbind the alert field from the alert source. Built-in fields cannot be unbound (422) | [optional] | + + + diff --git a/docs/UpdateApiKeyData.md b/docs/UpdateApiKeyData.md index 87d5eaad..a9d05575 100644 --- a/docs/UpdateApiKeyData.md +++ b/docs/UpdateApiKeyData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateApiKeyDataAttributes**](UpdateApiKeyDataAttributes.md) | | | diff --git a/docs/UpdateAuthorizationData.md b/docs/UpdateAuthorizationData.md index 93dfb82e..bac40fbb 100644 --- a/docs/UpdateAuthorizationData.md +++ b/docs/UpdateAuthorizationData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateAuthorizationDataAttributes**](UpdateAuthorizationDataAttributes.md) | | | diff --git a/docs/UpdateCatalogChecklistTemplateData.md b/docs/UpdateCatalogChecklistTemplateData.md index 9aec1852..462238ff 100644 --- a/docs/UpdateCatalogChecklistTemplateData.md +++ b/docs/UpdateCatalogChecklistTemplateData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCatalogChecklistTemplateDataAttributes**](UpdateCatalogChecklistTemplateDataAttributes.md) | | | diff --git a/docs/UpdateCatalogData.md b/docs/UpdateCatalogData.md index e4409c6d..2f6acf09 100644 --- a/docs/UpdateCatalogData.md +++ b/docs/UpdateCatalogData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCatalogDataAttributes**](UpdateCatalogDataAttributes.md) | | | diff --git a/docs/UpdateCatalogEntityData.md b/docs/UpdateCatalogEntityData.md index 8445e7c2..7daf456a 100644 --- a/docs/UpdateCatalogEntityData.md +++ b/docs/UpdateCatalogEntityData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCatalogEntityDataAttributes**](UpdateCatalogEntityDataAttributes.md) | | | diff --git a/docs/UpdateCatalogEntityPropertyData.md b/docs/UpdateCatalogEntityPropertyData.md index e1a0e91d..d4ab7739 100644 --- a/docs/UpdateCatalogEntityPropertyData.md +++ b/docs/UpdateCatalogEntityPropertyData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCatalogEntityPropertyDataAttributes**](UpdateCatalogEntityPropertyDataAttributes.md) | | | diff --git a/docs/UpdateCatalogFieldData.md b/docs/UpdateCatalogFieldData.md index a6e50ab7..8de059ba 100644 --- a/docs/UpdateCatalogFieldData.md +++ b/docs/UpdateCatalogFieldData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCatalogFieldDataAttributes**](UpdateCatalogFieldDataAttributes.md) | | | diff --git a/docs/UpdateCatalogPropertyData.md b/docs/UpdateCatalogPropertyData.md index 55927c6c..2ce38d34 100644 --- a/docs/UpdateCatalogPropertyData.md +++ b/docs/UpdateCatalogPropertyData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCatalogPropertyDataAttributes**](UpdateCatalogPropertyDataAttributes.md) | | | diff --git a/docs/UpdateCauseData.md b/docs/UpdateCauseData.md index e7a05c8b..c2cff8cb 100644 --- a/docs/UpdateCauseData.md +++ b/docs/UpdateCauseData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCauseDataAttributes**](UpdateCauseDataAttributes.md) | | | diff --git a/docs/UpdateCommunicationsGroupData.md b/docs/UpdateCommunicationsGroupData.md index 5a9af9de..96082eaa 100644 --- a/docs/UpdateCommunicationsGroupData.md +++ b/docs/UpdateCommunicationsGroupData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCommunicationsGroupDataAttributes**](UpdateCommunicationsGroupDataAttributes.md) | | | diff --git a/docs/UpdateCommunicationsStageData.md b/docs/UpdateCommunicationsStageData.md index 098e8f68..44aa6946 100644 --- a/docs/UpdateCommunicationsStageData.md +++ b/docs/UpdateCommunicationsStageData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCommunicationsStageDataAttributes**](UpdateCommunicationsStageDataAttributes.md) | | | diff --git a/docs/UpdateCommunicationsTemplateData.md b/docs/UpdateCommunicationsTemplateData.md index 19e595ad..d51e2ee8 100644 --- a/docs/UpdateCommunicationsTemplateData.md +++ b/docs/UpdateCommunicationsTemplateData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCommunicationsTemplateDataAttributes**](UpdateCommunicationsTemplateDataAttributes.md) | | | diff --git a/docs/UpdateCommunicationsTypeData.md b/docs/UpdateCommunicationsTypeData.md index fbed8ce2..f339e088 100644 --- a/docs/UpdateCommunicationsTypeData.md +++ b/docs/UpdateCommunicationsTypeData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCommunicationsTypeDataAttributes**](UpdateCommunicationsTypeDataAttributes.md) | | | diff --git a/docs/UpdateCustomFieldData.md b/docs/UpdateCustomFieldData.md index d5f9d9fb..24c0ec6f 100644 --- a/docs/UpdateCustomFieldData.md +++ b/docs/UpdateCustomFieldData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCustomFieldDataAttributes**](UpdateCustomFieldDataAttributes.md) | | | diff --git a/docs/UpdateCustomFieldOptionData.md b/docs/UpdateCustomFieldOptionData.md index 398fb667..eb091ff7 100644 --- a/docs/UpdateCustomFieldOptionData.md +++ b/docs/UpdateCustomFieldOptionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCustomFieldOptionDataAttributes**](UpdateCustomFieldOptionDataAttributes.md) | | | diff --git a/docs/UpdateCustomFormData.md b/docs/UpdateCustomFormData.md index 83dba4b0..6026f70d 100644 --- a/docs/UpdateCustomFormData.md +++ b/docs/UpdateCustomFormData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateCustomFormDataAttributes**](UpdateCustomFormDataAttributes.md) | | | diff --git a/docs/UpdateDashboardData.md b/docs/UpdateDashboardData.md index e299b552..5d9ed530 100644 --- a/docs/UpdateDashboardData.md +++ b/docs/UpdateDashboardData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | [optional] | |**attributes** | [**UpdateDashboardDataAttributes**](UpdateDashboardDataAttributes.md) | | [optional] | diff --git a/docs/UpdateDashboardPanelData.md b/docs/UpdateDashboardPanelData.md index 66ff92bf..227b3188 100644 --- a/docs/UpdateDashboardPanelData.md +++ b/docs/UpdateDashboardPanelData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | [optional] | |**attributes** | [**UpdateDashboardPanelDataAttributes**](UpdateDashboardPanelDataAttributes.md) | | [optional] | diff --git a/docs/UpdateEdgeConnectorEdgeConnector.md b/docs/UpdateEdgeConnectorEdgeConnector.md index ad91a48c..42cffaf3 100644 --- a/docs/UpdateEdgeConnectorEdgeConnector.md +++ b/docs/UpdateEdgeConnectorEdgeConnector.md @@ -11,6 +11,7 @@ |**description** | **String** | | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | | [optional] | |**subscriptions** | **List<String>** | | [optional] | +|**ownerGroupIds** | **List<UUID>** | | [optional] | diff --git a/docs/UpdateEdgeConnectorRequestDataAttributes.md b/docs/UpdateEdgeConnectorRequestDataAttributes.md index 6b2d821d..220c9855 100644 --- a/docs/UpdateEdgeConnectorRequestDataAttributes.md +++ b/docs/UpdateEdgeConnectorRequestDataAttributes.md @@ -11,6 +11,7 @@ |**description** | **String** | | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | | [optional] | |**subscriptions** | **List<String>** | | [optional] | +|**ownerGroupIds** | **List<UUID>** | IDs of the teams (groups) that own this connector | [optional] | |**filters** | **Object** | Event filters | [optional] | diff --git a/docs/UpdateEnvironmentData.md b/docs/UpdateEnvironmentData.md index cc565d09..b9acb40a 100644 --- a/docs/UpdateEnvironmentData.md +++ b/docs/UpdateEnvironmentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateEnvironmentDataAttributes**](UpdateEnvironmentDataAttributes.md) | | | diff --git a/docs/UpdateEscalationPolicyData.md b/docs/UpdateEscalationPolicyData.md index 927e4e04..e4c82d69 100644 --- a/docs/UpdateEscalationPolicyData.md +++ b/docs/UpdateEscalationPolicyData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateEscalationPolicyDataAttributes**](UpdateEscalationPolicyDataAttributes.md) | | | diff --git a/docs/UpdateEscalationPolicyLevelData.md b/docs/UpdateEscalationPolicyLevelData.md index 85b07f11..a12b13d3 100644 --- a/docs/UpdateEscalationPolicyLevelData.md +++ b/docs/UpdateEscalationPolicyLevelData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateEscalationPolicyLevelDataAttributes**](UpdateEscalationPolicyLevelDataAttributes.md) | | | diff --git a/docs/UpdateEscalationPolicyPathData.md b/docs/UpdateEscalationPolicyPathData.md index df09d4b0..46dde025 100644 --- a/docs/UpdateEscalationPolicyPathData.md +++ b/docs/UpdateEscalationPolicyPathData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateEscalationPolicyPathDataAttributes**](UpdateEscalationPolicyPathDataAttributes.md) | | | diff --git a/docs/UpdateEscalationPolicyPathDataAttributes.md b/docs/UpdateEscalationPolicyPathDataAttributes.md index eff04409..2b90d202 100644 --- a/docs/UpdateEscalationPolicyPathDataAttributes.md +++ b/docs/UpdateEscalationPolicyPathDataAttributes.md @@ -18,8 +18,10 @@ |**repeat** | **Boolean** | Whether this path should be repeated until someone acknowledges the alert | [optional] | |**repeatCount** | **Integer** | The number of times this path will be executed until someone acknowledges the alert | [optional] | |**initialDelay** | **Integer** | Initial delay for escalation path in minutes. Maximum 1 week (10080). | [optional] | -|**retriggerTimeoutMinutes** | **Integer** | Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, negative = never. | [optional] | +|**retriggerTimeoutMinutes** | [**RetriggerTimeoutMinutesEnum**](#RetriggerTimeoutMinutesEnum) | Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. | [optional] | |**rules** | [**List<UpdateEscalationPolicyPathDataAttributesRulesInner>**](UpdateEscalationPolicyPathDataAttributesRulesInner.md) | Escalation path conditions | [optional] | +|**notificationTypeRules** | [**List<NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner>**](NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.md) | Rules deciding whether an alert pages audible or quiet, evaluated in order — the first matching rule's notification_type wins, otherwise notification_type_fallback applies. When present, the path's notification_type is aligned to notification_type_fallback. Only available when notification type conditions are enabled for the team. | [optional] | +|**notificationTypeFallback** | [**NotificationTypeFallbackEnum**](#NotificationTypeFallbackEnum) | Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. | [optional] | |**timeRestrictionTimeZone** | [**TimeRestrictionTimeZoneEnum**](#TimeRestrictionTimeZoneEnum) | Time zone used for time restrictions. | [optional] | |**timeRestrictions** | [**List<UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner>**](UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md) | If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. | [optional] | @@ -61,6 +63,37 @@ +## Enum: RetriggerTimeoutMinutesEnum + +| Name | Value | +|---- | -----| +| NUMBER_MINUS_1 | -1 | +| NUMBER_10 | 10 | +| NUMBER_20 | 20 | +| NUMBER_30 | 30 | +| NUMBER_40 | 40 | +| NUMBER_50 | 50 | +| NUMBER_60 | 60 | +| NUMBER_90 | 90 | +| NUMBER_120 | 120 | +| NUMBER_180 | 180 | +| NUMBER_240 | 240 | +| NUMBER_300 | 300 | +| NUMBER_360 | 360 | +| NUMBER_720 | 720 | +| NUMBER_1440 | 1440 | + + + +## Enum: NotificationTypeFallbackEnum + +| Name | Value | +|---- | -----| +| AUDIBLE | "audible" | +| QUIET | "quiet" | + + + ## Enum: TimeRestrictionTimeZoneEnum | Name | Value | @@ -137,6 +170,8 @@ | ATLANTIC_AZORES | "Atlantic/Azores" | | CAPE_VERDE_IS_ | "Cape Verde Is." | | ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | | EDINBURGH | "Edinburgh" | | EUROPE_LONDON | "Europe/London" | | LISBON | "Lisbon" | @@ -160,8 +195,6 @@ | EUROPE_BRUSSELS | "Europe/Brussels" | | BUDAPEST | "Budapest" | | EUROPE_BUDAPEST | "Europe/Budapest" | -| CASABLANCA | "Casablanca" | -| AFRICA_CASABLANCA | "Africa/Casablanca" | | COPENHAGEN | "Copenhagen" | | EUROPE_COPENHAGEN | "Europe/Copenhagen" | | DUBLIN | "Dublin" | @@ -206,7 +239,7 @@ | KALININGRAD | "Kaliningrad" | | EUROPE_KALININGRAD | "Europe/Kaliningrad" | | KYIV | "Kyiv" | -| EUROPE_KIEV | "Europe/Kiev" | +| EUROPE_KYIV | "Europe/Kyiv" | | PRETORIA | "Pretoria" | | AFRICA_JOHANNESBURG | "Africa/Johannesburg" | | RIGA | "Riga" | @@ -273,7 +306,7 @@ | URUMQI | "Urumqi" | | ASIA_URUMQI | "Asia/Urumqi" | | RANGOON | "Rangoon" | -| ASIA_RANGOON | "Asia/Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | | BANGKOK | "Bangkok" | | ASIA_BANGKOK | "Asia/Bangkok" | | HANOI | "Hanoi" | @@ -370,6 +403,8 @@ | PACIFIC_MARQUESAS | "Pacific/Marquesas" | | PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | | PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | diff --git a/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md b/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md index 6e50ac03..0b6988fb 100644 --- a/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md +++ b/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md @@ -9,16 +9,16 @@ |------------ | ------------- | ------------- | -------------| |**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | |**urgencyIds** | **List<String>** | Alert urgency ids for which this escalation path should be used | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | Whether the alert must (or must not) have related incidents | | |**withinWorkingHour** | **Boolean** | Whether the escalation path should be used within working hours | | |**jsonPath** | **String** | JSON path to extract value from payload | | -|**operator** | [**OperatorEnum**](#OperatorEnum) | Whether the alert must (or must not) have related incidents | | |**value** | **String** | Value with which JSON path value should be matched | [optional] | |**values** | **List<String>** | Alert source values to match against (e.g., manual, datadog) | | |**fieldableType** | **String** | The type of the fieldable (e.g., AlertField) | | |**fieldableId** | **String** | The ID of the alert field | | |**serviceIds** | **List<String>** | Service ids for which this escalation path should be used | | |**timeZone** | [**TimeZoneEnum**](#TimeZoneEnum) | Time zone for the deferral window | | -|**timeBlocks** | [**List<NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner>**](NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md) | Time windows during which alerts are deferred | | +|**timeBlocks** | [**List<DeferralWindowTimeBlocksInner>**](DeferralWindowTimeBlocksInner.md) | Time windows during which alerts are deferred | | @@ -115,6 +115,8 @@ | ATLANTIC_AZORES | "Atlantic/Azores" | | CAPE_VERDE_IS_ | "Cape Verde Is." | | ATLANTIC_CAPE_VERDE | "Atlantic/Cape_Verde" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | | EDINBURGH | "Edinburgh" | | EUROPE_LONDON | "Europe/London" | | LISBON | "Lisbon" | @@ -138,8 +140,6 @@ | EUROPE_BRUSSELS | "Europe/Brussels" | | BUDAPEST | "Budapest" | | EUROPE_BUDAPEST | "Europe/Budapest" | -| CASABLANCA | "Casablanca" | -| AFRICA_CASABLANCA | "Africa/Casablanca" | | COPENHAGEN | "Copenhagen" | | EUROPE_COPENHAGEN | "Europe/Copenhagen" | | DUBLIN | "Dublin" | @@ -184,7 +184,7 @@ | KALININGRAD | "Kaliningrad" | | EUROPE_KALININGRAD | "Europe/Kaliningrad" | | KYIV | "Kyiv" | -| EUROPE_KIEV | "Europe/Kiev" | +| EUROPE_KYIV | "Europe/Kyiv" | | PRETORIA | "Pretoria" | | AFRICA_JOHANNESBURG | "Africa/Johannesburg" | | RIGA | "Riga" | @@ -251,7 +251,7 @@ | URUMQI | "Urumqi" | | ASIA_URUMQI | "Asia/Urumqi" | | RANGOON | "Rangoon" | -| ASIA_RANGOON | "Asia/Rangoon" | +| ASIA_YANGON | "Asia/Yangon" | | BANGKOK | "Bangkok" | | ASIA_BANGKOK | "Asia/Bangkok" | | HANOI | "Hanoi" | @@ -348,6 +348,8 @@ | PACIFIC_MARQUESAS | "Pacific/Marquesas" | | PACIFIC_KIRITIMATI | "Pacific/Kiritimati" | | PACIFIC_NORFOLK | "Pacific/Norfolk" | +| ASIA_RANGOON | "Asia/Rangoon" | +| EUROPE_KIEV | "Europe/Kiev" | diff --git a/docs/UpdateFormFieldData.md b/docs/UpdateFormFieldData.md index e665e01a..6c672ed2 100644 --- a/docs/UpdateFormFieldData.md +++ b/docs/UpdateFormFieldData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormFieldDataAttributes**](UpdateFormFieldDataAttributes.md) | | | diff --git a/docs/UpdateFormFieldDataAttributes.md b/docs/UpdateFormFieldDataAttributes.md index 59e27c28..570702d8 100644 --- a/docs/UpdateFormFieldDataAttributes.md +++ b/docs/UpdateFormFieldDataAttributes.md @@ -32,6 +32,7 @@ | SUMMARY | "summary" | | MITIGATION_MESSAGE | "mitigation_message" | | RESOLUTION_MESSAGE | "resolution_message" | +| CANCELLATION_MESSAGE | "cancellation_message" | | SEVERITY | "severity" | | ENVIRONMENTS | "environments" | | TYPES | "types" | diff --git a/docs/UpdateFormFieldOptionData.md b/docs/UpdateFormFieldOptionData.md index f1494275..61c8b041 100644 --- a/docs/UpdateFormFieldOptionData.md +++ b/docs/UpdateFormFieldOptionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormFieldOptionDataAttributes**](UpdateFormFieldOptionDataAttributes.md) | | | diff --git a/docs/UpdateFormFieldPlacementConditionData.md b/docs/UpdateFormFieldPlacementConditionData.md index 5ed71cca..72d965aa 100644 --- a/docs/UpdateFormFieldPlacementConditionData.md +++ b/docs/UpdateFormFieldPlacementConditionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormFieldPlacementConditionDataAttributes**](UpdateFormFieldPlacementConditionDataAttributes.md) | | | diff --git a/docs/UpdateFormFieldPlacementData.md b/docs/UpdateFormFieldPlacementData.md index 22260a86..ac3ccb4f 100644 --- a/docs/UpdateFormFieldPlacementData.md +++ b/docs/UpdateFormFieldPlacementData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormFieldPlacementDataAttributes**](UpdateFormFieldPlacementDataAttributes.md) | | | diff --git a/docs/UpdateFormFieldPositionData.md b/docs/UpdateFormFieldPositionData.md index 31ffa719..785e34c3 100644 --- a/docs/UpdateFormFieldPositionData.md +++ b/docs/UpdateFormFieldPositionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormFieldPositionDataAttributes**](UpdateFormFieldPositionDataAttributes.md) | | | diff --git a/docs/UpdateFormSetConditionData.md b/docs/UpdateFormSetConditionData.md index 2a1d35ad..4f0e5323 100644 --- a/docs/UpdateFormSetConditionData.md +++ b/docs/UpdateFormSetConditionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormSetConditionDataAttributes**](UpdateFormSetConditionDataAttributes.md) | | | diff --git a/docs/UpdateFormSetData.md b/docs/UpdateFormSetData.md index 2188ad2a..062e51c9 100644 --- a/docs/UpdateFormSetData.md +++ b/docs/UpdateFormSetData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFormSetDataAttributes**](UpdateFormSetDataAttributes.md) | | | diff --git a/docs/UpdateFunctionalityData.md b/docs/UpdateFunctionalityData.md index 0704488e..f5d97aa8 100644 --- a/docs/UpdateFunctionalityData.md +++ b/docs/UpdateFunctionalityData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateFunctionalityDataAttributes**](UpdateFunctionalityDataAttributes.md) | | | diff --git a/docs/UpdateHeartbeatData.md b/docs/UpdateHeartbeatData.md index 435ca641..f9e4841c 100644 --- a/docs/UpdateHeartbeatData.md +++ b/docs/UpdateHeartbeatData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateHeartbeatDataAttributes**](UpdateHeartbeatDataAttributes.md) | | | diff --git a/docs/UpdateIncidentActionItemData.md b/docs/UpdateIncidentActionItemData.md index 65e619da..ea674fd9 100644 --- a/docs/UpdateIncidentActionItemData.md +++ b/docs/UpdateIncidentActionItemData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentActionItemDataAttributes**](UpdateIncidentActionItemDataAttributes.md) | | | diff --git a/docs/UpdateIncidentCustomFieldSelectionData.md b/docs/UpdateIncidentCustomFieldSelectionData.md index 38bd2a63..13f89e3a 100644 --- a/docs/UpdateIncidentCustomFieldSelectionData.md +++ b/docs/UpdateIncidentCustomFieldSelectionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentCustomFieldSelectionDataAttributes**](UpdateIncidentCustomFieldSelectionDataAttributes.md) | | | diff --git a/docs/UpdateIncidentData.md b/docs/UpdateIncidentData.md index 5f43bba1..b66cf3f7 100644 --- a/docs/UpdateIncidentData.md +++ b/docs/UpdateIncidentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentDataAttributes**](UpdateIncidentDataAttributes.md) | | | diff --git a/docs/UpdateIncidentDataAttributes.md b/docs/UpdateIncidentDataAttributes.md index 6d37b384..a5e868ae 100644 --- a/docs/UpdateIncidentDataAttributes.md +++ b/docs/UpdateIncidentDataAttributes.md @@ -34,6 +34,9 @@ |**jiraIssueKey** | **String** | Jira issue key | [optional] | |**jiraIssueId** | **String** | Jira issue ID | [optional] | |**jiraIssueUrl** | **String** | Jira issue URL | [optional] | +|**linearIssueKey** | **String** | Linear issue key | [optional] | +|**linearIssueId** | **String** | Linear issue ID | [optional] | +|**linearIssueUrl** | **String** | Linear issue URL | [optional] | |**scheduledFor** | **String** | Date of when the maintenance begins | [optional] | |**scheduledUntil** | **String** | Date of when the maintenance ends | [optional] | |**inTriageAt** | **String** | Date of triage | [optional] | diff --git a/docs/UpdateIncidentEventData.md b/docs/UpdateIncidentEventData.md index 8bb069b1..6c12456f 100644 --- a/docs/UpdateIncidentEventData.md +++ b/docs/UpdateIncidentEventData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentEventDataAttributes**](UpdateIncidentEventDataAttributes.md) | | | diff --git a/docs/UpdateIncidentEventFunctionalityData.md b/docs/UpdateIncidentEventFunctionalityData.md index d07ad55e..22ed4879 100644 --- a/docs/UpdateIncidentEventFunctionalityData.md +++ b/docs/UpdateIncidentEventFunctionalityData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentEventFunctionalityDataAttributes**](UpdateIncidentEventFunctionalityDataAttributes.md) | | | diff --git a/docs/UpdateIncidentEventServiceData.md b/docs/UpdateIncidentEventServiceData.md index e25822fb..0e355f36 100644 --- a/docs/UpdateIncidentEventServiceData.md +++ b/docs/UpdateIncidentEventServiceData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentEventServiceDataAttributes**](UpdateIncidentEventServiceDataAttributes.md) | | | diff --git a/docs/UpdateIncidentFeedbackData.md b/docs/UpdateIncidentFeedbackData.md index 4d455363..350bc9a6 100644 --- a/docs/UpdateIncidentFeedbackData.md +++ b/docs/UpdateIncidentFeedbackData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentFeedbackDataAttributes**](UpdateIncidentFeedbackDataAttributes.md) | | | diff --git a/docs/UpdateIncidentFormFieldSelectionData.md b/docs/UpdateIncidentFormFieldSelectionData.md index f4415946..f69f726b 100644 --- a/docs/UpdateIncidentFormFieldSelectionData.md +++ b/docs/UpdateIncidentFormFieldSelectionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentFormFieldSelectionDataAttributes**](UpdateIncidentFormFieldSelectionDataAttributes.md) | | | diff --git a/docs/UpdateIncidentPermissionSetBooleanData.md b/docs/UpdateIncidentPermissionSetBooleanData.md index 6c8c4d8b..cf1ea5c4 100644 --- a/docs/UpdateIncidentPermissionSetBooleanData.md +++ b/docs/UpdateIncidentPermissionSetBooleanData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentPermissionSetBooleanDataAttributes**](UpdateIncidentPermissionSetBooleanDataAttributes.md) | | | diff --git a/docs/UpdateIncidentPermissionSetData.md b/docs/UpdateIncidentPermissionSetData.md index f6a43529..39207f27 100644 --- a/docs/UpdateIncidentPermissionSetData.md +++ b/docs/UpdateIncidentPermissionSetData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentPermissionSetDataAttributes**](UpdateIncidentPermissionSetDataAttributes.md) | | | diff --git a/docs/UpdateIncidentPermissionSetResourceData.md b/docs/UpdateIncidentPermissionSetResourceData.md index 742ab491..985e35e6 100644 --- a/docs/UpdateIncidentPermissionSetResourceData.md +++ b/docs/UpdateIncidentPermissionSetResourceData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentPermissionSetResourceDataAttributes**](UpdateIncidentPermissionSetResourceDataAttributes.md) | | | diff --git a/docs/UpdateIncidentPostMortemData.md b/docs/UpdateIncidentPostMortemData.md index ba530fcd..7aeea27d 100644 --- a/docs/UpdateIncidentPostMortemData.md +++ b/docs/UpdateIncidentPostMortemData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentPostMortemDataAttributes**](UpdateIncidentPostMortemDataAttributes.md) | | | diff --git a/docs/UpdateIncidentPostMortemDataAttributes.md b/docs/UpdateIncidentPostMortemDataAttributes.md index ea90372c..060daab2 100644 --- a/docs/UpdateIncidentPostMortemDataAttributes.md +++ b/docs/UpdateIncidentPostMortemDataAttributes.md @@ -8,6 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**title** | **String** | The title of the incident retrospective | [optional] | +|**content** | **String** | The content (body) of the incident retrospective, as HTML. Rejected with a 409 once the retrospective has been opened in the collaborative editor. | [optional] | |**status** | [**StatusEnum**](#StatusEnum) | The status of the incident retrospective | [optional] | |**startedAt** | **String** | Date of started at | [optional] | |**mitigatedAt** | **String** | Date of mitigation | [optional] | diff --git a/docs/UpdateIncidentRetrospectiveStepData.md b/docs/UpdateIncidentRetrospectiveStepData.md index 6fbf3336..48057b67 100644 --- a/docs/UpdateIncidentRetrospectiveStepData.md +++ b/docs/UpdateIncidentRetrospectiveStepData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentRetrospectiveStepDataAttributes**](UpdateIncidentRetrospectiveStepDataAttributes.md) | | | diff --git a/docs/UpdateIncidentRoleData.md b/docs/UpdateIncidentRoleData.md index f859fd5f..39779aa0 100644 --- a/docs/UpdateIncidentRoleData.md +++ b/docs/UpdateIncidentRoleData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentRoleDataAttributes**](UpdateIncidentRoleDataAttributes.md) | | | diff --git a/docs/UpdateIncidentRoleTaskData.md b/docs/UpdateIncidentRoleTaskData.md index 978136ff..32c1cced 100644 --- a/docs/UpdateIncidentRoleTaskData.md +++ b/docs/UpdateIncidentRoleTaskData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentRoleTaskDataAttributes**](UpdateIncidentRoleTaskDataAttributes.md) | | | diff --git a/docs/UpdateIncidentStatusPageEventData.md b/docs/UpdateIncidentStatusPageEventData.md index bd8bde3c..bbae9cf8 100644 --- a/docs/UpdateIncidentStatusPageEventData.md +++ b/docs/UpdateIncidentStatusPageEventData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentStatusPageEventDataAttributes**](UpdateIncidentStatusPageEventDataAttributes.md) | | | diff --git a/docs/UpdateIncidentSubStatusData.md b/docs/UpdateIncidentSubStatusData.md index 2cabfb18..c052ca57 100644 --- a/docs/UpdateIncidentSubStatusData.md +++ b/docs/UpdateIncidentSubStatusData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentSubStatusDataAttributes**](UpdateIncidentSubStatusDataAttributes.md) | | | diff --git a/docs/UpdateIncidentTypeData.md b/docs/UpdateIncidentTypeData.md index 5aa92e5f..cf986fa1 100644 --- a/docs/UpdateIncidentTypeData.md +++ b/docs/UpdateIncidentTypeData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateIncidentTypeDataAttributes**](UpdateIncidentTypeDataAttributes.md) | | | diff --git a/docs/UpdateLiveCallRouterData.md b/docs/UpdateLiveCallRouterData.md index af81b412..4159d67f 100644 --- a/docs/UpdateLiveCallRouterData.md +++ b/docs/UpdateLiveCallRouterData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateLiveCallRouterDataAttributes**](UpdateLiveCallRouterDataAttributes.md) | | | diff --git a/docs/UpdateOnCallPayReportData.md b/docs/UpdateOnCallPayReportData.md index f1580b97..ee8d64e8 100644 --- a/docs/UpdateOnCallPayReportData.md +++ b/docs/UpdateOnCallPayReportData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateOnCallPayReportDataAttributes**](UpdateOnCallPayReportDataAttributes.md) | | | diff --git a/docs/UpdateOnCallRoleData.md b/docs/UpdateOnCallRoleData.md index 894694ac..9a75ce33 100644 --- a/docs/UpdateOnCallRoleData.md +++ b/docs/UpdateOnCallRoleData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateOnCallRoleDataAttributes**](UpdateOnCallRoleDataAttributes.md) | | | diff --git a/docs/UpdateOnCallRoleDataAttributes.md b/docs/UpdateOnCallRoleDataAttributes.md index db2df981..fdf4f7d4 100644 --- a/docs/UpdateOnCallRoleDataAttributes.md +++ b/docs/UpdateOnCallRoleDataAttributes.md @@ -27,6 +27,7 @@ |**integrationsPermissions** | [**List<IntegrationsPermissionsEnum>**](#List<IntegrationsPermissionsEnum>) | | [optional] | |**invitationsPermissions** | [**List<InvitationsPermissionsEnum>**](#List<InvitationsPermissionsEnum>) | | [optional] | |**liveCallRoutingPermissions** | [**List<LiveCallRoutingPermissionsEnum>**](#List<LiveCallRoutingPermissionsEnum>) | | [optional] | +|**membersPermissions** | [**List<MembersPermissionsEnum>**](#List<MembersPermissionsEnum>) | | [optional] | |**scheduleOverridePermissions** | [**List<ScheduleOverridePermissionsEnum>**](#List<ScheduleOverridePermissionsEnum>) | | [optional] | |**schedulesPermissions** | [**List<SchedulesPermissionsEnum>**](#List<SchedulesPermissionsEnum>) | | [optional] | |**servicesPermissions** | [**List<ServicesPermissionsEnum>**](#List<ServicesPermissionsEnum>) | | [optional] | @@ -230,6 +231,16 @@ +## Enum: List<MembersPermissionsEnum> + +| Name | Value | +|---- | -----| +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<ScheduleOverridePermissionsEnum> | Name | Value | diff --git a/docs/UpdateOnCallShadowData.md b/docs/UpdateOnCallShadowData.md index 3f5a1bd2..6b6648d2 100644 --- a/docs/UpdateOnCallShadowData.md +++ b/docs/UpdateOnCallShadowData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateOnCallShadowDataAttributes**](UpdateOnCallShadowDataAttributes.md) | | | diff --git a/docs/UpdateOverrideShiftData.md b/docs/UpdateOverrideShiftData.md index 37a98d0f..488f1719 100644 --- a/docs/UpdateOverrideShiftData.md +++ b/docs/UpdateOverrideShiftData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateOverrideShiftDataAttributes**](UpdateOverrideShiftDataAttributes.md) | | | diff --git a/docs/UpdatePlaybookData.md b/docs/UpdatePlaybookData.md index 3df5d444..3c996773 100644 --- a/docs/UpdatePlaybookData.md +++ b/docs/UpdatePlaybookData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdatePlaybookDataAttributes**](UpdatePlaybookDataAttributes.md) | | | diff --git a/docs/UpdatePlaybookDataAttributes.md b/docs/UpdatePlaybookDataAttributes.md index 02b058a8..0810de1f 100644 --- a/docs/UpdatePlaybookDataAttributes.md +++ b/docs/UpdatePlaybookDataAttributes.md @@ -9,6 +9,8 @@ |------------ | ------------- | ------------- | -------------| |**title** | **String** | The title of the playbook | [optional] | |**summary** | **String** | The summary of the playbook | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). | [optional] | +|**content** | **String** | Sanitized HTML instructions. Still returned when `kind` is `external_url`, where the body may be stale — branch on `kind`, not on `content` being present. | [optional] | |**externalUrl** | **String** | The external url of the playbook | [optional] | |**severityIds** | **List<String>** | The Severity IDs to attach to the incident | [optional] | |**environmentIds** | **List<String>** | The Environment IDs to attach to the incident | [optional] | @@ -16,6 +18,16 @@ |**functionalityIds** | **List<String>** | The Functionality IDs to attach to the incident | [optional] | |**groupIds** | **List<String>** | The Team IDs to attach to the incident | [optional] | |**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the incident | [optional] | +|**causeIds** | **List<String>** | The Cause IDs to attach to the incident | [optional] | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| INTERNAL_DOCUMENT | "internal_document" | +| EXTERNAL_URL | "external_url" | diff --git a/docs/UpdatePlaybookTaskData.md b/docs/UpdatePlaybookTaskData.md index dd8fb1e1..65386181 100644 --- a/docs/UpdatePlaybookTaskData.md +++ b/docs/UpdatePlaybookTaskData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdatePlaybookTaskDataAttributes**](UpdatePlaybookTaskDataAttributes.md) | | | diff --git a/docs/UpdatePostMortemTemplateData.md b/docs/UpdatePostMortemTemplateData.md index 3f1429c0..4e702caf 100644 --- a/docs/UpdatePostMortemTemplateData.md +++ b/docs/UpdatePostMortemTemplateData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdatePostMortemTemplateDataAttributes**](UpdatePostMortemTemplateDataAttributes.md) | | | diff --git a/docs/UpdateProblem.md b/docs/UpdateProblem.md new file mode 100644 index 00000000..52707fa4 --- /dev/null +++ b/docs/UpdateProblem.md @@ -0,0 +1,13 @@ + + +# UpdateProblem + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateProblemData**](UpdateProblemData.md) | | | + + + diff --git a/docs/UpdateProblemActionItem.md b/docs/UpdateProblemActionItem.md new file mode 100644 index 00000000..f1c3db88 --- /dev/null +++ b/docs/UpdateProblemActionItem.md @@ -0,0 +1,13 @@ + + +# UpdateProblemActionItem + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateProblemActionItemData**](UpdateProblemActionItemData.md) | | | + + + diff --git a/docs/UpdateProblemActionItemData.md b/docs/UpdateProblemActionItemData.md new file mode 100644 index 00000000..79428933 --- /dev/null +++ b/docs/UpdateProblemActionItemData.md @@ -0,0 +1,23 @@ + + +# UpdateProblemActionItemData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateProblemActionItemDataAttributes**](UpdateProblemActionItemDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEM_ACTION_ITEMS | "problem_action_items" | + + + diff --git a/docs/UpdateProblemActionItemDataAttributes.md b/docs/UpdateProblemActionItemDataAttributes.md new file mode 100644 index 00000000..7f2c5f05 --- /dev/null +++ b/docs/UpdateProblemActionItemDataAttributes.md @@ -0,0 +1,40 @@ + + +# UpdateProblemActionItemDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**summary** | **String** | The summary of the action item | [optional] | +|**description** | **String** | The description of the action item | [optional] | +|**assignedToUserId** | **Integer** | ID of user you wish to assign this action item | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | The priority of the action item | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | The status of the action item | [optional] | +|**dueDate** | **String** | The due date of the action item | [optional] | +|**jiraIssueUrl** | **String** | The Jira issue URL. | [optional] | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| HIGH | "high" | +| MEDIUM | "medium" | +| LOW | "low" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| OPEN | "open" | +| IN_PROGRESS | "in_progress" | +| CANCELLED | "cancelled" | +| DONE | "done" | + + + diff --git a/docs/UpdateProblemData.md b/docs/UpdateProblemData.md new file mode 100644 index 00000000..a03fa7bc --- /dev/null +++ b/docs/UpdateProblemData.md @@ -0,0 +1,23 @@ + + +# UpdateProblemData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateProblemDataAttributes**](UpdateProblemDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PROBLEMS | "problems" | + + + diff --git a/docs/UpdateProblemDataAttributes.md b/docs/UpdateProblemDataAttributes.md new file mode 100644 index 00000000..d9a1dd39 --- /dev/null +++ b/docs/UpdateProblemDataAttributes.md @@ -0,0 +1,65 @@ + + +# UpdateProblemDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**title** | **String** | The title of the problem | [optional] | +|**description** | **String** | The description of the problem | [optional] | +|**ownerUserId** | **Integer** | ID of the user who owns the problem | [optional] | +|**ownerGroupId** | **String** | ID of the group (team) that owns the problem | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | The priority of the problem | [optional] | +|**dueDate** | **LocalDate** | The due date of the problem | [optional] | +|**scope** | **String** | The scope of the problem | [optional] | +|**exitCriteria** | **String** | The exit criteria of the problem | [optional] | +|**impactSoFar** | **String** | The impact observed so far | [optional] | +|**rootCause** | **String** | The root cause of the problem | [optional] | +|**resolution** | **String** | The resolution of the problem | [optional] | +|**deferralReason** | **String** | The reason and accepted risk for deferring the problem | [optional] | +|**cancellationReason** | **String** | The reason for cancelling the problem | [optional] | +|**nextReviewAt** | **String** | The next review date for a deferred problem | [optional] | +|**reReviewCadence** | **Integer** | Days between reviews for a deferred problem | [optional] | +|**formFieldSelections** | **List<Object>** | Custom (form) field selections for the problem | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | Target status. Transitions run through the problem status workflow: gate fields required by the target status must be supplied in the same request. Other updatable attributes may accompany a status change and are applied atomically with it. | [optional] | +|**expectedStatus** | [**ExpectedStatusEnum**](#ExpectedStatusEnum) | Optional optimistic-concurrency guard: the transition is rejected unless the problem is currently in this status. | [optional] | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| P0 | "P0" | +| P1 | "P1" | +| P2 | "P2" | +| P3 | "P3" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| CREATED | "created" | +| IN_PROGRESS | "in_progress" | +| COMPLETED | "completed" | +| DEFERRED | "deferred" | +| CANCELLED | "cancelled" | + + + +## Enum: ExpectedStatusEnum + +| Name | Value | +|---- | -----| +| CREATED | "created" | +| IN_PROGRESS | "in_progress" | +| COMPLETED | "completed" | +| DEFERRED | "deferred" | +| CANCELLED | "cancelled" | + + + diff --git a/docs/UpdatePulseData.md b/docs/UpdatePulseData.md index 203f07de..88083fc3 100644 --- a/docs/UpdatePulseData.md +++ b/docs/UpdatePulseData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdatePulseDataAttributes**](UpdatePulseDataAttributes.md) | | | diff --git a/docs/UpdateRetrospectiveConfigurationData.md b/docs/UpdateRetrospectiveConfigurationData.md index 78e32d64..ad196d08 100644 --- a/docs/UpdateRetrospectiveConfigurationData.md +++ b/docs/UpdateRetrospectiveConfigurationData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateRetrospectiveConfigurationDataAttributes**](UpdateRetrospectiveConfigurationDataAttributes.md) | | | diff --git a/docs/UpdateRetrospectiveProcessData.md b/docs/UpdateRetrospectiveProcessData.md index 445c1da0..5ed0514a 100644 --- a/docs/UpdateRetrospectiveProcessData.md +++ b/docs/UpdateRetrospectiveProcessData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateRetrospectiveProcessDataAttributes**](UpdateRetrospectiveProcessDataAttributes.md) | | | diff --git a/docs/UpdateRetrospectiveProcessGroupData.md b/docs/UpdateRetrospectiveProcessGroupData.md index 81bc5755..3f86a420 100644 --- a/docs/UpdateRetrospectiveProcessGroupData.md +++ b/docs/UpdateRetrospectiveProcessGroupData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateRetrospectiveProcessGroupDataAttributes**](UpdateRetrospectiveProcessGroupDataAttributes.md) | | | diff --git a/docs/UpdateRetrospectiveProcessGroupStepData.md b/docs/UpdateRetrospectiveProcessGroupStepData.md index 3325a098..ba68a0f1 100644 --- a/docs/UpdateRetrospectiveProcessGroupStepData.md +++ b/docs/UpdateRetrospectiveProcessGroupStepData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateRetrospectiveProcessGroupStepDataAttributes**](UpdateRetrospectiveProcessGroupStepDataAttributes.md) | | | diff --git a/docs/UpdateRetrospectiveStepData.md b/docs/UpdateRetrospectiveStepData.md index 513d17ea..d7af5ff3 100644 --- a/docs/UpdateRetrospectiveStepData.md +++ b/docs/UpdateRetrospectiveStepData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateRetrospectiveStepDataAttributes**](UpdateRetrospectiveStepDataAttributes.md) | | | diff --git a/docs/UpdateRoleData.md b/docs/UpdateRoleData.md index 68777444..120ef90e 100644 --- a/docs/UpdateRoleData.md +++ b/docs/UpdateRoleData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateRoleDataAttributes**](UpdateRoleDataAttributes.md) | | | diff --git a/docs/UpdateRoleDataAttributes.md b/docs/UpdateRoleDataAttributes.md index dd71f292..877f232c 100644 --- a/docs/UpdateRoleDataAttributes.md +++ b/docs/UpdateRoleDataAttributes.md @@ -34,11 +34,13 @@ |**servicesPermissions** | [**List<ServicesPermissionsEnum>**](#List<ServicesPermissionsEnum>) | | [optional] | |**severitiesPermissions** | [**List<SeveritiesPermissionsEnum>**](#List<SeveritiesPermissionsEnum>) | | [optional] | |**statusPagesPermissions** | [**List<StatusPagesPermissionsEnum>**](#List<StatusPagesPermissionsEnum>) | | [optional] | +|**statusPageUpdatesPermissions** | [**List<StatusPageUpdatesPermissionsEnum>**](#List<StatusPageUpdatesPermissionsEnum>) | | [optional] | |**webhooksPermissions** | [**List<WebhooksPermissionsEnum>**](#List<WebhooksPermissionsEnum>) | | [optional] | |**workflowsPermissions** | [**List<WorkflowsPermissionsEnum>**](#List<WorkflowsPermissionsEnum>) | | [optional] | |**catalogsPermissions** | [**List<CatalogsPermissionsEnum>**](#List<CatalogsPermissionsEnum>) | | [optional] | |**subStatusesPermissions** | [**List<SubStatusesPermissionsEnum>**](#List<SubStatusesPermissionsEnum>) | | [optional] | |**edgeConnectorPermissions** | [**List<EdgeConnectorPermissionsEnum>**](#List<EdgeConnectorPermissionsEnum>) | | [optional] | +|**privateAgentPermissions** | [**List<PrivateAgentPermissionsEnum>**](#List<PrivateAgentPermissionsEnum>) | Private Agent management permissions: create issues enrollment tokens, read views agent inventory and details, and delete revokes agent credentials. Create and delete can be used independently through the API; browser inventory requires read. | [optional] | |**slasPermissions** | [**List<SlasPermissionsEnum>**](#List<SlasPermissionsEnum>) | | [optional] | |**pagingPermissions** | [**List<PagingPermissionsEnum>**](#List<PagingPermissionsEnum>) | | [optional] | |**incidentCommunicationPermissions** | [**List<IncidentCommunicationPermissionsEnum>**](#List<IncidentCommunicationPermissionsEnum>) | | [optional] | @@ -288,6 +290,17 @@ +## Enum: List<StatusPageUpdatesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<WebhooksPermissionsEnum> | Name | Value | @@ -343,6 +356,17 @@ +## Enum: List<PrivateAgentPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<SlasPermissionsEnum> | Name | Value | diff --git a/docs/UpdateScheduleData.md b/docs/UpdateScheduleData.md index 92447c65..38ba79f7 100644 --- a/docs/UpdateScheduleData.md +++ b/docs/UpdateScheduleData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateScheduleDataAttributes**](UpdateScheduleDataAttributes.md) | | | diff --git a/docs/UpdateScheduleDataAttributes.md b/docs/UpdateScheduleDataAttributes.md index d4044df0..ca6ab541 100644 --- a/docs/UpdateScheduleDataAttributes.md +++ b/docs/UpdateScheduleDataAttributes.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the schedule | [optional] | |**description** | **String** | The description of the schedule | [optional] | |**allTimeCoverage** | **Boolean** | 24/7 coverage of the schedule | [optional] | +|**timeZone** | **String** | IANA time zone the schedule's rotations are rendered in. Only writable for organizations configured with one timezone per schedule; otherwise it is derived from the rotations. | [optional] | |**slackUserGroup** | [**NewScheduleDataAttributesSlackUserGroup**](NewScheduleDataAttributesSlackUserGroup.md) | | [optional] | |**slackChannel** | [**NewScheduleDataAttributesSlackChannel**](NewScheduleDataAttributesSlackChannel.md) | | [optional] | |**ownerGroupIds** | **List<String>** | Owning teams. | [optional] | @@ -22,6 +23,7 @@ |**shiftReportDayOfWeek** | [**ShiftReportDayOfWeekEnum**](#ShiftReportDayOfWeekEnum) | Day of week the weekly shift summary is sent | [optional] | |**shiftReportTimeOfDay** | **String** | Time of day the weekly shift summary is sent, in HH:MM 24-hour format | [optional] | |**shiftReportTimeZone** | **String** | IANA time zone used for the weekly shift summary | [optional] | +|**businessHours** | [**NewScheduleDataAttributesBusinessHours**](NewScheduleDataAttributesBusinessHours.md) | | [optional] | diff --git a/docs/UpdateScheduleRotationActiveDayData.md b/docs/UpdateScheduleRotationActiveDayData.md index ba0ebe8d..29b5368e 100644 --- a/docs/UpdateScheduleRotationActiveDayData.md +++ b/docs/UpdateScheduleRotationActiveDayData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateScheduleRotationActiveDayDataAttributes**](UpdateScheduleRotationActiveDayDataAttributes.md) | | | diff --git a/docs/UpdateScheduleRotationData.md b/docs/UpdateScheduleRotationData.md index 723a2e54..944e592d 100644 --- a/docs/UpdateScheduleRotationData.md +++ b/docs/UpdateScheduleRotationData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateScheduleRotationDataAttributes**](UpdateScheduleRotationDataAttributes.md) | | | diff --git a/docs/UpdateScheduleRotationDataAttributes.md b/docs/UpdateScheduleRotationDataAttributes.md index b45b86a3..bd54a32a 100644 --- a/docs/UpdateScheduleRotationDataAttributes.md +++ b/docs/UpdateScheduleRotationDataAttributes.md @@ -14,7 +14,7 @@ |**activeDays** | [**List<ActiveDaysEnum>**](#List<ActiveDaysEnum>) | | [optional] | |**activeTimeType** | [**List<ActiveTimeTypeEnum>**](#List<ActiveTimeTypeEnum>) | | [optional] | |**activeTimeAttributes** | [**List<NewScheduleRotationDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | -|**timeZone** | **String** | A valid IANA time zone name. | [optional] | +|**timeZone** | **String** | A valid IANA time zone name. Organizations with one timezone per schedule manage this on the schedule; a value differing from the schedule's is rejected. | [optional] | |**scheduleRotationableAttributes** | [**NewScheduleRotationDataAttributesScheduleRotationableAttributes**](NewScheduleRotationDataAttributesScheduleRotationableAttributes.md) | | [optional] | |**startTime** | **OffsetDateTime** | RFC3339 date-time when rotation starts. Shifts will only be created after this time. | [optional] | |**endTime** | **OffsetDateTime** | RFC3339 date-time when rotation ends. Shifts will only be created before this time. | [optional] | diff --git a/docs/UpdateScheduleRotationUserData.md b/docs/UpdateScheduleRotationUserData.md index 80d54ba1..8e0b9a73 100644 --- a/docs/UpdateScheduleRotationUserData.md +++ b/docs/UpdateScheduleRotationUserData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateScheduleRotationUserDataAttributes**](UpdateScheduleRotationUserDataAttributes.md) | | | diff --git a/docs/UpdateSecretData.md b/docs/UpdateSecretData.md index 667aff83..47b5e33d 100644 --- a/docs/UpdateSecretData.md +++ b/docs/UpdateSecretData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateSecretDataAttributes**](UpdateSecretDataAttributes.md) | | | diff --git a/docs/UpdateSecretDataAttributes.md b/docs/UpdateSecretDataAttributes.md index c11ed9b7..8ca3687f 100644 --- a/docs/UpdateSecretDataAttributes.md +++ b/docs/UpdateSecretDataAttributes.md @@ -12,6 +12,7 @@ |**hashicorpVaultMount** | **String** | The HashiCorp Vault secret mount path | [optional] | |**hashicorpVaultPath** | **String** | The HashiCorp Vault secret path | [optional] | |**hashicorpVaultVersion** | **Integer** | The HashiCorp Vault secret version | [optional] | +|**ownerGroupIds** | **List<String>** | IDs of the teams whose members can see and pick this secret; their team admins can manage it. Empty means only users with the org Secrets permission can. Ignored unless team scoping is enabled for the organization. | [optional] | diff --git a/docs/UpdateServiceData.md b/docs/UpdateServiceData.md index 6039fb55..c388915f 100644 --- a/docs/UpdateServiceData.md +++ b/docs/UpdateServiceData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateServiceDataAttributes**](UpdateServiceDataAttributes.md) | | | diff --git a/docs/UpdateSeverityData.md b/docs/UpdateSeverityData.md index 273369d0..478a0fa9 100644 --- a/docs/UpdateSeverityData.md +++ b/docs/UpdateSeverityData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateSeverityDataAttributes**](UpdateSeverityDataAttributes.md) | | | diff --git a/docs/UpdateSlaData.md b/docs/UpdateSlaData.md index 4c00f861..1ecec29c 100644 --- a/docs/UpdateSlaData.md +++ b/docs/UpdateSlaData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateSlaDataAttributes**](UpdateSlaDataAttributes.md) | | | diff --git a/docs/UpdateSlackCanvasTaskParams.md b/docs/UpdateSlackCanvasTaskParams.md new file mode 100644 index 00000000..8e4bafb6 --- /dev/null +++ b/docs/UpdateSlackCanvasTaskParams.md @@ -0,0 +1,37 @@ + + +# UpdateSlackCanvasTaskParams + +Update the selected channel canvas using Markdown. The connected Slack app must have Canvas permissions. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**channel** | [**CreateSlackCanvasTaskParamsChannel**](CreateSlackCanvasTaskParamsChannel.md) | | | +|**content** | **String** | The canvas content in Markdown. Supports Liquid variables. | | +|**operation** | [**OperationEnum**](#OperationEnum) | Append content or replace the selected table or entire canvas. | [optional] | +|**sectionName** | **String** | With replace, target the single table containing this label. Include the label in the replacement table. Blank replaces the entire canvas. Supports Liquid. | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| UPDATE_SLACK_CANVAS | "update_slack_canvas" | + + + +## Enum: OperationEnum + +| Name | Value | +|---- | -----| +| INSERT_AT_END | "insert_at_end" | +| REPLACE | "replace" | + + + diff --git a/docs/UpdateSlackChannelTopicTaskParams.md b/docs/UpdateSlackChannelTopicTaskParams.md index d8314351..6a9e8b06 100644 --- a/docs/UpdateSlackChannelTopicTaskParams.md +++ b/docs/UpdateSlackChannelTopicTaskParams.md @@ -10,6 +10,8 @@ |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | |**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**topic** | **String** | | | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | diff --git a/docs/UpdateStatusPageAnnouncementData.md b/docs/UpdateStatusPageAnnouncementData.md index c2c4c5d2..28bb550f 100644 --- a/docs/UpdateStatusPageAnnouncementData.md +++ b/docs/UpdateStatusPageAnnouncementData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateStatusPageAnnouncementDataAttributes**](UpdateStatusPageAnnouncementDataAttributes.md) | | | diff --git a/docs/UpdateStatusPageComponentData.md b/docs/UpdateStatusPageComponentData.md index 9ca7f15c..eeb88115 100644 --- a/docs/UpdateStatusPageComponentData.md +++ b/docs/UpdateStatusPageComponentData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateStatusPageComponentDataAttributes**](UpdateStatusPageComponentDataAttributes.md) | | | diff --git a/docs/UpdateStatusPageComponentGroupData.md b/docs/UpdateStatusPageComponentGroupData.md index fa76b1f1..f6a5614e 100644 --- a/docs/UpdateStatusPageComponentGroupData.md +++ b/docs/UpdateStatusPageComponentGroupData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateStatusPageComponentGroupDataAttributes**](UpdateStatusPageComponentGroupDataAttributes.md) | | | diff --git a/docs/UpdateStatusPageData.md b/docs/UpdateStatusPageData.md index 4ab5a53c..8fa167ff 100644 --- a/docs/UpdateStatusPageData.md +++ b/docs/UpdateStatusPageData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateStatusPageDataAttributes**](UpdateStatusPageDataAttributes.md) | | | diff --git a/docs/UpdateStatusPageTeam.md b/docs/UpdateStatusPageTeam.md new file mode 100644 index 00000000..a16bb6bd --- /dev/null +++ b/docs/UpdateStatusPageTeam.md @@ -0,0 +1,13 @@ + + +# UpdateStatusPageTeam + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateStatusPageTeamData**](UpdateStatusPageTeamData.md) | | | + + + diff --git a/docs/UpdateStatusPageTeamData.md b/docs/UpdateStatusPageTeamData.md new file mode 100644 index 00000000..ab0628eb --- /dev/null +++ b/docs/UpdateStatusPageTeamData.md @@ -0,0 +1,23 @@ + + +# UpdateStatusPageTeamData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateStatusPageTeamDataAttributes**](UpdateStatusPageTeamDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| STATUS_PAGE_GROUPS | "status_page_groups" | + + + diff --git a/docs/UpdateStatusPageTeamDataAttributes.md b/docs/UpdateStatusPageTeamDataAttributes.md new file mode 100644 index 00000000..2e06a4f7 --- /dev/null +++ b/docs/UpdateStatusPageTeamDataAttributes.md @@ -0,0 +1,22 @@ + + +# UpdateStatusPageTeamDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**permissionLevel** | [**PermissionLevelEnum**](#PermissionLevelEnum) | publish_only lets team members post status page updates and announcements. edit_and_publish also lets them edit the page, its components, templates, and subscribers | [optional] | + + + +## Enum: PermissionLevelEnum + +| Name | Value | +|---- | -----| +| EDIT_AND_PUBLISH | "edit_and_publish" | +| PUBLISH_ONLY | "publish_only" | + + + diff --git a/docs/UpdateStatusPageTemplateData.md b/docs/UpdateStatusPageTemplateData.md index 4a9b677a..1b72a67b 100644 --- a/docs/UpdateStatusPageTemplateData.md +++ b/docs/UpdateStatusPageTemplateData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateStatusPageTemplateDataAttributes**](UpdateStatusPageTemplateDataAttributes.md) | | | diff --git a/docs/UpdateSubStatusData.md b/docs/UpdateSubStatusData.md index 16e2df77..df9ab77b 100644 --- a/docs/UpdateSubStatusData.md +++ b/docs/UpdateSubStatusData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateSubStatusDataAttributes**](UpdateSubStatusDataAttributes.md) | | | diff --git a/docs/UpdateTeamData.md b/docs/UpdateTeamData.md index fbc58c3a..2d6b5cc6 100644 --- a/docs/UpdateTeamData.md +++ b/docs/UpdateTeamData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateTeamDataAttributes**](UpdateTeamDataAttributes.md) | | | diff --git a/docs/UpdateTeamDataAttributes.md b/docs/UpdateTeamDataAttributes.md index fd7341fd..4a60da24 100644 --- a/docs/UpdateTeamDataAttributes.md +++ b/docs/UpdateTeamDataAttributes.md @@ -23,6 +23,8 @@ |**pagertreeId** | **String** | The PagerTree group id associated to this team | [optional] | |**cortexId** | **String** | The Cortex group id associated to this team | [optional] | |**serviceNowCiSysId** | **String** | The Service Now CI sys id associated to this team | [optional] | +|**scimGroupId** | **String** | The SCIM group id linked to this team. Membership syncs from the SCIM group while the team keeps its own name. Set to null to unlink. Sending the current id is a no-op; to pin a name-linked group, unlink then link. | [optional] | +|**scimGroupExternalId** | **String** | Link by the SCIM group's externalId from your identity provider instead of scim_group_id. Write-only. Rejected when it names a different SCIM group than scim_group_id. | [optional] | |**userIds** | **List<Integer>** | The user ids of the members of this team. | [optional] | |**adminIds** | **List<Integer>** | The user ids of the admins of this team. These users must also be present in user_ids attribute. | [optional] | |**alertsEmailEnabled** | **Boolean** | Enable alerts through email | [optional] | @@ -35,6 +37,7 @@ |**incidentBroadcastChannel** | [**NewServiceDataAttributesIncidentBroadcastChannel**](NewServiceDataAttributesIncidentBroadcastChannel.md) | | [optional] | |**autoAddMembersWhenAttached** | **Boolean** | Auto add members to incident channel when team is attached | [optional] | |**autoAddMembersScope** | [**AutoAddMembersScopeEnum**](#AutoAddMembersScopeEnum) | Visibility-scoped auto-add behavior. Only present when the `enable_scoped_incident_channel_auto_add` feature flag is on for the organization. When set, it overrides `auto_add_members_when_attached`. | [optional] | +|**scheduleOverridePolicy** | [**ScheduleOverridePolicyEnum**](#ScheduleOverridePolicyEnum) | Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. | [optional] | |**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this team. | [optional] | @@ -50,3 +53,13 @@ +## Enum: ScheduleOverridePolicyEnum + +| Name | Value | +|---- | -----| +| EVERYONE | "everyone" | +| MEMBERS | "members" | +| ADMINS | "admins" | + + + diff --git a/docs/UpdateUserData.md b/docs/UpdateUserData.md index 12d96d77..90aed937 100644 --- a/docs/UpdateUserData.md +++ b/docs/UpdateUserData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateUserDataAttributes**](UpdateUserDataAttributes.md) | | | diff --git a/docs/UpdateUserEmailAddressData.md b/docs/UpdateUserEmailAddressData.md index 99465c32..bbbf316b 100644 --- a/docs/UpdateUserEmailAddressData.md +++ b/docs/UpdateUserEmailAddressData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateUserEmailAddressDataAttributes**](UpdateUserEmailAddressDataAttributes.md) | | | diff --git a/docs/UpdateUserNotificationRuleData.md b/docs/UpdateUserNotificationRuleData.md index 2dd5906f..174ab1fb 100644 --- a/docs/UpdateUserNotificationRuleData.md +++ b/docs/UpdateUserNotificationRuleData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateUserNotificationRuleDataAttributes**](UpdateUserNotificationRuleDataAttributes.md) | | | diff --git a/docs/UpdateUserPhoneNumberData.md b/docs/UpdateUserPhoneNumberData.md index bf789a3b..d63880a3 100644 --- a/docs/UpdateUserPhoneNumberData.md +++ b/docs/UpdateUserPhoneNumberData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateUserPhoneNumberDataAttributes**](UpdateUserPhoneNumberDataAttributes.md) | | | diff --git a/docs/UpdateWebhooksEndpointData.md b/docs/UpdateWebhooksEndpointData.md index 5964fe2b..aaa1ad3c 100644 --- a/docs/UpdateWebhooksEndpointData.md +++ b/docs/UpdateWebhooksEndpointData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateWebhooksEndpointDataAttributes**](UpdateWebhooksEndpointDataAttributes.md) | | | diff --git a/docs/UpdateWebhooksEndpointDataAttributes.md b/docs/UpdateWebhooksEndpointDataAttributes.md index 1c91eea2..04e09cd1 100644 --- a/docs/UpdateWebhooksEndpointDataAttributes.md +++ b/docs/UpdateWebhooksEndpointDataAttributes.md @@ -45,6 +45,7 @@ | ALERT_UPDATED | "alert.updated" | | PULSE_CREATED | "pulse.created" | | SHIFT_STARTED | "shift.started" | +| SHIFT_ENDED | "shift.ended" | | GENIUS_WORKFLOW_RUN_QUEUED | "genius_workflow_run.queued" | | GENIUS_WORKFLOW_RUN_STARTED | "genius_workflow_run.started" | | GENIUS_WORKFLOW_RUN_COMPLETED | "genius_workflow_run.completed" | diff --git a/docs/UpdateWorkflowActionItemFormFieldConditionData.md b/docs/UpdateWorkflowActionItemFormFieldConditionData.md index 3c41c9ba..1f6f19a1 100644 --- a/docs/UpdateWorkflowActionItemFormFieldConditionData.md +++ b/docs/UpdateWorkflowActionItemFormFieldConditionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateWorkflowActionItemFormFieldConditionDataAttributes**](UpdateWorkflowActionItemFormFieldConditionDataAttributes.md) | | | diff --git a/docs/UpdateWorkflowCustomFieldSelectionData.md b/docs/UpdateWorkflowCustomFieldSelectionData.md index 3fa31188..aae142d9 100644 --- a/docs/UpdateWorkflowCustomFieldSelectionData.md +++ b/docs/UpdateWorkflowCustomFieldSelectionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateWorkflowCustomFieldSelectionDataAttributes**](UpdateWorkflowCustomFieldSelectionDataAttributes.md) | | | diff --git a/docs/UpdateWorkflowDataAttributes.md b/docs/UpdateWorkflowDataAttributes.md index 9dcbc6e0..59bcb479 100644 --- a/docs/UpdateWorkflowDataAttributes.md +++ b/docs/UpdateWorkflowDataAttributes.md @@ -17,6 +17,7 @@ |**repeatConditionDurationSinceFirstRun** | **String** | The workflow will stop repeating if its runtime since it's first workflow run exceeds the duration set in this field | [optional] | |**repeatConditionNumberOfRepeats** | **Integer** | The workflow will stop repeating if the number of repeats exceeds the value set in this field | [optional] | |**continuouslyRepeat** | **Boolean** | When continuously repeat is true, repeat workflows aren't automatically stopped when conditions aren't met. This setting won't override your conditions set by repeat_condition_duration_since_first_run and repeat_condition_number_of_repeats parameters. | [optional] | +|**runOncePerResource** | **Boolean** | When true, the workflow runs at most once per incident. Later triggers on the same incident create a canceled run instead. Manual runs and repeats are not affected. Only applies to incident workflows. | [optional] | |**enabled** | **Boolean** | | [optional] | |**locked** | **Boolean** | Restricts workflow edits to admins when turned on. Only admins can set this field. | [optional] | |**position** | **Integer** | The order which the workflow should run with other workflows. | [optional] | @@ -29,8 +30,21 @@ |**serviceIds** | **List<String>** | | [optional] | |**functionalityIds** | **List<String>** | | [optional] | |**groupIds** | **List<String>** | | [optional] | +|**groupAssignmentIds** | **List<String>** | Owning team IDs. Requires team-scoped workflows. | [optional] | |**causeIds** | **List<String>** | | [optional] | |**subStatusIds** | **List<String>** | | [optional] | +|**failureNotificationMode** | [**FailureNotificationModeEnum**](#FailureNotificationModeEnum) | Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. | [optional] | +|**failureNotificationChannels** | [**List<NewWorkflowDataAttributesFailureNotificationChannelsInner>**](NewWorkflowDataAttributesFailureNotificationChannelsInner.md) | Slack channels notified when a run of this workflow fails. Used when `failure_notification_mode` is `custom`. | [optional] | + + + +## Enum: FailureNotificationModeEnum + +| Name | Value | +|---- | -----| +| INHERIT | "inherit" | +| CUSTOM | "custom" | +| OFF | "off" | diff --git a/docs/UpdateWorkflowFormFieldConditionData.md b/docs/UpdateWorkflowFormFieldConditionData.md index 6edcbc97..b062920f 100644 --- a/docs/UpdateWorkflowFormFieldConditionData.md +++ b/docs/UpdateWorkflowFormFieldConditionData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateWorkflowFormFieldConditionDataAttributes**](UpdateWorkflowFormFieldConditionDataAttributes.md) | | | diff --git a/docs/UpdateWorkflowGroupData.md b/docs/UpdateWorkflowGroupData.md index 0208f3f1..d180563e 100644 --- a/docs/UpdateWorkflowGroupData.md +++ b/docs/UpdateWorkflowGroupData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateWorkflowGroupDataAttributes**](UpdateWorkflowGroupDataAttributes.md) | | | diff --git a/docs/UpdateWorkflowGroupDataAttributes.md b/docs/UpdateWorkflowGroupDataAttributes.md index 1ce646fd..b285f117 100644 --- a/docs/UpdateWorkflowGroupDataAttributes.md +++ b/docs/UpdateWorkflowGroupDataAttributes.md @@ -26,6 +26,7 @@ | POST_MORTEM | "post_mortem" | | ACTION_ITEM | "action_item" | | PULSE | "pulse" | +| PROBLEM | "problem" | | ALERT | "alert" | diff --git a/docs/UpdateWorkflowTaskData.md b/docs/UpdateWorkflowTaskData.md index bfeb9dd7..05e3f2cf 100644 --- a/docs/UpdateWorkflowTaskData.md +++ b/docs/UpdateWorkflowTaskData.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. | [optional] | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**UpdateWorkflowTaskDataAttributes**](UpdateWorkflowTaskDataAttributes.md) | | | diff --git a/docs/UpdateWorkflowTaskDataAttributesTaskParams.md b/docs/UpdateWorkflowTaskDataAttributesTaskParams.md index cf37e639..90415e52 100644 --- a/docs/UpdateWorkflowTaskDataAttributesTaskParams.md +++ b/docs/UpdateWorkflowTaskDataAttributesTaskParams.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | -|**attributeToQueryBy** | [**AttributeToQueryByEnum**](#AttributeToQueryByEnum) | [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\"] | | +|**attributeToQueryBy** | [**AttributeToQueryByEnum**](#AttributeToQueryByEnum) | [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\", \"(problem) kind can only match [:id]\"] | | |**queryValue** | **String** | Value that attribute_to_query_by to uses to match against | | |**incidentRoleId** | **String** | The role id | | |**assignedToUserId** | **String** | [DEPRECATED] Use assigned_to_user attribute instead. The user id this role is assigned to | [optional] | @@ -23,10 +23,12 @@ |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**groupIds** | **List<String>** | Array of group/team UUIDs | [optional] | |**playbookId** | **String** | | | -|**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | +|**channel** | [**CreateSlackCanvasTaskParamsChannel**](CreateSlackCanvasTaskParamsChannel.md) | | | |**title** | **String** | The task title | | |**link** | **String** | The tab link | | |**emoji** | **String** | The bookmark emoji | [optional] | +|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | +|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | |**groupId** | **String** | The team id | | |**event** | **String** | Incident event description | | |**url** | **String** | | | @@ -53,7 +55,7 @@ |**team** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**phoneNumbers** | **List<String>** | | | |**name** | **String** | The name | | -|**content** | **String** | The WhatsApp message | | +|**content** | **String** | The canvas content in Markdown. Supports Liquid variables. | | |**base** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**table** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**parentTaskId** | **String** | The parent task id | | @@ -128,8 +130,6 @@ |**reporterUserEmail** | **String** | The reporter user's email | [optional] | |**projectKey** | **String** | The project key | | |**updatePayload** | **String** | Update payload. Can contain liquid markup and need to be valid JSON | [optional] | -|**retryCount** | **Integer** | Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. | [optional] | -|**retryWaitTime** | **Integer** | Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. | [optional] | |**parentIssueId** | **String** | The parent issue | | |**subtaskIssueType** | [**CreateJiraIssueTaskParamsIssueType**](CreateJiraIssueTaskParamsIssueType.md) | | | |**issueId** | **String** | The issue id | | @@ -185,6 +185,8 @@ |**eventMessage** | **String** | | [optional] | |**method** | [**MethodEnum**](#MethodEnum) | HTTP method | [optional] | |**succeedOnStatus** | **String** | HTTP status code expected. Can be a regular expression. Eg: 200, 200|203, 20[0-3] | | +|**expectedResponseHeaders** | **Map<String, String>** | Map of valid HTTP header names to regexp patterns. Header names must use HTTP token characters. Task fails if any header value does not match its pattern (case-insensitive). Leave empty to skip validation. | [optional] | +|**followRedirects** | **Boolean** | Whether to follow HTTP 3xx redirects. Defaults to true. Set to false to treat redirect responses as-is. | [optional] | |**slackUsers** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**slackUserGroups** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**slackEmails** | **String** | | | @@ -206,9 +208,15 @@ |**shouldTweet** | **Boolean** | For Statuspage.io integrated pages auto publishes a tweet for your update | [optional] | |**statusPageTemplate** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**statusPageId** | **String** | | | -|**statusPageIds** | **List<String>** | Publishes the update to every listed status page (requires the status-page-v3-limited-bulk-publish feature). When set, it takes precedence over status_page_id and the first entry becomes status_page_id. | [optional] | +|**statusPageIds** | **List<String>** | Publishes the update to every listed status page. This field is in limited Early Access; contact Rootly Support to request access. When set, it takes precedence over status_page_id and the first entry becomes status_page_id. | [optional] | +|**selectedComponentKeys** | **List<String>** | Composite \"SourceType:<id>\" keys of the status page components affected by the publish. This field is in Early Access and is not generally available; contact Rootly Support to request access. | [optional] | +|**selectedComponentStatuses** | [**Map<String, InnerEnum>**](#Map<String, InnerEnum>) | Impact status to publish for each selected component key. Keys must match selected_component_keys entries. | [optional] | +|**syncIncidentComponents** | **Boolean** | When true, every run also publishes the incident's tagged services and functionalities that are components on the target page. Defaults to true when selected_component_keys is empty. This field is in Early Access and is not generally available; contact Rootly Support to request access. | [optional] | +|**syncedComponentStatus** | [**SyncedComponentStatusEnum**](#SyncedComponentStatusEnum) | Impact status published for components synced from the incident. Defaults to degraded_performance. A component also listed in selected_component_keys keeps its selected_component_statuses entry. | [optional] | |**integrationPayload** | **String** | Additional API Payload you can pass to statuspage.io for example. Can contain liquid markup and need to be valid JSON | [optional] | |**commands** | **String** | | | +|**targetKind** | [**TargetKindEnum**](#TargetKindEnum) | | [optional] | +|**dryRun** | **Boolean** | | [optional] | |**privacy** | [**PrivacyEnum**](#PrivacyEnum) | | | |**command** | **String** | | | |**appName** | **String** | | | @@ -230,6 +238,7 @@ |**updateParentMessage** | **Boolean** | | [optional] | |**threadTs** | **String** | The thread to send the message into | [optional] | |**sendOnlyAsThreadedMessage** | **Boolean** | When set to true, if the parent for this threaded message cannot be found the message will be skipped. | [optional] | +|**allowCrossWorkflowThreading** | **Boolean** | When set to true, allows workflows from different sources (e.g. different incidents or alerts) to thread together on the same parent message. | [optional] | |**metricQueries** | **List<String>** | | [optional] | |**metricQuery** | **String** | | | |**metricType** | [**MetricTypeEnum**](#MetricTypeEnum) | | | @@ -245,6 +254,8 @@ |**resolvedAt** | **String** | | [optional] | |**postmortemId** | **String** | UUID of the retrospective that needs to be updated | | |**storyId** | **String** | The story id | | +|**operation** | [**OperationEnum**](#OperationEnum) | Append content or replace the selected table or entire canvas. | [optional] | +|**sectionName** | **String** | With replace, target the single table containing this label. Include the label in the replacement table. Blank replaces the entire canvas. Supports Liquid. | [optional] | |**inactivityTimeout** | **String** | In format '1 hour', '1 day', etc | [optional] | |**subStatusId** | **String** | Sub-status to update timestamp for | | |**assignedAt** | **String** | Timestamp of when the sub-status was assigned | | @@ -308,6 +319,7 @@ | POST_MORTEM | "post_mortem" | | PULSE | "pulse" | | ALERT | "alert" | +| PROBLEM | "problem" | @@ -427,6 +439,36 @@ +## Enum: Map<String, InnerEnum> + +| Name | Value | +|---- | -----| +| OPERATIONAL | "operational" | +| DEGRADED_PERFORMANCE | "degraded_performance" | +| PARTIAL_OUTAGE | "partial_outage" | +| MAJOR_OUTAGE | "major_outage" | + + + +## Enum: SyncedComponentStatusEnum + +| Name | Value | +|---- | -----| +| OPERATIONAL | "operational" | +| DEGRADED_PERFORMANCE | "degraded_performance" | +| PARTIAL_OUTAGE | "partial_outage" | +| MAJOR_OUTAGE | "major_outage" | + + + +## Enum: TargetKindEnum + +| Name | Value | +|---- | -----| +| USERS_WITHOUT_PRIVATE_INCIDENT_ACCESS | "users_without_private_incident_access" | + + + ## Enum: PrivacyEnum | Name | Value | @@ -503,6 +545,15 @@ +## Enum: OperationEnum + +| Name | Value | +|---- | -----| +| INSERT_AT_END | "insert_at_end" | +| REPLACE | "replace" | + + + ## Enum: ReasoningEffortEnum | Name | Value | diff --git a/docs/UserPhoneNumbersApi.md b/docs/UserPhoneNumbersApi.md index 727aa946..cef0d65a 100644 --- a/docs/UserPhoneNumbersApi.md +++ b/docs/UserPhoneNumbersApi.md @@ -7,8 +7,10 @@ All URIs are relative to *https://api.rootly.com* | [**createUserPhoneNumber**](UserPhoneNumbersApi.md#createUserPhoneNumber) | **POST** /v1/users/{user_id}/phone_numbers | Creates a user phone number | | [**deleteUserPhoneNumber**](UserPhoneNumbersApi.md#deleteUserPhoneNumber) | **DELETE** /v1/phone_numbers/{id} | Delete user phone number | | [**getUserPhoneNumbers**](UserPhoneNumbersApi.md#getUserPhoneNumbers) | **GET** /v1/users/{user_id}/phone_numbers | Retrieves user phone numbers | +| [**resendVerificationUserPhoneNumber**](UserPhoneNumbersApi.md#resendVerificationUserPhoneNumber) | **POST** /v1/phone_numbers/{id}/resend_verification | Resend verification code | | [**showUserPhoneNumber**](UserPhoneNumbersApi.md#showUserPhoneNumber) | **GET** /v1/phone_numbers/{id} | Show user phone number | | [**updateUserPhoneNumber**](UserPhoneNumbersApi.md#updateUserPhoneNumber) | **PUT** /v1/phone_numbers/{id} | Update user phone number | +| [**verifyUserPhoneNumber**](UserPhoneNumbersApi.md#verifyUserPhoneNumber) | **POST** /v1/phone_numbers/{id}/verify | Send verification code | @@ -222,6 +224,74 @@ public class Example { | **401** | responds with unauthorized for invalid token | - | | **404** | resource not found | - | + +# **resendVerificationUserPhoneNumber** +> VerifyUserPhoneNumber200Response resendVerificationUserPhoneNumber(id) + +Resend verification code + +Resends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.UserPhoneNumbersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + UserPhoneNumbersApi apiInstance = new UserPhoneNumbersApi(defaultClient); + String id = "id_example"; // String | + try { + VerifyUserPhoneNumber200Response result = apiInstance.resendVerificationUserPhoneNumber(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#resendVerificationUserPhoneNumber"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | + +### Return type + +[**VerifyUserPhoneNumber200Response**](VerifyUserPhoneNumber200Response.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | verification code resent | - | +| **429** | application resend rate limit | * Retry-After - Seconds until the recipient can request another SMS verification code
| + # **showUserPhoneNumber** > UserPhoneNumberResponse showUserPhoneNumber(id) @@ -363,3 +433,72 @@ public class Example { | **401** | responds with unauthorized for invalid token | - | | **404** | resource not found | - | + +# **verifyUserPhoneNumber** +> VerifyUserPhoneNumber200Response verifyUserPhoneNumber(id) + +Send verification code + +Sends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + +### Example +```java +// Import classes: +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.Configuration; +import com.rootly.client.auth.*; +import com.rootly.client.models.*; +import com.rootly.client.api.UserPhoneNumbersApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("https://api.rootly.com"); + + // Configure HTTP bearer authorization: bearer_auth + HttpBearerAuth bearer_auth = (HttpBearerAuth) defaultClient.getAuthentication("bearer_auth"); + bearer_auth.setBearerToken("BEARER TOKEN"); + + UserPhoneNumbersApi apiInstance = new UserPhoneNumbersApi(defaultClient); + String id = "id_example"; // String | + try { + VerifyUserPhoneNumber200Response result = apiInstance.verifyUserPhoneNumber(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#verifyUserPhoneNumber"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **id** | **String**| | | + +### Return type + +[**VerifyUserPhoneNumber200Response**](VerifyUserPhoneNumber200Response.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | verification code sent | - | +| **429** | application verification rate limit | * Retry-After - Seconds until the recipient can request another SMS verification code
| +| **503** | verification rate limiter unavailable | - | + diff --git a/docs/VerifyUserPhoneNumber200Response.md b/docs/VerifyUserPhoneNumber200Response.md new file mode 100644 index 00000000..e9504541 --- /dev/null +++ b/docs/VerifyUserPhoneNumber200Response.md @@ -0,0 +1,13 @@ + + +# VerifyUserPhoneNumber200Response + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**message** | **String** | | | + + + diff --git a/docs/VerifyUserPhoneNumber429Response.md b/docs/VerifyUserPhoneNumber429Response.md new file mode 100644 index 00000000..5d4aea0c --- /dev/null +++ b/docs/VerifyUserPhoneNumber429Response.md @@ -0,0 +1,13 @@ + + +# VerifyUserPhoneNumber429Response + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**error** | **String** | | | + + + diff --git a/docs/WebhooksEndpoint.md b/docs/WebhooksEndpoint.md index 5329ea3b..6c6919a6 100644 --- a/docs/WebhooksEndpoint.md +++ b/docs/WebhooksEndpoint.md @@ -49,6 +49,7 @@ | ALERT_UPDATED | "alert.updated" | | PULSE_CREATED | "pulse.created" | | SHIFT_STARTED | "shift.started" | +| SHIFT_ENDED | "shift.ended" | | GENIUS_WORKFLOW_RUN_QUEUED | "genius_workflow_run.queued" | | GENIUS_WORKFLOW_RUN_STARTED | "genius_workflow_run.started" | | GENIUS_WORKFLOW_RUN_COMPLETED | "genius_workflow_run.completed" | diff --git a/docs/Workflow.md b/docs/Workflow.md index 066f0bea..c6cf0555 100644 --- a/docs/Workflow.md +++ b/docs/Workflow.md @@ -17,6 +17,7 @@ |**repeatConditionDurationSinceFirstRun** | **String** | The workflow will stop repeating if its runtime since it's first workflow run exceeds the duration set in this field | [optional] | |**repeatConditionNumberOfRepeats** | **Integer** | The workflow will stop repeating if the number of repeats exceeds the value set in this field | [optional] | |**continuouslyRepeat** | **Boolean** | When continuously repeat is true, repeat workflows aren't automatically stopped when conditions aren't met. This setting won't override your conditions set by repeat_condition_duration_since_first_run and repeat_condition_number_of_repeats parameters. | [optional] | +|**runOncePerResource** | **Boolean** | When true, the workflow runs at most once per incident. Later triggers on the same incident create a canceled run instead. Manual runs and repeats are not affected. Only applies to incident workflows. | [optional] | |**repeatOn** | [**List<RepeatOnEnum>**](#List<RepeatOnEnum>) | | [optional] | |**enabled** | **Boolean** | | [optional] | |**locked** | **Boolean** | Restricts workflow edits to admins when turned on. Only admins can set this field. | [optional] | @@ -30,8 +31,11 @@ |**serviceIds** | **List<String>** | | [optional] | |**functionalityIds** | **List<String>** | | [optional] | |**groupIds** | **List<String>** | | [optional] | +|**groupAssignmentIds** | **List<String>** | Owning team IDs. Requires team-scoped workflows. | [optional] | |**causeIds** | **List<String>** | | [optional] | |**subStatusIds** | **List<String>** | | [optional] | +|**failureNotificationMode** | [**FailureNotificationModeEnum**](#FailureNotificationModeEnum) | Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. | [optional] | +|**failureNotificationChannels** | [**List<NewWorkflowDataAttributesFailureNotificationChannelsInner>**](NewWorkflowDataAttributesFailureNotificationChannelsInner.md) | Slack channels notified when a run of this workflow fails. Used when `failure_notification_mode` is `custom`. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | @@ -51,3 +55,13 @@ +## Enum: FailureNotificationModeEnum + +| Name | Value | +|---- | -----| +| INHERIT | "inherit" | +| CUSTOM | "custom" | +| OFF | "off" | + + + diff --git a/docs/WorkflowGroup.md b/docs/WorkflowGroup.md index 9de9e18d..fe6db97d 100644 --- a/docs/WorkflowGroup.md +++ b/docs/WorkflowGroup.md @@ -26,6 +26,7 @@ | POST_MORTEM | "post_mortem" | | ACTION_ITEM | "action_item" | | PULSE | "pulse" | +| PROBLEM | "problem" | | ALERT | "alert" | diff --git a/docs/WorkingHours.md b/docs/WorkingHours.md new file mode 100644 index 00000000..49343acb --- /dev/null +++ b/docs/WorkingHours.md @@ -0,0 +1,22 @@ + + +# WorkingHours + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**withinWorkingHour** | **Boolean** | Whether the escalation path should be used within working hours | | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| WORKING_HOUR | "working_hour" | + + + diff --git a/src/main/java/com/rootly/client/ApiException.java b/src/main/java/com/rootly/client/ApiException.java index 68a1030c..357d493c 100644 --- a/src/main/java/com/rootly/client/ApiException.java +++ b/src/main/java/com/rootly/client/ApiException.java @@ -21,7 +21,7 @@ *

ApiException class.

*/ @SuppressWarnings("serial") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiException extends Exception { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/rootly/client/Configuration.java b/src/main/java/com/rootly/client/Configuration.java index 8c9c7c43..288e707a 100644 --- a/src/main/java/com/rootly/client/Configuration.java +++ b/src/main/java/com/rootly/client/Configuration.java @@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Configuration { public static final String VERSION = "v1"; diff --git a/src/main/java/com/rootly/client/JSON.java b/src/main/java/com/rootly/client/JSON.java index 6d72a35a..8c2ec149 100644 --- a/src/main/java/com/rootly/client/JSON.java +++ b/src/main/java/com/rootly/client/JSON.java @@ -61,6 +61,25 @@ public class JSON { @SuppressWarnings("unchecked") public static GsonBuilder createGson() { GsonFireBuilder fireBuilder = new GsonFireBuilder() + .registerTypeSelector(com.rootly.client.model.NewWorkflowDataAttributesTriggerParams.class, new TypeSelector() { + @Override + public Class getClassForElement(JsonElement readElement) { + Map classByDiscriminatorValue = new HashMap(); + classByDiscriminatorValue.put("action_item", com.rootly.client.model.ActionItemTriggerParams.class); + classByDiscriminatorValue.put("alert", com.rootly.client.model.AlertTriggerParams.class); + classByDiscriminatorValue.put("incident", com.rootly.client.model.IncidentTriggerParams.class); + classByDiscriminatorValue.put("pulse", com.rootly.client.model.PulseTriggerParams.class); + classByDiscriminatorValue.put("simple", com.rootly.client.model.SimpleTriggerParams.class); + classByDiscriminatorValue.put("action_item_trigger_params", com.rootly.client.model.ActionItemTriggerParams.class); + classByDiscriminatorValue.put("alert_trigger_params", com.rootly.client.model.AlertTriggerParams.class); + classByDiscriminatorValue.put("incident_trigger_params", com.rootly.client.model.IncidentTriggerParams.class); + classByDiscriminatorValue.put("pulse_trigger_params", com.rootly.client.model.PulseTriggerParams.class); + classByDiscriminatorValue.put("simple_trigger_params", com.rootly.client.model.SimpleTriggerParams.class); + classByDiscriminatorValue.put("new_workflow_data_attributes_trigger_params", com.rootly.client.model.NewWorkflowDataAttributesTriggerParams.class); + return getClassByDiscriminator(classByDiscriminatorValue, + getDiscriminatorValue(readElement, "trigger_type")); + } + }) ; GsonBuilder builder = fireBuilder.createGsonBuilder(); return builder; @@ -96,6 +115,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AcknowledgeAlert.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AcknowledgeAlertData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AcknowledgeAlertDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ActionItemTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddActionItemTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddActionItemTaskParamsAssignedToUser.CustomTypeAdapterFactory()); @@ -120,6 +142,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Alert.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertAlertFieldValuesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertAlertingTargetsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertConfiguration.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertConfigurationResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertConfigurationResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertEventEscalationTarget.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertEventEscalationTargetData.CustomTypeAdapterFactory()); @@ -138,23 +163,25 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertFieldResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertFieldResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroup.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupConditionsInnerValuesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertGroupTargetsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertLabelsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertResponseData.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRetriggerRule.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRetriggerRuleConditionsInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRetriggerRuleList.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRetriggerRuleResponse.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRetriggerRuleResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoute.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteRulesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteRulesInnerConditionGroupsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteRulesInnerConditionGroupsInnerConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRouteRulesInnerDestinationsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleCondition.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleConditionGroup.CustomTypeAdapterFactory()); @@ -166,6 +193,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleTarget.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertSlackNotificationsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertSource.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertTriggerParamsAlertFieldConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertTriggerParamsAlertPayloadConditions.CustomTypeAdapterFactory()); @@ -175,10 +204,16 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertUrgencyResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertUrgencyResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSource.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceAlertSourceFieldsAttributesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceAlertSourceUrgencyRulesAttributesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceAlertTemplateAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceResolutionRuleAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceResolutionRuleAttributesConditionsAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceSourceableAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceSourceableAttributesFieldMappingsAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKey.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyResponse.CustomTypeAdapterFactory()); @@ -317,6 +352,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ChangeSlackChannelPrivacyTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupCommunicationExternalGroupMembersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupCommunicationGroupConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupsResponse.CustomTypeAdapterFactory()); @@ -409,6 +445,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateShortcutStoryTaskParamsAnyOf.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateShortcutStoryTaskParamsAnyOf1.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateShortcutTaskTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateSlackCanvasTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateSlackCanvasTaskParamsChannel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateSlackChannelTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateSubIncidentTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateTrelloCardTaskParams.CustomTypeAdapterFactory()); @@ -441,6 +479,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DashboardPanelResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DashboardResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DashboardResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeferralWindow.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeferralWindowTimeBlocksInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeleteAlertRoute200Response.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeleteAlertRoute200ResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeleteAlertRoute200ResponseDataAttributes.CustomTypeAdapterFactory()); @@ -458,15 +498,19 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EnvironmentList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EnvironmentResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EnvironmentResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EnvironmentSlackAliasesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EnvironmentSlackChannelsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ErrorsList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ErrorsListErrorsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalateAlert.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalateAlertData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalateAlertDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicy.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyBusinessHours.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevelList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevelListDataInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevelNotificationTargetParamsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevelResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevelResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyList.CustomTypeAdapterFactory()); @@ -475,6 +519,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyPathListDataInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyPathResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyPathResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyPathTimeRestrictionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.FormField.CustomTypeAdapterFactory()); @@ -616,10 +661,16 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IpRanges.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IpRangesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IpRangesResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.JSONPath.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.JsonapiIncludedResource.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LinkIncidents.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LinkIncidentsData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LinkIncidentsDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Links.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouter.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouterEscalationPolicyTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouterList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouterPagingTargetsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouterResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouterResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.MeetingRecording.CustomTypeAdapterFactory()); @@ -639,6 +690,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlert.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesActor.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesActorOneOf.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesActorOneOf1.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesLabelsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesLabelsInnerValue.CustomTypeAdapterFactory()); @@ -655,10 +709,6 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertGroupDataAttributesConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRetriggerRule.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRetriggerRuleData.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRetriggerRuleDataAttributes.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRetriggerRuleDataAttributesConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRoute.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteDataAttributes.CustomTypeAdapterFactory()); @@ -775,16 +825,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPath.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewFormField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewFormFieldData.CustomTypeAdapterFactory()); @@ -891,6 +933,12 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPostMortemTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPostMortemTemplateData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPostMortemTemplateDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewProblem.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewProblemActionItem.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewProblemActionItemData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewProblemActionItemDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewProblemData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewProblemDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPulse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPulseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPulseDataAttributes.CustomTypeAdapterFactory()); @@ -918,6 +966,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSchedule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleDataAttributesBusinessHours.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleDataAttributesSlackChannel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotation.CustomTypeAdapterFactory()); @@ -968,6 +1017,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageComponentGroupDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageTeam.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageTeamData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageTeamDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageTemplateData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageTemplateDataAttributes.CustomTypeAdapterFactory()); @@ -1002,6 +1054,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowCustomFieldSelectionDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowDataAttributesTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowFormFieldCondition.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowFormFieldConditionData.CustomTypeAdapterFactory()); @@ -1022,6 +1075,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowTaskData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowTaskDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWorkflowTaskDataAttributesTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NullableSeverityResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallPayReport.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallPayReportList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallPayReportResponse.CustomTypeAdapterFactory()); @@ -1047,6 +1101,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OncallRelationshipsScheduleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OncallRelationshipsUser.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OncallRelationshipsUserData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverriddenShift.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverrideShift.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverrideShiftList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverrideShiftResponse.CustomTypeAdapterFactory()); @@ -1080,14 +1135,42 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PostMortemTemplateResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PostMortemTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrintTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgent.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentAttributesProvidersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentAttributesProvidersInnerCapabilitiesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentAttributesProvidersInnerHealth.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentAttributesProvidersInnerPolicy.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentEnrollmentTokenResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentEnrollmentTokenResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentEnrollmentTokenResponseDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentSummary.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentSummaryAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentUpdate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentUpdateData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PrivateAgentUpdateDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Problem.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemActionItem.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemActionItemList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemActionItemResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemActionItemResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ProblemResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PublishIncidentTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Pulse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PulseLabelsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PulseList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PulseRefsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PulseResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PulseResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PulseTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Receipt.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RedisClientTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RelatedIncidents.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RemoveFromSlackChannelTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RemoveGoogleDocsPermissionsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RemoveSubscribers.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RemoveSubscribersData.CustomTypeAdapterFactory()); @@ -1136,16 +1219,19 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RotateApiKeyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RunCommandHerokuTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Schedule.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleBusinessHours.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleListDataInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveDay.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveDayActiveTimeAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveDayList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveDayListDataInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveDayResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveDayResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationActiveTimeAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationResponseData.CustomTypeAdapterFactory()); @@ -1232,6 +1318,10 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTeam.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTeamList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTeamResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTeamResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTemplateList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTemplateListDataInner.CustomTypeAdapterFactory()); @@ -1258,6 +1348,11 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateActionItemTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAirtableTableRecordTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlert.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertConfiguration.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertConfigurationData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertConfigurationDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertConfigurationDataAttributesAlertAcknowledgment.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertEvent.CustomTypeAdapterFactory()); @@ -1269,9 +1364,6 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertGroup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertGroupData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertGroupDataAttributes.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRetriggerRule.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRetriggerRuleData.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRetriggerRuleDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRoute.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRouteData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRouteDataAttributes.CustomTypeAdapterFactory()); @@ -1286,6 +1378,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertsSource.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertsSourceData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertsSourceDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateApiKey.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateApiKeyData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateApiKeyDataAttributes.CustomTypeAdapterFactory()); @@ -1500,6 +1593,12 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdatePostMortemTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdatePostMortemTemplateData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdatePostMortemTemplateDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateProblem.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateProblemActionItem.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateProblemActionItemData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateProblemActionItemDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateProblemData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateProblemDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdatePulse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdatePulseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdatePulseDataAttributes.CustomTypeAdapterFactory()); @@ -1550,6 +1649,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSla.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSlaData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSlaDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSlackCanvasTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSlackChannelTopicTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPage.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageAnnouncement.CustomTypeAdapterFactory()); @@ -1563,6 +1663,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageComponentGroupDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageTeam.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageTeamData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageTeamDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageTemplateData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageTemplateDataAttributes.CustomTypeAdapterFactory()); @@ -1634,6 +1737,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.VerifiedDomainResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.VerifiedDomainResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.VerifyPhoneNumberRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.VerifyUserPhoneNumber200Response.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.VerifyUserPhoneNumber429Response.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WebhooksDelivery.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WebhooksDeliveryList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WebhooksDeliveryResponse.CustomTypeAdapterFactory()); @@ -1670,6 +1775,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WorkflowTaskList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WorkflowTaskResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WorkflowTaskResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.WorkingHours.CustomTypeAdapterFactory()); gson = gsonBuilder.create(); } diff --git a/src/main/java/com/rootly/client/Pair.java b/src/main/java/com/rootly/client/Pair.java index dc8628dd..98138c3d 100644 --- a/src/main/java/com/rootly/client/Pair.java +++ b/src/main/java/com/rootly/client/Pair.java @@ -13,7 +13,7 @@ package com.rootly.client; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Pair { private String name = ""; private String value = ""; diff --git a/src/main/java/com/rootly/client/ServerConfiguration.java b/src/main/java/com/rootly/client/ServerConfiguration.java index dc76f72b..3450dfcb 100644 --- a/src/main/java/com/rootly/client/ServerConfiguration.java +++ b/src/main/java/com/rootly/client/ServerConfiguration.java @@ -18,7 +18,7 @@ /** * Representing a Server configuration. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServerConfiguration { public String URL; public String description; diff --git a/src/main/java/com/rootly/client/ServerVariable.java b/src/main/java/com/rootly/client/ServerVariable.java index ac917d4b..ccec1beb 100644 --- a/src/main/java/com/rootly/client/ServerVariable.java +++ b/src/main/java/com/rootly/client/ServerVariable.java @@ -18,7 +18,7 @@ /** * Representing a Server Variable for server URL template substitution. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServerVariable { public String description; public String defaultValue; diff --git a/src/main/java/com/rootly/client/StringUtil.java b/src/main/java/com/rootly/client/StringUtil.java index 7180db64..8d34aa97 100644 --- a/src/main/java/com/rootly/client/StringUtil.java +++ b/src/main/java/com/rootly/client/StringUtil.java @@ -16,7 +16,7 @@ import java.util.Collection; import java.util.Iterator; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). diff --git a/src/main/java/com/rootly/client/api/AlertConfigurationApi.java b/src/main/java/com/rootly/client/api/AlertConfigurationApi.java new file mode 100644 index 00000000..c236b5cd --- /dev/null +++ b/src/main/java/com/rootly/client/api/AlertConfigurationApi.java @@ -0,0 +1,337 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiCallback; +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.ApiResponse; +import com.rootly.client.Configuration; +import com.rootly.client.Pair; +import com.rootly.client.ProgressRequestBody; +import com.rootly.client.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.rootly.client.model.AlertConfigurationResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.UpdateAlertConfiguration; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AlertConfigurationApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public AlertConfigurationApi() { + this(Configuration.getDefaultApiClient()); + } + + public AlertConfigurationApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for getAlertConfiguration + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration found -
404 team has no alert configuration -
+ */ + public okhttp3.Call getAlertConfigurationCall(final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/alert_configuration"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getAlertConfigurationValidateBeforeCall(final ApiCallback _callback) throws ApiException { + return getAlertConfigurationCall(_callback); + + } + + /** + * Retrieves the team's alert configuration + * + * @return AlertConfigurationResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration found -
404 team has no alert configuration -
+ */ + public AlertConfigurationResponse getAlertConfiguration() throws ApiException { + ApiResponse localVarResp = getAlertConfigurationWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * Retrieves the team's alert configuration + * + * @return ApiResponse<AlertConfigurationResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration found -
404 team has no alert configuration -
+ */ + public ApiResponse getAlertConfigurationWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = getAlertConfigurationValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves the team's alert configuration (asynchronously) + * + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration found -
404 team has no alert configuration -
+ */ + public okhttp3.Call getAlertConfigurationAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getAlertConfigurationValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateAlertConfiguration + * @param updateAlertConfiguration (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration updated -
403 an attribute's feature is not enabled for the team -
404 team has no alert configuration -
422 the settings are invalid -
+ */ + public okhttp3.Call updateAlertConfigurationCall(@jakarta.annotation.Nonnull UpdateAlertConfiguration updateAlertConfiguration, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = updateAlertConfiguration; + + // create path and map variables + String localVarPath = "/v1/alert_configuration"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updateAlertConfigurationValidateBeforeCall(@jakarta.annotation.Nonnull UpdateAlertConfiguration updateAlertConfiguration, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'updateAlertConfiguration' is set + if (updateAlertConfiguration == null) { + throw new ApiException("Missing the required parameter 'updateAlertConfiguration' when calling updateAlertConfiguration(Async)"); + } + + return updateAlertConfigurationCall(updateAlertConfiguration, _callback); + + } + + /** + * Updates the team's alert configuration + * + * @param updateAlertConfiguration (required) + * @return AlertConfigurationResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration updated -
403 an attribute's feature is not enabled for the team -
404 team has no alert configuration -
422 the settings are invalid -
+ */ + public AlertConfigurationResponse updateAlertConfiguration(@jakarta.annotation.Nonnull UpdateAlertConfiguration updateAlertConfiguration) throws ApiException { + ApiResponse localVarResp = updateAlertConfigurationWithHttpInfo(updateAlertConfiguration); + return localVarResp.getData(); + } + + /** + * Updates the team's alert configuration + * + * @param updateAlertConfiguration (required) + * @return ApiResponse<AlertConfigurationResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration updated -
403 an attribute's feature is not enabled for the team -
404 team has no alert configuration -
422 the settings are invalid -
+ */ + public ApiResponse updateAlertConfigurationWithHttpInfo(@jakarta.annotation.Nonnull UpdateAlertConfiguration updateAlertConfiguration) throws ApiException { + okhttp3.Call localVarCall = updateAlertConfigurationValidateBeforeCall(updateAlertConfiguration, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Updates the team's alert configuration (asynchronously) + * + * @param updateAlertConfiguration (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
200 alert configuration updated -
403 an attribute's feature is not enabled for the team -
404 team has no alert configuration -
422 the settings are invalid -
+ */ + public okhttp3.Call updateAlertConfigurationAsync(@jakarta.annotation.Nonnull UpdateAlertConfiguration updateAlertConfiguration, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateAlertConfigurationValidateBeforeCall(updateAlertConfiguration, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/AlertRoutesApi.java b/src/main/java/com/rootly/client/api/AlertRoutesApi.java index 3e93ec33..0124af1c 100644 --- a/src/main/java/com/rootly/client/api/AlertRoutesApi.java +++ b/src/main/java/com/rootly/client/api/AlertRoutesApi.java @@ -151,7 +151,7 @@ private okhttp3.Call createAlertRouteValidateBeforeCall(@jakarta.annotation.Nonn /** * Creates an alert route - * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and for an update it includes the rules already on the route, not just those in the payload. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * @param newAlertRoute (required) * @return AlertRouteResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -171,7 +171,7 @@ public AlertRouteResponse createAlertRoute(@jakarta.annotation.Nonnull NewAlertR /** * Creates an alert route - * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and for an update it includes the rules already on the route, not just those in the payload. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * @param newAlertRoute (required) * @return ApiResponse<AlertRouteResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -192,7 +192,7 @@ public ApiResponse createAlertRouteWithHttpInfo(@jakarta.ann /** * Creates an alert route (asynchronously) - * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and for an update it includes the rules already on the route, not just those in the payload. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * @param newAlertRoute (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -941,7 +941,7 @@ private okhttp3.Call updateAlertRouteValidateBeforeCall(@jakarta.annotation.Nonn /** * Update an alert route - * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and includes the rules already on the route, not just those in the payload, so a small payload against a large route may still be processed asynchronously. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * @param id (required) * @param updateAlertRoute (required) * @return AlertRouteResponse @@ -962,7 +962,7 @@ public AlertRouteResponse updateAlertRoute(@jakarta.annotation.Nonnull String id /** * Update an alert route - * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and includes the rules already on the route, not just those in the payload, so a small payload against a large route may still be processed asynchronously. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * @param id (required) * @param updateAlertRoute (required) * @return ApiResponse<AlertRouteResponse> @@ -984,7 +984,7 @@ public ApiResponse updateAlertRouteWithHttpInfo(@jakarta.ann /** * Update an alert route (asynchronously) - * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and includes the rules already on the route, not just those in the payload, so a small payload against a large route may still be processed asynchronously. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * @param id (required) * @param updateAlertRoute (required) * @param _callback The callback to be executed when the API call finishes diff --git a/src/main/java/com/rootly/client/api/AlertSourcesApi.java b/src/main/java/com/rootly/client/api/AlertSourcesApi.java index 94000420..4146d506 100644 --- a/src/main/java/com/rootly/client/api/AlertSourcesApi.java +++ b/src/main/java/com/rootly/client/api/AlertSourcesApi.java @@ -673,8 +673,9 @@ public okhttp3.Call listAlertsSourcesAsync(@jakarta.annotation.Nullable String i - + +
Response Details
Status Code Description Response Headers
200 preserves existing alert source field ids -
404 resource not found -
422 built-in alert fields cannot be unbound -
200 preserves existing alert source field ids -
*/ public okhttp3.Call updateAlertsSourceCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { @@ -750,8 +751,9 @@ private okhttp3.Call updateAlertsSourceValidateBeforeCall(@jakarta.annotation.No - + +
Response Details
Status Code Description Response Headers
200 preserves existing alert source field ids -
404 resource not found -
422 built-in alert fields cannot be unbound -
200 preserves existing alert source field ids -
*/ public AlertsSourceResponse updateAlertsSource(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateAlertsSource updateAlertsSource) throws ApiException { @@ -770,8 +772,9 @@ public AlertsSourceResponse updateAlertsSource(@jakarta.annotation.Nonnull Strin - + +
Response Details
Status Code Description Response Headers
200 preserves existing alert source field ids -
404 resource not found -
422 built-in alert fields cannot be unbound -
200 preserves existing alert source field ids -
*/ public ApiResponse updateAlertsSourceWithHttpInfo(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateAlertsSource updateAlertsSource) throws ApiException { @@ -792,8 +795,9 @@ public ApiResponse updateAlertsSourceWithHttpInfo(@jakarta - + +
Response Details
Status Code Description Response Headers
200 preserves existing alert source field ids -
404 resource not found -
422 built-in alert fields cannot be unbound -
200 preserves existing alert source field ids -
*/ public okhttp3.Call updateAlertsSourceAsync(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/rootly/client/api/AlertsApi.java b/src/main/java/com/rootly/client/api/AlertsApi.java index a42e9cb8..841412c4 100644 --- a/src/main/java/com/rootly/client/api/AlertsApi.java +++ b/src/main/java/com/rootly/client/api/AlertsApi.java @@ -27,6 +27,7 @@ import java.io.IOException; +import com.rootly.client.model.AcknowledgeAlert; import com.rootly.client.model.AlertList; import com.rootly.client.model.AlertResponse; import com.rootly.client.model.AttachAlert; @@ -84,6 +85,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for acknowledgeAlert * @param id (required) + * @param acknowledgeAlert (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -92,11 +94,13 @@ public void setCustomBaseUrl(String customBaseUrl) { Response Details Status Code Description Response Headers 200 alert acknowledged - + 403 actor not supported for this API key - + 422 actor could not be resolved - 404 resource not found - 400 cannot acknowledge open alert - */ - public okhttp3.Call acknowledgeAlertCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call acknowledgeAlertCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nullable AcknowledgeAlert acknowledgeAlert, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -110,7 +114,7 @@ public okhttp3.Call acknowledgeAlertCall(@jakarta.annotation.Nonnull String id, basePath = null; } - Object localVarPostBody = null; + Object localVarPostBody = acknowledgeAlert; // create path and map variables String localVarPath = "/v1/alerts/{id}/acknowledge" @@ -131,6 +135,7 @@ public okhttp3.Call acknowledgeAlertCall(@jakarta.annotation.Nonnull String id, } final String[] localVarContentTypes = { + "application/vnd.api+json" }; final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); if (localVarContentType != null) { @@ -142,13 +147,13 @@ public okhttp3.Call acknowledgeAlertCall(@jakarta.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call acknowledgeAlertValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call acknowledgeAlertValidateBeforeCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nullable AcknowledgeAlert acknowledgeAlert, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling acknowledgeAlert(Async)"); } - return acknowledgeAlertCall(id, _callback); + return acknowledgeAlertCall(id, acknowledgeAlert, _callback); } @@ -156,6 +161,7 @@ private okhttp3.Call acknowledgeAlertValidateBeforeCall(@jakarta.annotation.Nonn * Acknowledges an alert * Acknowledges a specific alert by id * @param id (required) + * @param acknowledgeAlert (optional) * @return AlertResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -163,12 +169,14 @@ private okhttp3.Call acknowledgeAlertValidateBeforeCall(@jakarta.annotation.Nonn Response Details Status Code Description Response Headers 200 alert acknowledged - + 403 actor not supported for this API key - + 422 actor could not be resolved - 404 resource not found - 400 cannot acknowledge open alert - */ - public AlertResponse acknowledgeAlert(@jakarta.annotation.Nonnull String id) throws ApiException { - ApiResponse localVarResp = acknowledgeAlertWithHttpInfo(id); + public AlertResponse acknowledgeAlert(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nullable AcknowledgeAlert acknowledgeAlert) throws ApiException { + ApiResponse localVarResp = acknowledgeAlertWithHttpInfo(id, acknowledgeAlert); return localVarResp.getData(); } @@ -176,6 +184,7 @@ public AlertResponse acknowledgeAlert(@jakarta.annotation.Nonnull String id) thr * Acknowledges an alert * Acknowledges a specific alert by id * @param id (required) + * @param acknowledgeAlert (optional) * @return ApiResponse<AlertResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -183,12 +192,14 @@ public AlertResponse acknowledgeAlert(@jakarta.annotation.Nonnull String id) thr Response Details Status Code Description Response Headers 200 alert acknowledged - + 403 actor not supported for this API key - + 422 actor could not be resolved - 404 resource not found - 400 cannot acknowledge open alert - */ - public ApiResponse acknowledgeAlertWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { - okhttp3.Call localVarCall = acknowledgeAlertValidateBeforeCall(id, null); + public ApiResponse acknowledgeAlertWithHttpInfo(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nullable AcknowledgeAlert acknowledgeAlert) throws ApiException { + okhttp3.Call localVarCall = acknowledgeAlertValidateBeforeCall(id, acknowledgeAlert, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -197,6 +208,7 @@ public ApiResponse acknowledgeAlertWithHttpInfo(@jakarta.annotati * Acknowledges an alert (asynchronously) * Acknowledges a specific alert by id * @param id (required) + * @param acknowledgeAlert (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -205,13 +217,15 @@ public ApiResponse acknowledgeAlertWithHttpInfo(@jakarta.annotati Response Details Status Code Description Response Headers 200 alert acknowledged - + 403 actor not supported for this API key - + 422 actor could not be resolved - 404 resource not found - 400 cannot acknowledge open alert - */ - public okhttp3.Call acknowledgeAlertAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call acknowledgeAlertAsync(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nullable AcknowledgeAlert acknowledgeAlert, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = acknowledgeAlertValidateBeforeCall(id, _callback); + okhttp3.Call localVarCall = acknowledgeAlertValidateBeforeCall(id, acknowledgeAlert, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/rootly/client/api/DashboardPanelsApi.java b/src/main/java/com/rootly/client/api/DashboardPanelsApi.java index f41ee2ad..5ccff494 100644 --- a/src/main/java/com/rootly/client/api/DashboardPanelsApi.java +++ b/src/main/java/com/rootly/client/api/DashboardPanelsApi.java @@ -88,6 +88,7 @@ public void setCustomBaseUrl(String customBaseUrl) { Response Details Status Code Description Response Headers 201 dashboard panel created - + 422 rejects a group_by on a field that cannot be grouped - 401 responds with unauthorized for invalid token - */ @@ -165,6 +166,7 @@ private okhttp3.Call createDashboardPanelValidateBeforeCall(@jakarta.annotation. Response Details Status Code Description Response Headers 201 dashboard panel created - + 422 rejects a group_by on a field that cannot be grouped - 401 responds with unauthorized for invalid token - */ @@ -185,6 +187,7 @@ public DashboardPanelResponse createDashboardPanel(@jakarta.annotation.Nonnull S Response Details Status Code Description Response Headers 201 dashboard panel created - + 422 rejects a group_by on a field that cannot be grouped - 401 responds with unauthorized for invalid token - */ @@ -207,6 +210,7 @@ public ApiResponse createDashboardPanelWithHttpInfo(@jak Response Details Status Code Description Response Headers 201 dashboard panel created - + 422 rejects a group_by on a field that cannot be grouped - 401 responds with unauthorized for invalid token - */ diff --git a/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java b/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java index ed589fc8..62d6bfda 100644 --- a/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java +++ b/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java @@ -232,6 +232,7 @@ public okhttp3.Call createFormFieldPlacementAsync(@jakarta.annotation.Nonnull St Response Details Status Code Description Response Headers 200 form_field_placement deleted - + 422 fixed problem gate placement rejected - 404 resource not found - */ @@ -302,6 +303,7 @@ private okhttp3.Call deleteFormFieldPlacementValidateBeforeCall(@jakarta.annotat Response Details Status Code Description Response Headers 200 form_field_placement deleted - + 422 fixed problem gate placement rejected - 404 resource not found - */ @@ -321,6 +323,7 @@ public FormFieldPlacementResponse deleteFormFieldPlacement(@jakarta.annotation.N Response Details Status Code Description Response Headers 200 form_field_placement deleted - + 422 fixed problem gate placement rejected - 404 resource not found - */ @@ -342,6 +345,7 @@ public ApiResponse deleteFormFieldPlacementWithHttpI Response Details Status Code Description Response Headers 200 form_field_placement deleted - + 422 fixed problem gate placement rejected - 404 resource not found - */ diff --git a/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java b/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java index 46e8d951..cd6dc975 100644 --- a/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java @@ -633,6 +633,8 @@ public okhttp3.Call listIncidentPostmortemAsync(@jakarta.annotation.Nonnull GetA Status Code Description Response Headers 200 incident_post_mortem updated - 404 resource not found - + 409 retrospective body owned by the collaborative editor - + 503 collaborative document state could not be verified - */ public okhttp3.Call updateIncidentPostmortemCall(@jakarta.annotation.Nonnull GetAlertFieldIdParameter id, @jakarta.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { @@ -699,7 +701,7 @@ private okhttp3.Call updateIncidentPostmortemValidateBeforeCall(@jakarta.annotat /** * Update an incident retrospective - * Update a specific incident retrospective by id + * Update a specific incident retrospective by id. The body may be written as `content` (or its alias `smart_content`) and is sanitized to the tags the retrospective editor supports. When no `title` is sent and the body opens with an `<h1>`, that heading becomes the retrospective title, matching the editor. Once a retrospective has been opened in the collaborative editor that editor owns the body, and body writes are rejected with a 409. * @param id (required) * @param updateIncidentPostMortem (required) * @return IncidentPostMortemResponse @@ -710,6 +712,8 @@ private okhttp3.Call updateIncidentPostmortemValidateBeforeCall(@jakarta.annotat Status Code Description Response Headers 200 incident_post_mortem updated - 404 resource not found - + 409 retrospective body owned by the collaborative editor - + 503 collaborative document state could not be verified - */ public IncidentPostMortemResponse updateIncidentPostmortem(@jakarta.annotation.Nonnull GetAlertFieldIdParameter id, @jakarta.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem) throws ApiException { @@ -719,7 +723,7 @@ public IncidentPostMortemResponse updateIncidentPostmortem(@jakarta.annotation.N /** * Update an incident retrospective - * Update a specific incident retrospective by id + * Update a specific incident retrospective by id. The body may be written as `content` (or its alias `smart_content`) and is sanitized to the tags the retrospective editor supports. When no `title` is sent and the body opens with an `<h1>`, that heading becomes the retrospective title, matching the editor. Once a retrospective has been opened in the collaborative editor that editor owns the body, and body writes are rejected with a 409. * @param id (required) * @param updateIncidentPostMortem (required) * @return ApiResponse<IncidentPostMortemResponse> @@ -730,6 +734,8 @@ public IncidentPostMortemResponse updateIncidentPostmortem(@jakarta.annotation.N Status Code Description Response Headers 200 incident_post_mortem updated - 404 resource not found - + 409 retrospective body owned by the collaborative editor - + 503 collaborative document state could not be verified - */ public ApiResponse updateIncidentPostmortemWithHttpInfo(@jakarta.annotation.Nonnull GetAlertFieldIdParameter id, @jakarta.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem) throws ApiException { @@ -740,7 +746,7 @@ public ApiResponse updateIncidentPostmortemWithHttpI /** * Update an incident retrospective (asynchronously) - * Update a specific incident retrospective by id + * Update a specific incident retrospective by id. The body may be written as `content` (or its alias `smart_content`) and is sanitized to the tags the retrospective editor supports. When no `title` is sent and the body opens with an `<h1>`, that heading becomes the retrospective title, matching the editor. Once a retrospective has been opened in the collaborative editor that editor owns the body, and body writes are rejected with a 409. * @param id (required) * @param updateIncidentPostMortem (required) * @param _callback The callback to be executed when the API call finishes @@ -752,6 +758,8 @@ public ApiResponse updateIncidentPostmortemWithHttpI Status Code Description Response Headers 200 incident_post_mortem updated - 404 resource not found - + 409 retrospective body owned by the collaborative editor - + 503 collaborative document state could not be verified - */ public okhttp3.Call updateIncidentPostmortemAsync(@jakarta.annotation.Nonnull GetAlertFieldIdParameter id, @jakarta.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java b/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java index 3ef284c1..a75f28ef 100644 --- a/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java @@ -646,6 +646,7 @@ public okhttp3.Call listIncidentStatusPagesAsync(@jakarta.annotation.Nonnull Str Response Details Status Code Description Response Headers 200 incident_status_page_event started_at updated - + 422 moving a private incident's event to a public status page is rejected - 404 resource not found - */ @@ -723,6 +724,7 @@ private okhttp3.Call updateIncidentStatusPageValidateBeforeCall(@jakarta.annotat Response Details Status Code Description Response Headers 200 incident_status_page_event started_at updated - + 422 moving a private incident's event to a public status page is rejected - 404 resource not found - */ @@ -743,6 +745,7 @@ public IncidentStatusPageEventResponse updateIncidentStatusPage(@jakarta.annotat Response Details Status Code Description Response Headers 200 incident_status_page_event started_at updated - + 422 moving a private incident's event to a public status page is rejected - 404 resource not found - */ @@ -765,6 +768,7 @@ public ApiResponse updateIncidentStatusPageWith Response Details Status Code Description Response Headers 200 incident_status_page_event started_at updated - + 422 moving a private incident's event to a public status page is rejected - 404 resource not found - */ diff --git a/src/main/java/com/rootly/client/api/IncidentsApi.java b/src/main/java/com/rootly/client/api/IncidentsApi.java index bc51e384..b57fe7ab 100644 --- a/src/main/java/com/rootly/client/api/IncidentsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentsApi.java @@ -512,6 +512,7 @@ public okhttp3.Call cancelIncidentAsync(@jakarta.annotation.Nonnull GetAlertFiel /** * Build call for createIncident * @param newIncident (required) + * @param idempotencyKey Optional client-generated key that makes creation safe to retry. Within 24 hours, a repeat request carrying the same key returns the incident created by the first request with status 200 instead of creating a duplicate. Keys are scoped to the team. Keys longer than 255 characters are rejected with 422. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -520,11 +521,12 @@ public okhttp3.Call cancelIncidentAsync(@jakarta.annotation.Nonnull GetAlertFiel Response Details Status Code Description Response Headers 201 incident created - + 200 incident already created for this Idempotency-Key - 422 invalid causes association - 401 responds with unauthorized for invalid token - */ - public okhttp3.Call createIncidentCall(@jakarta.annotation.Nonnull NewIncident newIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call createIncidentCall(@jakarta.annotation.Nonnull NewIncident newIncident, @jakarta.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -565,18 +567,23 @@ public okhttp3.Call createIncidentCall(@jakarta.annotation.Nonnull NewIncident n localVarHeaderParams.put("Content-Type", localVarContentType); } + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call createIncidentValidateBeforeCall(@jakarta.annotation.Nonnull NewIncident newIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call createIncidentValidateBeforeCall(@jakarta.annotation.Nonnull NewIncident newIncident, @jakarta.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'newIncident' is set if (newIncident == null) { throw new ApiException("Missing the required parameter 'newIncident' when calling createIncident(Async)"); } - return createIncidentCall(newIncident, _callback); + return createIncidentCall(newIncident, idempotencyKey, _callback); } @@ -584,6 +591,7 @@ private okhttp3.Call createIncidentValidateBeforeCall(@jakarta.annotation.Nonnul * Creates an incident * Creates a new incident from provided data * @param newIncident (required) + * @param idempotencyKey Optional client-generated key that makes creation safe to retry. Within 24 hours, a repeat request carrying the same key returns the incident created by the first request with status 200 instead of creating a duplicate. Keys are scoped to the team. Keys longer than 255 characters are rejected with 422. (optional) * @return IncidentResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -591,12 +599,13 @@ private okhttp3.Call createIncidentValidateBeforeCall(@jakarta.annotation.Nonnul Response Details Status Code Description Response Headers 201 incident created - + 200 incident already created for this Idempotency-Key - 422 invalid causes association - 401 responds with unauthorized for invalid token - */ - public IncidentResponse createIncident(@jakarta.annotation.Nonnull NewIncident newIncident) throws ApiException { - ApiResponse localVarResp = createIncidentWithHttpInfo(newIncident); + public IncidentResponse createIncident(@jakarta.annotation.Nonnull NewIncident newIncident, @jakarta.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = createIncidentWithHttpInfo(newIncident, idempotencyKey); return localVarResp.getData(); } @@ -604,6 +613,7 @@ public IncidentResponse createIncident(@jakarta.annotation.Nonnull NewIncident n * Creates an incident * Creates a new incident from provided data * @param newIncident (required) + * @param idempotencyKey Optional client-generated key that makes creation safe to retry. Within 24 hours, a repeat request carrying the same key returns the incident created by the first request with status 200 instead of creating a duplicate. Keys are scoped to the team. Keys longer than 255 characters are rejected with 422. (optional) * @return ApiResponse<IncidentResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -611,12 +621,13 @@ public IncidentResponse createIncident(@jakarta.annotation.Nonnull NewIncident n Response Details Status Code Description Response Headers 201 incident created - + 200 incident already created for this Idempotency-Key - 422 invalid causes association - 401 responds with unauthorized for invalid token - */ - public ApiResponse createIncidentWithHttpInfo(@jakarta.annotation.Nonnull NewIncident newIncident) throws ApiException { - okhttp3.Call localVarCall = createIncidentValidateBeforeCall(newIncident, null); + public ApiResponse createIncidentWithHttpInfo(@jakarta.annotation.Nonnull NewIncident newIncident, @jakarta.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = createIncidentValidateBeforeCall(newIncident, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -625,6 +636,7 @@ public ApiResponse createIncidentWithHttpInfo(@jakarta.annotat * Creates an incident (asynchronously) * Creates a new incident from provided data * @param newIncident (required) + * @param idempotencyKey Optional client-generated key that makes creation safe to retry. Within 24 hours, a repeat request carrying the same key returns the incident created by the first request with status 200 instead of creating a duplicate. Keys are scoped to the team. Keys longer than 255 characters are rejected with 422. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -633,13 +645,14 @@ public ApiResponse createIncidentWithHttpInfo(@jakarta.annotat Response Details Status Code Description Response Headers 201 incident created - + 200 incident already created for this Idempotency-Key - 422 invalid causes association - 401 responds with unauthorized for invalid token - */ - public okhttp3.Call createIncidentAsync(@jakarta.annotation.Nonnull NewIncident newIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call createIncidentAsync(@jakarta.annotation.Nonnull NewIncident newIncident, @jakarta.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = createIncidentValidateBeforeCall(newIncident, _callback); + okhttp3.Call localVarCall = createIncidentValidateBeforeCall(newIncident, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java b/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java index 66892362..45c064f7 100644 --- a/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java +++ b/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java @@ -1574,7 +1574,7 @@ public okhttp3.Call resumeMeetingRecordingAsync(@jakarta.annotation.Nonnull Stri Response Details Status Code Description Response Headers 201 session created - - 422 invalid platform - + 422 Scribe is disabled for the organization - */ public okhttp3.Call startRecordingSessionCall(@jakarta.annotation.Nullable StartSessionRequest startSessionRequest, final ApiCallback _callback) throws ApiException { @@ -1639,7 +1639,7 @@ private okhttp3.Call startRecordingSessionValidateBeforeCall(@jakarta.annotation Response Details Status Code Description Response Headers 201 session created - - 422 invalid platform - + 422 Scribe is disabled for the organization - */ public StartSessionResponse startRecordingSession(@jakarta.annotation.Nullable StartSessionRequest startSessionRequest) throws ApiException { @@ -1658,7 +1658,7 @@ public StartSessionResponse startRecordingSession(@jakarta.annotation.Nullable S Response Details Status Code Description Response Headers 201 session created - - 422 invalid platform - + 422 Scribe is disabled for the organization - */ public ApiResponse startRecordingSessionWithHttpInfo(@jakarta.annotation.Nullable StartSessionRequest startSessionRequest) throws ApiException { @@ -1679,7 +1679,7 @@ public ApiResponse startRecordingSessionWithHttpInfo(@jaka Response Details Status Code Description Response Headers 201 session created - - 422 invalid platform - + 422 Scribe is disabled for the organization - */ public okhttp3.Call startRecordingSessionAsync(@jakarta.annotation.Nullable StartSessionRequest startSessionRequest, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/rootly/client/api/PrivateAgentsApi.java b/src/main/java/com/rootly/client/api/PrivateAgentsApi.java new file mode 100644 index 00000000..c0a40fe2 --- /dev/null +++ b/src/main/java/com/rootly/client/api/PrivateAgentsApi.java @@ -0,0 +1,761 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiCallback; +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.ApiResponse; +import com.rootly.client.Configuration; +import com.rootly.client.Pair; +import com.rootly.client.ProgressRequestBody; +import com.rootly.client.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.PrivateAgentEnrollmentTokenResponse; +import com.rootly.client.model.PrivateAgentList; +import com.rootly.client.model.PrivateAgentResponse; +import com.rootly.client.model.PrivateAgentUpdate; +import java.util.UUID; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PrivateAgentsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public PrivateAgentsApi() { + this(Configuration.getDefaultApiClient()); + } + + public PrivateAgentsApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for createPrivateAgentEnrollmentToken + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 Enrollment token issued -
401 Invalid or missing API credential -
404 Not authorized or feature disabled -
+ */ + public okhttp3.Call createPrivateAgentEnrollmentTokenCall(final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/private_agents/enrollment_tokens"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createPrivateAgentEnrollmentTokenValidateBeforeCall(final ApiCallback _callback) throws ApiException { + return createPrivateAgentEnrollmentTokenCall(_callback); + + } + + /** + * Create a one-time token for agent enrollment + * Issue a one-time token valid for 24 hours. No request body is required. Requires Private Agent management permission plus the Private Agents and AI SRE features. The agent uses this token for gRPC Enroll; the agent record is created on enrollment, not by this request. The plaintext is returned only here and is not recoverable. Repeated requests issue distinct tokens; this endpoint is not idempotent. + * @return PrivateAgentEnrollmentTokenResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 Enrollment token issued -
401 Invalid or missing API credential -
404 Not authorized or feature disabled -
+ */ + public PrivateAgentEnrollmentTokenResponse createPrivateAgentEnrollmentToken() throws ApiException { + ApiResponse localVarResp = createPrivateAgentEnrollmentTokenWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * Create a one-time token for agent enrollment + * Issue a one-time token valid for 24 hours. No request body is required. Requires Private Agent management permission plus the Private Agents and AI SRE features. The agent uses this token for gRPC Enroll; the agent record is created on enrollment, not by this request. The plaintext is returned only here and is not recoverable. Repeated requests issue distinct tokens; this endpoint is not idempotent. + * @return ApiResponse<PrivateAgentEnrollmentTokenResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 Enrollment token issued -
401 Invalid or missing API credential -
404 Not authorized or feature disabled -
+ */ + public ApiResponse createPrivateAgentEnrollmentTokenWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = createPrivateAgentEnrollmentTokenValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Create a one-time token for agent enrollment (asynchronously) + * Issue a one-time token valid for 24 hours. No request body is required. Requires Private Agent management permission plus the Private Agents and AI SRE features. The agent uses this token for gRPC Enroll; the agent record is created on enrollment, not by this request. The plaintext is returned only here and is not recoverable. Repeated requests issue distinct tokens; this endpoint is not idempotent. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 Enrollment token issued -
401 Invalid or missing API credential -
404 Not authorized or feature disabled -
+ */ + public okhttp3.Call createPrivateAgentEnrollmentTokenAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createPrivateAgentEnrollmentTokenValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getPrivateAgent + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent details -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call getPrivateAgentCall(@jakarta.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/private_agents/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getPrivateAgentValidateBeforeCall(@jakarta.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling getPrivateAgent(Async)"); + } + + return getPrivateAgentCall(id, _callback); + + } + + /** + * Get private agent + * Return provider inventory and last-reported health for one agent. Requires Private Agent read permission plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * @param id (required) + * @return PrivateAgentResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent details -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public PrivateAgentResponse getPrivateAgent(@jakarta.annotation.Nonnull UUID id) throws ApiException { + ApiResponse localVarResp = getPrivateAgentWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Get private agent + * Return provider inventory and last-reported health for one agent. Requires Private Agent read permission plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * @param id (required) + * @return ApiResponse<PrivateAgentResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent details -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public ApiResponse getPrivateAgentWithHttpInfo(@jakarta.annotation.Nonnull UUID id) throws ApiException { + okhttp3.Call localVarCall = getPrivateAgentValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get private agent (asynchronously) + * Return provider inventory and last-reported health for one agent. Requires Private Agent read permission plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent details -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call getPrivateAgentAsync(@jakarta.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getPrivateAgentValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listPrivateAgents + * @param pageNumber (optional) + * @param pageSize (optional, default to 50) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 Agents listed -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call listPrivateAgentsCall(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/private_agents"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listPrivateAgentsValidateBeforeCall(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + return listPrivateAgentsCall(pageNumber, pageSize, _callback); + + } + + /** + * List private agents + * List this tenant's agents, including revoked and offline agents. Inventory pages omit provider snapshots to bound database and response costs; use Get private agent for provider inventory and last-reported health. Requires Private Agent management access plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * @param pageNumber (optional) + * @param pageSize (optional, default to 50) + * @return PrivateAgentList + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 Agents listed -
401 Invalid or missing API credential -
+ */ + public PrivateAgentList listPrivateAgents(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize) throws ApiException { + ApiResponse localVarResp = listPrivateAgentsWithHttpInfo(pageNumber, pageSize); + return localVarResp.getData(); + } + + /** + * List private agents + * List this tenant's agents, including revoked and offline agents. Inventory pages omit provider snapshots to bound database and response costs; use Get private agent for provider inventory and last-reported health. Requires Private Agent management access plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * @param pageNumber (optional) + * @param pageSize (optional, default to 50) + * @return ApiResponse<PrivateAgentList> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 Agents listed -
401 Invalid or missing API credential -
+ */ + public ApiResponse listPrivateAgentsWithHttpInfo(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize) throws ApiException { + okhttp3.Call localVarCall = listPrivateAgentsValidateBeforeCall(pageNumber, pageSize, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List private agents (asynchronously) + * List this tenant's agents, including revoked and offline agents. Inventory pages omit provider snapshots to bound database and response costs; use Get private agent for provider inventory and last-reported health. Requires Private Agent management access plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * @param pageNumber (optional) + * @param pageSize (optional, default to 50) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 Agents listed -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call listPrivateAgentsAsync(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listPrivateAgentsValidateBeforeCall(pageNumber, pageSize, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for revokePrivateAgent + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent revoked -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call revokePrivateAgentCall(@jakarta.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/private_agents/{id}/revoke" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call revokePrivateAgentValidateBeforeCall(@jakarta.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling revokePrivateAgent(Async)"); + } + + return revokePrivateAgentCall(id, _callback); + + } + + /** + * Revoke private agent + * Invalidate access and refresh credentials and remove provider routing registrations. Requires Private Agent delete permission plus the Private Agents and AI SRE features. Retains the agent and invocation history. Repeated revocation is safe. An executing customer-side operation is not guaranteed to stop immediately. Use a new enrollment token to re-enroll a revoked installation. + * @param id (required) + * @return PrivateAgentResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent revoked -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public PrivateAgentResponse revokePrivateAgent(@jakarta.annotation.Nonnull UUID id) throws ApiException { + ApiResponse localVarResp = revokePrivateAgentWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Revoke private agent + * Invalidate access and refresh credentials and remove provider routing registrations. Requires Private Agent delete permission plus the Private Agents and AI SRE features. Retains the agent and invocation history. Repeated revocation is safe. An executing customer-side operation is not guaranteed to stop immediately. Use a new enrollment token to re-enroll a revoked installation. + * @param id (required) + * @return ApiResponse<PrivateAgentResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent revoked -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public ApiResponse revokePrivateAgentWithHttpInfo(@jakarta.annotation.Nonnull UUID id) throws ApiException { + okhttp3.Call localVarCall = revokePrivateAgentValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Revoke private agent (asynchronously) + * Invalidate access and refresh credentials and remove provider routing registrations. Requires Private Agent delete permission plus the Private Agents and AI SRE features. Retains the agent and invocation history. Repeated revocation is safe. An executing customer-side operation is not guaranteed to stop immediately. Use a new enrollment token to re-enroll a revoked installation. + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Agent revoked -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call revokePrivateAgentAsync(@jakarta.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = revokePrivateAgentValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updatePrivateAgent + * @param id (required) + * @param privateAgentUpdate (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + + +
Response Details
Status Code Description Response Headers
204 Agent metadata updated -
422 Invalid metadata -
409 Agent update is busy -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call updatePrivateAgentCall(@jakarta.annotation.Nonnull UUID id, @jakarta.annotation.Nonnull PrivateAgentUpdate privateAgentUpdate, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = privateAgentUpdate; + + // create path and map variables + String localVarPath = "/v1/private_agents/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updatePrivateAgentValidateBeforeCall(@jakarta.annotation.Nonnull UUID id, @jakarta.annotation.Nonnull PrivateAgentUpdate privateAgentUpdate, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling updatePrivateAgent(Async)"); + } + + // verify the required parameter 'privateAgentUpdate' is set + if (privateAgentUpdate == null) { + throw new ApiException("Missing the required parameter 'privateAgentUpdate' when calling updatePrivateAgent(Async)"); + } + + return updatePrivateAgentCall(id, privateAgentUpdate, _callback); + + } + + /** + * Update private agent metadata + * Update routing metadata or pause tool execution without disconnecting the agent. The agent UUID and provider IDs remain the execution identities. Requires Private Agent update permission. + * @param id (required) + * @param privateAgentUpdate (required) + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Response Details
Status Code Description Response Headers
204 Agent metadata updated -
422 Invalid metadata -
409 Agent update is busy -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public void updatePrivateAgent(@jakarta.annotation.Nonnull UUID id, @jakarta.annotation.Nonnull PrivateAgentUpdate privateAgentUpdate) throws ApiException { + updatePrivateAgentWithHttpInfo(id, privateAgentUpdate); + } + + /** + * Update private agent metadata + * Update routing metadata or pause tool execution without disconnecting the agent. The agent UUID and provider IDs remain the execution identities. Requires Private Agent update permission. + * @param id (required) + * @param privateAgentUpdate (required) + * @return ApiResponse<Void> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + + +
Response Details
Status Code Description Response Headers
204 Agent metadata updated -
422 Invalid metadata -
409 Agent update is busy -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public ApiResponse updatePrivateAgentWithHttpInfo(@jakarta.annotation.Nonnull UUID id, @jakarta.annotation.Nonnull PrivateAgentUpdate privateAgentUpdate) throws ApiException { + okhttp3.Call localVarCall = updatePrivateAgentValidateBeforeCall(id, privateAgentUpdate, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Update private agent metadata (asynchronously) + * Update routing metadata or pause tool execution without disconnecting the agent. The agent UUID and provider IDs remain the execution identities. Requires Private Agent update permission. + * @param id (required) + * @param privateAgentUpdate (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + + +
Response Details
Status Code Description Response Headers
204 Agent metadata updated -
422 Invalid metadata -
409 Agent update is busy -
404 Not found or unauthorized -
401 Invalid or missing API credential -
+ */ + public okhttp3.Call updatePrivateAgentAsync(@jakarta.annotation.Nonnull UUID id, @jakarta.annotation.Nonnull PrivateAgentUpdate privateAgentUpdate, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updatePrivateAgentValidateBeforeCall(id, privateAgentUpdate, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/ProblemActionItemsApi.java b/src/main/java/com/rootly/client/api/ProblemActionItemsApi.java new file mode 100644 index 00000000..a1ed8c6c --- /dev/null +++ b/src/main/java/com/rootly/client/api/ProblemActionItemsApi.java @@ -0,0 +1,1263 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiCallback; +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.ApiResponse; +import com.rootly.client.Configuration; +import com.rootly.client.Pair; +import com.rootly.client.ProgressRequestBody; +import com.rootly.client.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewProblemActionItem; +import com.rootly.client.model.ProblemActionItemList; +import com.rootly.client.model.ProblemActionItemResponse; +import com.rootly.client.model.UpdateProblemActionItem; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ProblemActionItemsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public ProblemActionItemsApi() { + this(Configuration.getDefaultApiClient()); + } + + public ProblemActionItemsApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for createProblemActionItem + * @param problemId (required) + * @param newProblemActionItem (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem action item created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createProblemActionItemCall(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nonnull NewProblemActionItem newProblemActionItem, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = newProblemActionItem; + + // create path and map variables + String localVarPath = "/v1/problems/{problem_id}/action_items" + .replace("{" + "problem_id" + "}", localVarApiClient.escapeString(problemId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createProblemActionItemValidateBeforeCall(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nonnull NewProblemActionItem newProblemActionItem, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'problemId' is set + if (problemId == null) { + throw new ApiException("Missing the required parameter 'problemId' when calling createProblemActionItem(Async)"); + } + + // verify the required parameter 'newProblemActionItem' is set + if (newProblemActionItem == null) { + throw new ApiException("Missing the required parameter 'newProblemActionItem' when calling createProblemActionItem(Async)"); + } + + return createProblemActionItemCall(problemId, newProblemActionItem, _callback); + + } + + /** + * Creates a problem action item + * Creates a new action item on a problem from provided data + * @param problemId (required) + * @param newProblemActionItem (required) + * @return ProblemActionItemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem action item created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ProblemActionItemResponse createProblemActionItem(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nonnull NewProblemActionItem newProblemActionItem) throws ApiException { + ApiResponse localVarResp = createProblemActionItemWithHttpInfo(problemId, newProblemActionItem); + return localVarResp.getData(); + } + + /** + * Creates a problem action item + * Creates a new action item on a problem from provided data + * @param problemId (required) + * @param newProblemActionItem (required) + * @return ApiResponse<ProblemActionItemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem action item created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createProblemActionItemWithHttpInfo(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nonnull NewProblemActionItem newProblemActionItem) throws ApiException { + okhttp3.Call localVarCall = createProblemActionItemValidateBeforeCall(problemId, newProblemActionItem, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a problem action item (asynchronously) + * Creates a new action item on a problem from provided data + * @param problemId (required) + * @param newProblemActionItem (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem action item created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createProblemActionItemAsync(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nonnull NewProblemActionItem newProblemActionItem, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createProblemActionItemValidateBeforeCall(problemId, newProblemActionItem, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteProblemActionItem + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem action item deleted -
404 problem action item not found -
+ */ + public okhttp3.Call deleteProblemActionItemCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problem_action_items/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deleteProblemActionItemValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling deleteProblemActionItem(Async)"); + } + + return deleteProblemActionItemCall(id, _callback); + + } + + /** + * Deletes a problem action item + * Deletes a problem action item + * @param id (required) + * @return ProblemActionItemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem action item deleted -
404 problem action item not found -
+ */ + public ProblemActionItemResponse deleteProblemActionItem(@jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteProblemActionItemWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Deletes a problem action item + * Deletes a problem action item + * @param id (required) + * @return ApiResponse<ProblemActionItemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem action item deleted -
404 problem action item not found -
+ */ + public ApiResponse deleteProblemActionItemWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteProblemActionItemValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Deletes a problem action item (asynchronously) + * Deletes a problem action item + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem action item deleted -
404 problem action item not found -
+ */ + public okhttp3.Call deleteProblemActionItemAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteProblemActionItemValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getProblemActionItem + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 assignee without problems.read can view their assigned item -
404 problem action item not found -
+ */ + public okhttp3.Call getProblemActionItemCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problem_action_items/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getProblemActionItemValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling getProblemActionItem(Async)"); + } + + return getProblemActionItemCall(id, _callback); + + } + + /** + * Retrieves a problem action item + * Retrieves a specific problem action item by id + * @param id (required) + * @return ProblemActionItemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 assignee without problems.read can view their assigned item -
404 problem action item not found -
+ */ + public ProblemActionItemResponse getProblemActionItem(@jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getProblemActionItemWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves a problem action item + * Retrieves a specific problem action item by id + * @param id (required) + * @return ApiResponse<ProblemActionItemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 assignee without problems.read can view their assigned item -
404 problem action item not found -
+ */ + public ApiResponse getProblemActionItemWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getProblemActionItemValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves a problem action item (asynchronously) + * Retrieves a specific problem action item by id + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 assignee without problems.read can view their assigned item -
404 problem action item not found -
+ */ + public okhttp3.Call getProblemActionItemAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getProblemActionItemValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listAllProblemActionItems + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param problemId (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 excludes items from other teams -
404 problem-management feature flag disabled -
+ */ + public okhttp3.Call listAllProblemActionItemsCall(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String problemId, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problem_action_items"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (problemId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("problem_id", problemId)); + } + + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterDueDateGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][gt]", filterDueDateGt)); + } + + if (filterDueDateGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][gte]", filterDueDateGte)); + } + + if (filterDueDateLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][lt]", filterDueDateLt)); + } + + if (filterDueDateLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][lte]", filterDueDateLte)); + } + + if (filterCreatedAtGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); + } + + if (filterCreatedAtGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gte]", filterCreatedAtGte)); + } + + if (filterCreatedAtLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lt]", filterCreatedAtLt)); + } + + if (filterCreatedAtLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lte]", filterCreatedAtLte)); + } + + if (filterStatusEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][eq]", filterStatusEq)); + } + + if (filterStatusNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][not_eq]", filterStatusNotEq)); + } + + if (filterStatusIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][in]", filterStatusIn)); + } + + if (filterStatusNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][not_in]", filterStatusNotIn)); + } + + if (filterPriorityEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][eq]", filterPriorityEq)); + } + + if (filterPriorityNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][not_eq]", filterPriorityNotEq)); + } + + if (filterPriorityIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][in]", filterPriorityIn)); + } + + if (filterPriorityNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][not_in]", filterPriorityNotIn)); + } + + if (filterAssignedToUserIdEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][eq]", filterAssignedToUserIdEq)); + } + + if (filterAssignedToUserIdNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][not_eq]", filterAssignedToUserIdNotEq)); + } + + if (filterAssignedToUserIdIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][in]", filterAssignedToUserIdIn)); + } + + if (filterAssignedToUserIdNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][not_in]", filterAssignedToUserIdNotIn)); + } + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listAllProblemActionItemsValidateBeforeCall(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String problemId, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn, final ApiCallback _callback) throws ApiException { + return listAllProblemActionItemsCall(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn, _callback); + + } + + /** + * List all problem action items + * List all problem action items the caller can access across the team, with filter, sort and pagination support + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param problemId (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @return ProblemActionItemList + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 excludes items from other teams -
404 problem-management feature flag disabled -
+ */ + public ProblemActionItemList listAllProblemActionItems(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String problemId, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn) throws ApiException { + ApiResponse localVarResp = listAllProblemActionItemsWithHttpInfo(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn); + return localVarResp.getData(); + } + + /** + * List all problem action items + * List all problem action items the caller can access across the team, with filter, sort and pagination support + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param problemId (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @return ApiResponse<ProblemActionItemList> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 excludes items from other teams -
404 problem-management feature flag disabled -
+ */ + public ApiResponse listAllProblemActionItemsWithHttpInfo(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String problemId, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn) throws ApiException { + okhttp3.Call localVarCall = listAllProblemActionItemsValidateBeforeCall(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List all problem action items (asynchronously) + * List all problem action items the caller can access across the team, with filter, sort and pagination support + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param problemId (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 excludes items from other teams -
404 problem-management feature flag disabled -
+ */ + public okhttp3.Call listAllProblemActionItemsAsync(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String problemId, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listAllProblemActionItemsValidateBeforeCall(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listProblemActionItems + * @param problemId (required) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public okhttp3.Call listProblemActionItemsCall(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problems/{problem_id}/action_items" + .replace("{" + "problem_id" + "}", localVarApiClient.escapeString(problemId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterDueDateGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][gt]", filterDueDateGt)); + } + + if (filterDueDateGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][gte]", filterDueDateGte)); + } + + if (filterDueDateLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][lt]", filterDueDateLt)); + } + + if (filterDueDateLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][lte]", filterDueDateLte)); + } + + if (filterCreatedAtGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); + } + + if (filterCreatedAtGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gte]", filterCreatedAtGte)); + } + + if (filterCreatedAtLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lt]", filterCreatedAtLt)); + } + + if (filterCreatedAtLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lte]", filterCreatedAtLte)); + } + + if (filterStatusEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][eq]", filterStatusEq)); + } + + if (filterStatusNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][not_eq]", filterStatusNotEq)); + } + + if (filterStatusIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][in]", filterStatusIn)); + } + + if (filterStatusNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][not_in]", filterStatusNotIn)); + } + + if (filterPriorityEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][eq]", filterPriorityEq)); + } + + if (filterPriorityNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][not_eq]", filterPriorityNotEq)); + } + + if (filterPriorityIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][in]", filterPriorityIn)); + } + + if (filterPriorityNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][not_in]", filterPriorityNotIn)); + } + + if (filterAssignedToUserIdEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][eq]", filterAssignedToUserIdEq)); + } + + if (filterAssignedToUserIdNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][not_eq]", filterAssignedToUserIdNotEq)); + } + + if (filterAssignedToUserIdIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][in]", filterAssignedToUserIdIn)); + } + + if (filterAssignedToUserIdNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[assigned_to_user_id][not_in]", filterAssignedToUserIdNotIn)); + } + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listProblemActionItemsValidateBeforeCall(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'problemId' is set + if (problemId == null) { + throw new ApiException("Missing the required parameter 'problemId' when calling listProblemActionItems(Async)"); + } + + return listProblemActionItemsCall(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn, _callback); + + } + + /** + * List a problem's action items + * List action items belonging to a problem, with filter, sort and pagination support + * @param problemId (required) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @return ProblemActionItemList + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public ProblemActionItemList listProblemActionItems(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn) throws ApiException { + ApiResponse localVarResp = listProblemActionItemsWithHttpInfo(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn); + return localVarResp.getData(); + } + + /** + * List a problem's action items + * List action items belonging to a problem, with filter, sort and pagination support + * @param problemId (required) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @return ApiResponse<ProblemActionItemList> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public ApiResponse listProblemActionItemsWithHttpInfo(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn) throws ApiException { + okhttp3.Call localVarCall = listProblemActionItemsValidateBeforeCall(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List a problem's action items (asynchronously) + * List action items belonging to a problem, with filter, sort and pagination support + * @param problemId (required) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param filterAssignedToUserIdEq (optional) + * @param filterAssignedToUserIdNotEq (optional) + * @param filterAssignedToUserIdIn (optional) + * @param filterAssignedToUserIdNotIn (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public okhttp3.Call listProblemActionItemsAsync(@jakarta.annotation.Nonnull String problemId, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, @jakarta.annotation.Nullable String filterAssignedToUserIdEq, @jakarta.annotation.Nullable String filterAssignedToUserIdNotEq, @jakarta.annotation.Nullable String filterAssignedToUserIdIn, @jakarta.annotation.Nullable String filterAssignedToUserIdNotIn, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listProblemActionItemsValidateBeforeCall(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateProblemActionItem + * @param id (required) + * @param updateProblemActionItem (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 problem action item updated -
+ */ + public okhttp3.Call updateProblemActionItemCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblemActionItem updateProblemActionItem, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = updateProblemActionItem; + + // create path and map variables + String localVarPath = "/v1/problem_action_items/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updateProblemActionItemValidateBeforeCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblemActionItem updateProblemActionItem, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling updateProblemActionItem(Async)"); + } + + // verify the required parameter 'updateProblemActionItem' is set + if (updateProblemActionItem == null) { + throw new ApiException("Missing the required parameter 'updateProblemActionItem' when calling updateProblemActionItem(Async)"); + } + + return updateProblemActionItemCall(id, updateProblemActionItem, _callback); + + } + + /** + * Update a problem action item + * Updates a problem action item + * @param id (required) + * @param updateProblemActionItem (required) + * @return ProblemActionItemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 problem action item updated -
+ */ + public ProblemActionItemResponse updateProblemActionItem(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblemActionItem updateProblemActionItem) throws ApiException { + ApiResponse localVarResp = updateProblemActionItemWithHttpInfo(id, updateProblemActionItem); + return localVarResp.getData(); + } + + /** + * Update a problem action item + * Updates a problem action item + * @param id (required) + * @param updateProblemActionItem (required) + * @return ApiResponse<ProblemActionItemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 problem action item updated -
+ */ + public ApiResponse updateProblemActionItemWithHttpInfo(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblemActionItem updateProblemActionItem) throws ApiException { + okhttp3.Call localVarCall = updateProblemActionItemValidateBeforeCall(id, updateProblemActionItem, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update a problem action item (asynchronously) + * Updates a problem action item + * @param id (required) + * @param updateProblemActionItem (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 problem action item updated -
+ */ + public okhttp3.Call updateProblemActionItemAsync(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblemActionItem updateProblemActionItem, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateProblemActionItemValidateBeforeCall(id, updateProblemActionItem, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/ProblemsApi.java b/src/main/java/com/rootly/client/api/ProblemsApi.java new file mode 100644 index 00000000..82901d2a --- /dev/null +++ b/src/main/java/com/rootly/client/api/ProblemsApi.java @@ -0,0 +1,1217 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiCallback; +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.ApiResponse; +import com.rootly.client.Configuration; +import com.rootly.client.Pair; +import com.rootly.client.ProgressRequestBody; +import com.rootly.client.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.LinkIncidents; +import com.rootly.client.model.NewProblem; +import com.rootly.client.model.ProblemList; +import com.rootly.client.model.ProblemResponse; +import com.rootly.client.model.UpdateProblem; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ProblemsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public ProblemsApi() { + this(Configuration.getDefaultApiClient()); + } + + public ProblemsApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for createProblem + * @param newProblem (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createProblemCall(@jakarta.annotation.Nonnull NewProblem newProblem, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = newProblem; + + // create path and map variables + String localVarPath = "/v1/problems"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createProblemValidateBeforeCall(@jakarta.annotation.Nonnull NewProblem newProblem, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newProblem' is set + if (newProblem == null) { + throw new ApiException("Missing the required parameter 'newProblem' when calling createProblem(Async)"); + } + + return createProblemCall(newProblem, _callback); + + } + + /** + * Creates a problem + * Creates a new problem from provided data + * @param newProblem (required) + * @return ProblemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ProblemResponse createProblem(@jakarta.annotation.Nonnull NewProblem newProblem) throws ApiException { + ApiResponse localVarResp = createProblemWithHttpInfo(newProblem); + return localVarResp.getData(); + } + + /** + * Creates a problem + * Creates a new problem from provided data + * @param newProblem (required) + * @return ApiResponse<ProblemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createProblemWithHttpInfo(@jakarta.annotation.Nonnull NewProblem newProblem) throws ApiException { + okhttp3.Call localVarCall = createProblemValidateBeforeCall(newProblem, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a problem (asynchronously) + * Creates a new problem from provided data + * @param newProblem (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
201 problem created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createProblemAsync(@jakarta.annotation.Nonnull NewProblem newProblem, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createProblemValidateBeforeCall(newProblem, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteProblem + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem deleted -
404 problem not found -
+ */ + public okhttp3.Call deleteProblemCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problems/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deleteProblemValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling deleteProblem(Async)"); + } + + return deleteProblemCall(id, _callback); + + } + + /** + * Deletes a problem + * Soft-deletes a problem + * @param id (required) + * @return ProblemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem deleted -
404 problem not found -
+ */ + public ProblemResponse deleteProblem(@jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteProblemWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Deletes a problem + * Soft-deletes a problem + * @param id (required) + * @return ApiResponse<ProblemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem deleted -
404 problem not found -
+ */ + public ApiResponse deleteProblemWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteProblemValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Deletes a problem (asynchronously) + * Soft-deletes a problem + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 problem deleted -
404 problem not found -
+ */ + public okhttp3.Call deleteProblemAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteProblemValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getProblem + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 linked incidents hidden without incident read permission -
404 problem belongs to another team -
+ */ + public okhttp3.Call getProblemCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problems/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getProblemValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling getProblem(Async)"); + } + + return getProblemCall(id, _callback); + + } + + /** + * Retrieves a problem + * API callers lacking access to the problem's team receive an error. The API deliberately returns 404 rather than 403 so existence is not leaked. + * @param id (required) + * @return ProblemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 linked incidents hidden without incident read permission -
404 problem belongs to another team -
+ */ + public ProblemResponse getProblem(@jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getProblemWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves a problem + * API callers lacking access to the problem's team receive an error. The API deliberately returns 404 rather than 403 so existence is not leaked. + * @param id (required) + * @return ApiResponse<ProblemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 linked incidents hidden without incident read permission -
404 problem belongs to another team -
+ */ + public ApiResponse getProblemWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getProblemValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves a problem (asynchronously) + * API callers lacking access to the problem's team receive an error. The API deliberately returns 404 rather than 403 so existence is not leaked. + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 linked incidents hidden without incident read permission -
404 problem belongs to another team -
+ */ + public okhttp3.Call getProblemAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getProblemValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for linkProblemIncidents + * @param id (required) + * @param linkIncidents (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 incident linked -
400 incident_id missing -
404 incident not found or inaccessible -
+ */ + public okhttp3.Call linkProblemIncidentsCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull LinkIncidents linkIncidents, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = linkIncidents; + + // create path and map variables + String localVarPath = "/v1/problems/{id}/incidents" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call linkProblemIncidentsValidateBeforeCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull LinkIncidents linkIncidents, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling linkProblemIncidents(Async)"); + } + + // verify the required parameter 'linkIncidents' is set + if (linkIncidents == null) { + throw new ApiException("Missing the required parameter 'linkIncidents' when calling linkProblemIncidents(Async)"); + } + + return linkProblemIncidentsCall(id, linkIncidents, _callback); + + } + + /** + * Links incidents to a problem + * Links one or more incidents to a problem. Accepts `incident_id` (single) or `incident_ids` (array). + * @param id (required) + * @param linkIncidents (required) + * @return ProblemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 incident linked -
400 incident_id missing -
404 incident not found or inaccessible -
+ */ + public ProblemResponse linkProblemIncidents(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull LinkIncidents linkIncidents) throws ApiException { + ApiResponse localVarResp = linkProblemIncidentsWithHttpInfo(id, linkIncidents); + return localVarResp.getData(); + } + + /** + * Links incidents to a problem + * Links one or more incidents to a problem. Accepts `incident_id` (single) or `incident_ids` (array). + * @param id (required) + * @param linkIncidents (required) + * @return ApiResponse<ProblemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 incident linked -
400 incident_id missing -
404 incident not found or inaccessible -
+ */ + public ApiResponse linkProblemIncidentsWithHttpInfo(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull LinkIncidents linkIncidents) throws ApiException { + okhttp3.Call localVarCall = linkProblemIncidentsValidateBeforeCall(id, linkIncidents, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Links incidents to a problem (asynchronously) + * Links one or more incidents to a problem. Accepts `incident_id` (single) or `incident_ids` (array). + * @param id (required) + * @param linkIncidents (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 incident linked -
400 incident_id missing -
404 incident not found or inaccessible -
+ */ + public okhttp3.Call linkProblemIncidentsAsync(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull LinkIncidents linkIncidents, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = linkProblemIncidentsValidateBeforeCall(id, linkIncidents, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listProblems + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterOwnerUserId (optional) + * @param filterOwnerGroupId (optional) + * @param filterCreatedByUserId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 sorted by incidents_count with incident read permission -
400 incidents_count sort rejected without incident read permission -
404 problem-management feature flag disabled -
+ */ + public okhttp3.Call listProblemsCall(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable Integer filterOwnerUserId, @jakarta.annotation.Nullable String filterOwnerGroupId, @jakarta.annotation.Nullable Integer filterCreatedByUserId, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problems"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterOwnerUserId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[owner_user_id]", filterOwnerUserId)); + } + + if (filterOwnerGroupId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[owner_group_id]", filterOwnerGroupId)); + } + + if (filterCreatedByUserId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_by_user_id]", filterCreatedByUserId)); + } + + if (filterCreatedAtGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); + } + + if (filterCreatedAtGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gte]", filterCreatedAtGte)); + } + + if (filterCreatedAtLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lt]", filterCreatedAtLt)); + } + + if (filterCreatedAtLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lte]", filterCreatedAtLte)); + } + + if (filterDueDateGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][gt]", filterDueDateGt)); + } + + if (filterDueDateGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][gte]", filterDueDateGte)); + } + + if (filterDueDateLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][lt]", filterDueDateLt)); + } + + if (filterDueDateLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[due_date][lte]", filterDueDateLte)); + } + + if (filterStatusEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][eq]", filterStatusEq)); + } + + if (filterStatusNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][not_eq]", filterStatusNotEq)); + } + + if (filterStatusIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][in]", filterStatusIn)); + } + + if (filterStatusNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status][not_in]", filterStatusNotIn)); + } + + if (filterPriorityEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][eq]", filterPriorityEq)); + } + + if (filterPriorityNotEq != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][not_eq]", filterPriorityNotEq)); + } + + if (filterPriorityIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][in]", filterPriorityIn)); + } + + if (filterPriorityNotIn != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[priority][not_in]", filterPriorityNotIn)); + } + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listProblemsValidateBeforeCall(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable Integer filterOwnerUserId, @jakarta.annotation.Nullable String filterOwnerGroupId, @jakarta.annotation.Nullable Integer filterCreatedByUserId, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, final ApiCallback _callback) throws ApiException { + return listProblemsCall(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, _callback); + + } + + /** + * List problems + * Sorting by incidents_count would let callers without incident read infer relative hidden incident counts, so it is rejected. + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterOwnerUserId (optional) + * @param filterOwnerGroupId (optional) + * @param filterCreatedByUserId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @return ProblemList + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 sorted by incidents_count with incident read permission -
400 incidents_count sort rejected without incident read permission -
404 problem-management feature flag disabled -
+ */ + public ProblemList listProblems(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable Integer filterOwnerUserId, @jakarta.annotation.Nullable String filterOwnerGroupId, @jakarta.annotation.Nullable Integer filterCreatedByUserId, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn) throws ApiException { + ApiResponse localVarResp = listProblemsWithHttpInfo(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn); + return localVarResp.getData(); + } + + /** + * List problems + * Sorting by incidents_count would let callers without incident read infer relative hidden incident counts, so it is rejected. + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterOwnerUserId (optional) + * @param filterOwnerGroupId (optional) + * @param filterCreatedByUserId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @return ApiResponse<ProblemList> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 sorted by incidents_count with incident read permission -
400 incidents_count sort rejected without incident read permission -
404 problem-management feature flag disabled -
+ */ + public ApiResponse listProblemsWithHttpInfo(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable Integer filterOwnerUserId, @jakarta.annotation.Nullable String filterOwnerGroupId, @jakarta.annotation.Nullable Integer filterCreatedByUserId, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn) throws ApiException { + okhttp3.Call localVarCall = listProblemsValidateBeforeCall(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List problems (asynchronously) + * Sorting by incidents_count would let callers without incident read infer relative hidden incident counts, so it is rejected. + * @param pageNumber (optional) + * @param pageSize (optional) + * @param sort (optional) + * @param filterSearch (optional) + * @param filterOwnerUserId (optional) + * @param filterOwnerGroupId (optional) + * @param filterCreatedByUserId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param filterDueDateGt (optional) + * @param filterDueDateGte (optional) + * @param filterDueDateLt (optional) + * @param filterDueDateLte (optional) + * @param filterStatusEq (optional) + * @param filterStatusNotEq (optional) + * @param filterStatusIn (optional) + * @param filterStatusNotIn (optional) + * @param filterPriorityEq (optional) + * @param filterPriorityNotEq (optional) + * @param filterPriorityIn (optional) + * @param filterPriorityNotIn (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 sorted by incidents_count with incident read permission -
400 incidents_count sort rejected without incident read permission -
404 problem-management feature flag disabled -
+ */ + public okhttp3.Call listProblemsAsync(@jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, @jakarta.annotation.Nullable String sort, @jakarta.annotation.Nullable String filterSearch, @jakarta.annotation.Nullable Integer filterOwnerUserId, @jakarta.annotation.Nullable String filterOwnerGroupId, @jakarta.annotation.Nullable Integer filterCreatedByUserId, @jakarta.annotation.Nullable String filterCreatedAtGt, @jakarta.annotation.Nullable String filterCreatedAtGte, @jakarta.annotation.Nullable String filterCreatedAtLt, @jakarta.annotation.Nullable String filterCreatedAtLte, @jakarta.annotation.Nullable String filterDueDateGt, @jakarta.annotation.Nullable String filterDueDateGte, @jakarta.annotation.Nullable String filterDueDateLt, @jakarta.annotation.Nullable String filterDueDateLte, @jakarta.annotation.Nullable String filterStatusEq, @jakarta.annotation.Nullable String filterStatusNotEq, @jakarta.annotation.Nullable String filterStatusIn, @jakarta.annotation.Nullable String filterStatusNotIn, @jakarta.annotation.Nullable String filterPriorityEq, @jakarta.annotation.Nullable String filterPriorityNotEq, @jakarta.annotation.Nullable String filterPriorityIn, @jakarta.annotation.Nullable String filterPriorityNotIn, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listProblemsValidateBeforeCall(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for unlinkProblemIncident + * @param id (required) + * @param incidentId (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 incident unlinked -
404 incident not linked -
+ */ + public okhttp3.Call unlinkProblemIncidentCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull String incidentId, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/problems/{id}/incidents/{incident_id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())) + .replace("{" + "incident_id" + "}", localVarApiClient.escapeString(incidentId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call unlinkProblemIncidentValidateBeforeCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull String incidentId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling unlinkProblemIncident(Async)"); + } + + // verify the required parameter 'incidentId' is set + if (incidentId == null) { + throw new ApiException("Missing the required parameter 'incidentId' when calling unlinkProblemIncident(Async)"); + } + + return unlinkProblemIncidentCall(id, incidentId, _callback); + + } + + /** + * Unlinks an incident from a problem + * Unlinks an incident from a problem + * @param id (required) + * @param incidentId (required) + * @return ProblemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 incident unlinked -
404 incident not linked -
+ */ + public ProblemResponse unlinkProblemIncident(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull String incidentId) throws ApiException { + ApiResponse localVarResp = unlinkProblemIncidentWithHttpInfo(id, incidentId); + return localVarResp.getData(); + } + + /** + * Unlinks an incident from a problem + * Unlinks an incident from a problem + * @param id (required) + * @param incidentId (required) + * @return ApiResponse<ProblemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 incident unlinked -
404 incident not linked -
+ */ + public ApiResponse unlinkProblemIncidentWithHttpInfo(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull String incidentId) throws ApiException { + okhttp3.Call localVarCall = unlinkProblemIncidentValidateBeforeCall(id, incidentId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Unlinks an incident from a problem (asynchronously) + * Unlinks an incident from a problem + * @param id (required) + * @param incidentId (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 incident unlinked -
404 incident not linked -
+ */ + public okhttp3.Call unlinkProblemIncidentAsync(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull String incidentId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = unlinkProblemIncidentValidateBeforeCall(id, incidentId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateProblem + * @param id (required) + * @param updateProblem (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 status transition applies other fields atomically -
422 failed transition does not persist other fields -
404 problem not found -
+ */ + public okhttp3.Call updateProblemCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblem updateProblem, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = updateProblem; + + // create path and map variables + String localVarPath = "/v1/problems/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updateProblemValidateBeforeCall(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblem updateProblem, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling updateProblem(Async)"); + } + + // verify the required parameter 'updateProblem' is set + if (updateProblem == null) { + throw new ApiException("Missing the required parameter 'updateProblem' when calling updateProblem(Async)"); + } + + return updateProblemCall(id, updateProblem, _callback); + + } + + /** + * Update a problem + * When a status transition fails validation, accompanying field updates roll back with it. + * @param id (required) + * @param updateProblem (required) + * @return ProblemResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 status transition applies other fields atomically -
422 failed transition does not persist other fields -
404 problem not found -
+ */ + public ProblemResponse updateProblem(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblem updateProblem) throws ApiException { + ApiResponse localVarResp = updateProblemWithHttpInfo(id, updateProblem); + return localVarResp.getData(); + } + + /** + * Update a problem + * When a status transition fails validation, accompanying field updates roll back with it. + * @param id (required) + * @param updateProblem (required) + * @return ApiResponse<ProblemResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 status transition applies other fields atomically -
422 failed transition does not persist other fields -
404 problem not found -
+ */ + public ApiResponse updateProblemWithHttpInfo(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblem updateProblem) throws ApiException { + okhttp3.Call localVarCall = updateProblemValidateBeforeCall(id, updateProblem, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update a problem (asynchronously) + * When a status transition fails validation, accompanying field updates roll back with it. + * @param id (required) + * @param updateProblem (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 status transition applies other fields atomically -
422 failed transition does not persist other fields -
404 problem not found -
+ */ + public okhttp3.Call updateProblemAsync(@jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateProblem updateProblem, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateProblemValidateBeforeCall(id, updateProblem, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/ShiftCoverageRequestsApi.java b/src/main/java/com/rootly/client/api/ShiftCoverageRequestsApi.java index 5d4e1300..1abdf72e 100644 --- a/src/main/java/com/rootly/client/api/ShiftCoverageRequestsApi.java +++ b/src/main/java/com/rootly/client/api/ShiftCoverageRequestsApi.java @@ -154,7 +154,7 @@ private okhttp3.Call createShiftCoverageRequestValidateBeforeCall(@jakarta.annot /** * creates shift coverage requests - * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift. + * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift, or targets recipient_user_ids when targeted-shift-coverage is enabled. * @param scheduleId (required) * @param newShiftCoverageRequest (required) * @return ShiftCoverageRequestList @@ -174,7 +174,7 @@ public ShiftCoverageRequestList createShiftCoverageRequest(@jakarta.annotation.N /** * creates shift coverage requests - * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift. + * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift, or targets recipient_user_ids when targeted-shift-coverage is enabled. * @param scheduleId (required) * @param newShiftCoverageRequest (required) * @return ApiResponse<ShiftCoverageRequestList> @@ -195,7 +195,7 @@ public ApiResponse createShiftCoverageRequestWithHttpI /** * creates shift coverage requests (asynchronously) - * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift. + * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift, or targets recipient_user_ids when targeted-shift-coverage is enabled. * @param scheduleId (required) * @param newShiftCoverageRequest (required) * @param _callback The callback to be executed when the API call finishes diff --git a/src/main/java/com/rootly/client/api/ShiftsApi.java b/src/main/java/com/rootly/client/api/ShiftsApi.java index 6ffc5ae4..8f9e5bbc 100644 --- a/src/main/java/com/rootly/client/api/ShiftsApi.java +++ b/src/main/java/com/rootly/client/api/ShiftsApi.java @@ -223,8 +223,8 @@ public okhttp3.Call getScheduleShiftsAsync(@jakarta.annotation.Nonnull String id /** * Build call for listShifts * @param include comma separated if needed. eg: shift_override,user. Note: `user` is deprecated, use `assignee` instead. (optional) - * @param from Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) - * @param to End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) + * @param from Start range for shifts in ISO-8601 format. When omitted with `to`, defaults to `to` for a point-in-time lookup; when both bounds are omitted, defaults to the current time through one month ahead. (optional) + * @param to End range for shifts in ISO-8601 format. When omitted with `from`, defaults to `from`; when both bounds are omitted, defaults to the current time through one month ahead. (optional) * @param userIds (optional) * @param scheduleIds (optional) * @param pageNumber Page number (defaults to 1) (optional) @@ -322,8 +322,8 @@ private okhttp3.Call listShiftsValidateBeforeCall(@jakarta.annotation.Nullable S * List shifts * List shifts * @param include comma separated if needed. eg: shift_override,user. Note: `user` is deprecated, use `assignee` instead. (optional) - * @param from Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) - * @param to End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) + * @param from Start range for shifts in ISO-8601 format. When omitted with `to`, defaults to `to` for a point-in-time lookup; when both bounds are omitted, defaults to the current time through one month ahead. (optional) + * @param to End range for shifts in ISO-8601 format. When omitted with `from`, defaults to `from`; when both bounds are omitted, defaults to the current time through one month ahead. (optional) * @param userIds (optional) * @param scheduleIds (optional) * @param pageNumber Page number (defaults to 1) (optional) @@ -347,8 +347,8 @@ public ShiftList listShifts(@jakarta.annotation.Nullable String include, @jakart * List shifts * List shifts * @param include comma separated if needed. eg: shift_override,user. Note: `user` is deprecated, use `assignee` instead. (optional) - * @param from Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) - * @param to End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) + * @param from Start range for shifts in ISO-8601 format. When omitted with `to`, defaults to `to` for a point-in-time lookup; when both bounds are omitted, defaults to the current time through one month ahead. (optional) + * @param to End range for shifts in ISO-8601 format. When omitted with `from`, defaults to `from`; when both bounds are omitted, defaults to the current time through one month ahead. (optional) * @param userIds (optional) * @param scheduleIds (optional) * @param pageNumber Page number (defaults to 1) (optional) @@ -373,8 +373,8 @@ public ApiResponse listShiftsWithHttpInfo(@jakarta.annotation.Nullabl * List shifts (asynchronously) * List shifts * @param include comma separated if needed. eg: shift_override,user. Note: `user` is deprecated, use `assignee` instead. (optional) - * @param from Start range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) - * @param to End range for shifts in ISO-8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01T00:00:00+00:00) (optional) + * @param from Start range for shifts in ISO-8601 format. When omitted with `to`, defaults to `to` for a point-in-time lookup; when both bounds are omitted, defaults to the current time through one month ahead. (optional) + * @param to End range for shifts in ISO-8601 format. When omitted with `from`, defaults to `from`; when both bounds are omitted, defaults to the current time through one month ahead. (optional) * @param userIds (optional) * @param scheduleIds (optional) * @param pageNumber Page number (defaults to 1) (optional) diff --git a/src/main/java/com/rootly/client/api/StatusPageTeamsApi.java b/src/main/java/com/rootly/client/api/StatusPageTeamsApi.java new file mode 100644 index 00000000..34b98a61 --- /dev/null +++ b/src/main/java/com/rootly/client/api/StatusPageTeamsApi.java @@ -0,0 +1,812 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiCallback; +import com.rootly.client.ApiClient; +import com.rootly.client.ApiException; +import com.rootly.client.ApiResponse; +import com.rootly.client.Configuration; +import com.rootly.client.Pair; +import com.rootly.client.ProgressRequestBody; +import com.rootly.client.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewStatusPageTeam; +import com.rootly.client.model.StatusPageTeamList; +import com.rootly.client.model.StatusPageTeamResponse; +import com.rootly.client.model.UpdateStatusPageTeam; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class StatusPageTeamsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public StatusPageTeamsApi() { + this(Configuration.getDefaultApiClient()); + } + + public StatusPageTeamsApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for createStatusPageTeam + * @param statusPageId (required) + * @param newStatusPageTeam (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
201 status page team assignment created -
422 team is already assigned -
404 caller is not an owner or admin -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createStatusPageTeamCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull NewStatusPageTeam newStatusPageTeam, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = newStatusPageTeam; + + // create path and map variables + String localVarPath = "/v1/status-pages/{status_page_id}/teams" + .replace("{" + "status_page_id" + "}", localVarApiClient.escapeString(statusPageId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call createStatusPageTeamValidateBeforeCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull NewStatusPageTeam newStatusPageTeam, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'statusPageId' is set + if (statusPageId == null) { + throw new ApiException("Missing the required parameter 'statusPageId' when calling createStatusPageTeam(Async)"); + } + + // verify the required parameter 'newStatusPageTeam' is set + if (newStatusPageTeam == null) { + throw new ApiException("Missing the required parameter 'newStatusPageTeam' when calling createStatusPageTeam(Async)"); + } + + return createStatusPageTeamCall(statusPageId, newStatusPageTeam, _callback); + + } + + /** + * Grants a team access to a status page + * Assigns a team to a status page. Members of the team get the chosen permission level on that page in addition to their role. Requires an owner or admin role. + * @param statusPageId (required) + * @param newStatusPageTeam (required) + * @return StatusPageTeamResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
201 status page team assignment created -
422 team is already assigned -
404 caller is not an owner or admin -
401 responds with unauthorized for invalid token -
+ */ + public StatusPageTeamResponse createStatusPageTeam(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull NewStatusPageTeam newStatusPageTeam) throws ApiException { + ApiResponse localVarResp = createStatusPageTeamWithHttpInfo(statusPageId, newStatusPageTeam); + return localVarResp.getData(); + } + + /** + * Grants a team access to a status page + * Assigns a team to a status page. Members of the team get the chosen permission level on that page in addition to their role. Requires an owner or admin role. + * @param statusPageId (required) + * @param newStatusPageTeam (required) + * @return ApiResponse<StatusPageTeamResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
201 status page team assignment created -
422 team is already assigned -
404 caller is not an owner or admin -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createStatusPageTeamWithHttpInfo(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull NewStatusPageTeam newStatusPageTeam) throws ApiException { + okhttp3.Call localVarCall = createStatusPageTeamValidateBeforeCall(statusPageId, newStatusPageTeam, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Grants a team access to a status page (asynchronously) + * Assigns a team to a status page. Members of the team get the chosen permission level on that page in addition to their role. Requires an owner or admin role. + * @param statusPageId (required) + * @param newStatusPageTeam (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + + +
Response Details
Status Code Description Response Headers
201 status page team assignment created -
422 team is already assigned -
404 caller is not an owner or admin -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createStatusPageTeamAsync(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull NewStatusPageTeam newStatusPageTeam, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createStatusPageTeamValidateBeforeCall(statusPageId, newStatusPageTeam, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteStatusPageTeam + * @param statusPageId (required) + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment deleted -
404 resource not found -
+ */ + public okhttp3.Call deleteStatusPageTeamCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/status-pages/{status_page_id}/teams/{id}" + .replace("{" + "status_page_id" + "}", localVarApiClient.escapeString(statusPageId.toString())) + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call deleteStatusPageTeamValidateBeforeCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'statusPageId' is set + if (statusPageId == null) { + throw new ApiException("Missing the required parameter 'statusPageId' when calling deleteStatusPageTeam(Async)"); + } + + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling deleteStatusPageTeam(Async)"); + } + + return deleteStatusPageTeamCall(statusPageId, id, _callback); + + } + + /** + * Removes a team's access to a status page + * Removes a team from a status page. Its members lose the page access the assignment granted on their next request. Requires an owner or admin role. + * @param statusPageId (required) + * @param id (required) + * @return StatusPageTeamResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment deleted -
404 resource not found -
+ */ + public StatusPageTeamResponse deleteStatusPageTeam(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteStatusPageTeamWithHttpInfo(statusPageId, id); + return localVarResp.getData(); + } + + /** + * Removes a team's access to a status page + * Removes a team from a status page. Its members lose the page access the assignment granted on their next request. Requires an owner or admin role. + * @param statusPageId (required) + * @param id (required) + * @return ApiResponse<StatusPageTeamResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment deleted -
404 resource not found -
+ */ + public ApiResponse deleteStatusPageTeamWithHttpInfo(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteStatusPageTeamValidateBeforeCall(statusPageId, id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Removes a team's access to a status page (asynchronously) + * Removes a team from a status page. Its members lose the page access the assignment granted on their next request. Requires an owner or admin role. + * @param statusPageId (required) + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment deleted -
404 resource not found -
+ */ + public okhttp3.Call deleteStatusPageTeamAsync(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteStatusPageTeamValidateBeforeCall(statusPageId, id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getStatusPageTeam + * @param statusPageId (required) + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment found -
404 resource not found -
+ */ + public okhttp3.Call getStatusPageTeamCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/status-pages/{status_page_id}/teams/{id}" + .replace("{" + "status_page_id" + "}", localVarApiClient.escapeString(statusPageId.toString())) + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call getStatusPageTeamValidateBeforeCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'statusPageId' is set + if (statusPageId == null) { + throw new ApiException("Missing the required parameter 'statusPageId' when calling getStatusPageTeam(Async)"); + } + + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling getStatusPageTeam(Async)"); + } + + return getStatusPageTeamCall(statusPageId, id, _callback); + + } + + /** + * Retrieves a status page team assignment + * Retrieves a specific status page team assignment by id + * @param statusPageId (required) + * @param id (required) + * @return StatusPageTeamResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment found -
404 resource not found -
+ */ + public StatusPageTeamResponse getStatusPageTeam(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getStatusPageTeamWithHttpInfo(statusPageId, id); + return localVarResp.getData(); + } + + /** + * Retrieves a status page team assignment + * Retrieves a specific status page team assignment by id + * @param statusPageId (required) + * @param id (required) + * @return ApiResponse<StatusPageTeamResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment found -
404 resource not found -
+ */ + public ApiResponse getStatusPageTeamWithHttpInfo(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getStatusPageTeamValidateBeforeCall(statusPageId, id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves a status page team assignment (asynchronously) + * Retrieves a specific status page team assignment by id + * @param statusPageId (required) + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment found -
404 resource not found -
+ */ + public okhttp3.Call getStatusPageTeamAsync(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getStatusPageTeamValidateBeforeCall(statusPageId, id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listStatusPageTeams + * @param statusPageId (required) + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public okhttp3.Call listStatusPageTeamsCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nullable String include, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/status-pages/{status_page_id}/teams" + .replace("{" + "status_page_id" + "}", localVarApiClient.escapeString(statusPageId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (include != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call listStatusPageTeamsValidateBeforeCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nullable String include, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'statusPageId' is set + if (statusPageId == null) { + throw new ApiException("Missing the required parameter 'statusPageId' when calling listStatusPageTeams(Async)"); + } + + return listStatusPageTeamsCall(statusPageId, include, pageNumber, pageSize, _callback); + + } + + /** + * Lists the teams with access to a status page + * Lists the teams assigned to a status page, oldest first + * @param statusPageId (required) + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @return StatusPageTeamList + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public StatusPageTeamList listStatusPageTeams(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nullable String include, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize) throws ApiException { + ApiResponse localVarResp = listStatusPageTeamsWithHttpInfo(statusPageId, include, pageNumber, pageSize); + return localVarResp.getData(); + } + + /** + * Lists the teams with access to a status page + * Lists the teams assigned to a status page, oldest first + * @param statusPageId (required) + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @return ApiResponse<StatusPageTeamList> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public ApiResponse listStatusPageTeamsWithHttpInfo(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nullable String include, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize) throws ApiException { + okhttp3.Call localVarCall = listStatusPageTeamsValidateBeforeCall(statusPageId, include, pageNumber, pageSize, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Lists the teams with access to a status page (asynchronously) + * Lists the teams assigned to a status page, oldest first + * @param statusPageId (required) + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + +
Response Details
Status Code Description Response Headers
200 success -
+ */ + public okhttp3.Call listStatusPageTeamsAsync(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nullable String include, @jakarta.annotation.Nullable Integer pageNumber, @jakarta.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listStatusPageTeamsValidateBeforeCall(statusPageId, include, pageNumber, pageSize, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateStatusPageTeam + * @param statusPageId (required) + * @param id (required) + * @param updateStatusPageTeam (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment updated -
404 resource not found -
+ */ + public okhttp3.Call updateStatusPageTeamCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateStatusPageTeam updateStatusPageTeam, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = updateStatusPageTeam; + + // create path and map variables + String localVarPath = "/v1/status-pages/{status_page_id}/teams/{id}" + .replace("{" + "status_page_id" + "}", localVarApiClient.escapeString(statusPageId.toString())) + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/vnd.api+json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/vnd.api+json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call updateStatusPageTeamValidateBeforeCall(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateStatusPageTeam updateStatusPageTeam, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'statusPageId' is set + if (statusPageId == null) { + throw new ApiException("Missing the required parameter 'statusPageId' when calling updateStatusPageTeam(Async)"); + } + + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling updateStatusPageTeam(Async)"); + } + + // verify the required parameter 'updateStatusPageTeam' is set + if (updateStatusPageTeam == null) { + throw new ApiException("Missing the required parameter 'updateStatusPageTeam' when calling updateStatusPageTeam(Async)"); + } + + return updateStatusPageTeamCall(statusPageId, id, updateStatusPageTeam, _callback); + + } + + /** + * Updates a status page team assignment + * Changes the permission level of a team on a status page. Requires an owner or admin role. To move the grant to another team, delete it and create a new one. + * @param statusPageId (required) + * @param id (required) + * @param updateStatusPageTeam (required) + * @return StatusPageTeamResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment updated -
404 resource not found -
+ */ + public StatusPageTeamResponse updateStatusPageTeam(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateStatusPageTeam updateStatusPageTeam) throws ApiException { + ApiResponse localVarResp = updateStatusPageTeamWithHttpInfo(statusPageId, id, updateStatusPageTeam); + return localVarResp.getData(); + } + + /** + * Updates a status page team assignment + * Changes the permission level of a team on a status page. Requires an owner or admin role. To move the grant to another team, delete it and create a new one. + * @param statusPageId (required) + * @param id (required) + * @param updateStatusPageTeam (required) + * @return ApiResponse<StatusPageTeamResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment updated -
404 resource not found -
+ */ + public ApiResponse updateStatusPageTeamWithHttpInfo(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateStatusPageTeam updateStatusPageTeam) throws ApiException { + okhttp3.Call localVarCall = updateStatusPageTeamValidateBeforeCall(statusPageId, id, updateStatusPageTeam, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Updates a status page team assignment (asynchronously) + * Changes the permission level of a team on a status page. Requires an owner or admin role. To move the grant to another team, delete it and create a new one. + * @param statusPageId (required) + * @param id (required) + * @param updateStatusPageTeam (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 status page team assignment updated -
404 resource not found -
+ */ + public okhttp3.Call updateStatusPageTeamAsync(@jakarta.annotation.Nonnull String statusPageId, @jakarta.annotation.Nonnull String id, @jakarta.annotation.Nonnull UpdateStatusPageTeam updateStatusPageTeam, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateStatusPageTeamValidateBeforeCall(statusPageId, id, updateStatusPageTeam, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/TeamsApi.java b/src/main/java/com/rootly/client/api/TeamsApi.java index 6f904ab7..a1502adb 100644 --- a/src/main/java/com/rootly/client/api/TeamsApi.java +++ b/src/main/java/com/rootly/client/api/TeamsApi.java @@ -233,6 +233,7 @@ public okhttp3.Call bulkDeleteGroupsAsync(@jakarta.annotation.Nonnull BulkDestro Response Details Status Code Description Response Headers 200 records upserted successfully - + 403 feature not enabled for the organization - 422 validation or record-level error - 401 unauthorized - @@ -304,6 +305,7 @@ private okhttp3.Call bulkUpsertGroupsValidateBeforeCall(@jakarta.annotation.Nonn Response Details Status Code Description Response Headers 200 records upserted successfully - + 403 feature not enabled for the organization - 422 validation or record-level error - 401 unauthorized - @@ -324,6 +326,7 @@ public BulkUpsertTeamsResponse bulkUpsertGroups(@jakarta.annotation.Nonnull Bulk Response Details Status Code Description Response Headers 200 records upserted successfully - + 403 feature not enabled for the organization - 422 validation or record-level error - 401 unauthorized - @@ -346,6 +349,7 @@ public ApiResponse bulkUpsertGroupsWithHttpInfo(@jakart Response Details Status Code Description Response Headers 200 records upserted successfully - + 403 feature not enabled for the organization - 422 validation or record-level error - 401 unauthorized - @@ -503,6 +507,7 @@ public okhttp3.Call createGroupCatalogPropertyAsync(@jakarta.annotation.Nonnull Response Details Status Code Description Response Headers 201 team created - + 403 feature not enabled for the organization - 422 invalid association - 401 responds with unauthorized for invalid token - @@ -574,6 +579,7 @@ private okhttp3.Call createTeamValidateBeforeCall(@jakarta.annotation.Nonnull Ne Response Details Status Code Description Response Headers 201 team created - + 403 feature not enabled for the organization - 422 invalid association - 401 responds with unauthorized for invalid token - @@ -594,6 +600,7 @@ public TeamResponse createTeam(@jakarta.annotation.Nonnull NewTeam newTeam) thro Response Details Status Code Description Response Headers 201 team created - + 403 feature not enabled for the organization - 422 invalid association - 401 responds with unauthorized for invalid token - @@ -616,6 +623,7 @@ public ApiResponse createTeamWithHttpInfo(@jakarta.annotation.Nonn Response Details Status Code Description Response Headers 201 team created - + 403 feature not enabled for the organization - 422 invalid association - 401 responds with unauthorized for invalid token - @@ -1679,6 +1687,7 @@ public okhttp3.Call listTeamsAsync(@jakarta.annotation.Nullable String include, Response Details Status Code Description Response Headers 200 team updated - + 403 feature not enabled for the organization - 404 resource not found - */ @@ -1756,6 +1765,7 @@ private okhttp3.Call updateTeamValidateBeforeCall(@jakarta.annotation.Nonnull Ge Response Details Status Code Description Response Headers 200 team updated - + 403 feature not enabled for the organization - 404 resource not found - */ @@ -1776,6 +1786,7 @@ public TeamResponse updateTeam(@jakarta.annotation.Nonnull GetTeamIdParameter id Response Details Status Code Description Response Headers 200 team updated - + 403 feature not enabled for the organization - 404 resource not found - */ @@ -1798,6 +1809,7 @@ public ApiResponse updateTeamWithHttpInfo(@jakarta.annotation.Nonn Response Details Status Code Description Response Headers 200 team updated - + 403 feature not enabled for the organization - 404 resource not found - */ diff --git a/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java b/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java index e61183d3..8b1285ee 100644 --- a/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java +++ b/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java @@ -32,6 +32,8 @@ import com.rootly.client.model.UpdateUserPhoneNumber; import com.rootly.client.model.UserPhoneNumberList; import com.rootly.client.model.UserPhoneNumberResponse; +import com.rootly.client.model.VerifyUserPhoneNumber200Response; +import com.rootly.client.model.VerifyUserPhoneNumber429Response; import java.lang.reflect.Type; import java.util.ArrayList; @@ -499,6 +501,137 @@ public okhttp3.Call getUserPhoneNumbersAsync(@jakarta.annotation.Nonnull String localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for resendVerificationUserPhoneNumber + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 verification code resent -
429 application resend rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
+ */ + public okhttp3.Call resendVerificationUserPhoneNumberCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/phone_numbers/{id}/resend_verification" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call resendVerificationUserPhoneNumberValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling resendVerificationUserPhoneNumber(Async)"); + } + + return resendVerificationUserPhoneNumberCall(id, _callback); + + } + + /** + * Resend verification code + * Resends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * @param id (required) + * @return VerifyUserPhoneNumber200Response + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 verification code resent -
429 application resend rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
+ */ + public VerifyUserPhoneNumber200Response resendVerificationUserPhoneNumber(@jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = resendVerificationUserPhoneNumberWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Resend verification code + * Resends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * @param id (required) + * @return ApiResponse<VerifyUserPhoneNumber200Response> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 verification code resent -
429 application resend rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
+ */ + public ApiResponse resendVerificationUserPhoneNumberWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = resendVerificationUserPhoneNumberValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Resend verification code (asynchronously) + * Resends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + +
Response Details
Status Code Description Response Headers
200 verification code resent -
429 application resend rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
+ */ + public okhttp3.Call resendVerificationUserPhoneNumberAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = resendVerificationUserPhoneNumberValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for showUserPhoneNumber * @param id (required) @@ -783,4 +916,139 @@ public okhttp3.Call updateUserPhoneNumberAsync(@jakarta.annotation.Nonnull Strin localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for verifyUserPhoneNumber + * @param id (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 verification code sent -
429 application verification rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
503 verification rate limiter unavailable -
+ */ + public okhttp3.Call verifyUserPhoneNumberCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/phone_numbers/{id}/verify" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "bearer_auth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call verifyUserPhoneNumberValidateBeforeCall(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling verifyUserPhoneNumber(Async)"); + } + + return verifyUserPhoneNumberCall(id, _callback); + + } + + /** + * Send verification code + * Sends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * @param id (required) + * @return VerifyUserPhoneNumber200Response + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 verification code sent -
429 application verification rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
503 verification rate limiter unavailable -
+ */ + public VerifyUserPhoneNumber200Response verifyUserPhoneNumber(@jakarta.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = verifyUserPhoneNumberWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Send verification code + * Sends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * @param id (required) + * @return ApiResponse<VerifyUserPhoneNumber200Response> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 verification code sent -
429 application verification rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
503 verification rate limiter unavailable -
+ */ + public ApiResponse verifyUserPhoneNumberWithHttpInfo(@jakarta.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = verifyUserPhoneNumberValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Send verification code (asynchronously) + * Sends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * @param id (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 verification code sent -
429 application verification rate limit * Retry-After - Seconds until the recipient can request another SMS verification code
503 verification rate limiter unavailable -
+ */ + public okhttp3.Call verifyUserPhoneNumberAsync(@jakarta.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = verifyUserPhoneNumberValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } } diff --git a/src/main/java/com/rootly/client/auth/ApiKeyAuth.java b/src/main/java/com/rootly/client/auth/ApiKeyAuth.java index 522d7940..c5d4f8e7 100644 --- a/src/main/java/com/rootly/client/auth/ApiKeyAuth.java +++ b/src/main/java/com/rootly/client/auth/ApiKeyAuth.java @@ -20,7 +20,7 @@ import java.util.Map; import java.util.List; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyAuth implements Authentication { private final String location; private final String paramName; diff --git a/src/main/java/com/rootly/client/auth/Authentication.java b/src/main/java/com/rootly/client/auth/Authentication.java index f816847a..38ece84d 100644 --- a/src/main/java/com/rootly/client/auth/Authentication.java +++ b/src/main/java/com/rootly/client/auth/Authentication.java @@ -20,7 +20,7 @@ import java.util.Map; import java.util.List; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public interface Authentication { /** * Apply authentication settings to header and query params. diff --git a/src/main/java/com/rootly/client/auth/HttpBearerAuth.java b/src/main/java/com/rootly/client/auth/HttpBearerAuth.java index 9706a14a..7e94a32c 100644 --- a/src/main/java/com/rootly/client/auth/HttpBearerAuth.java +++ b/src/main/java/com/rootly/client/auth/HttpBearerAuth.java @@ -22,7 +22,7 @@ import java.util.Optional; import java.util.function.Supplier; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HttpBearerAuth implements Authentication { private final String scheme; private Supplier tokenSupplier; diff --git a/src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java b/src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java index 6d915e93..659f5a96 100644 --- a/src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java +++ b/src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java @@ -21,7 +21,7 @@ /** * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public abstract class AbstractOpenApiSchema { // store the actual instance of the schema/object diff --git a/src/main/java/com/rootly/client/model/AcknowledgeAlert.java b/src/main/java/com/rootly/client/model/AcknowledgeAlert.java new file mode 100644 index 00000000..e7e0f099 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AcknowledgeAlert.java @@ -0,0 +1,208 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AcknowledgeAlertData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AcknowledgeAlert + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AcknowledgeAlert { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nullable + private AcknowledgeAlertData data; + + public AcknowledgeAlert() { + } + + public AcknowledgeAlert data(@jakarta.annotation.Nullable AcknowledgeAlertData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nullable + public AcknowledgeAlertData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nullable AcknowledgeAlertData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AcknowledgeAlert acknowledgeAlert = (AcknowledgeAlert) o; + return Objects.equals(this.data, acknowledgeAlert.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AcknowledgeAlert {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AcknowledgeAlert + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AcknowledgeAlert.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AcknowledgeAlert is not found in the empty JSON string", AcknowledgeAlert.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AcknowledgeAlert.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AcknowledgeAlert` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `data` + if (jsonObj.get("data") != null && !jsonObj.get("data").isJsonNull()) { + AcknowledgeAlertData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AcknowledgeAlert.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AcknowledgeAlert' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AcknowledgeAlert.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AcknowledgeAlert value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AcknowledgeAlert read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AcknowledgeAlert given an JSON string + * + * @param jsonString JSON string + * @return An instance of AcknowledgeAlert + * @throws IOException if the JSON string is invalid with respect to AcknowledgeAlert + */ + public static AcknowledgeAlert fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AcknowledgeAlert.class); + } + + /** + * Convert an instance of AcknowledgeAlert to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AcknowledgeAlertData.java b/src/main/java/com/rootly/client/model/AcknowledgeAlertData.java new file mode 100644 index 00000000..649422d9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AcknowledgeAlertData.java @@ -0,0 +1,292 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AcknowledgeAlertDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AcknowledgeAlertData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AcknowledgeAlertData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERTS("alerts"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nullable + private AcknowledgeAlertDataAttributes attributes; + + public AcknowledgeAlertData() { + } + + public AcknowledgeAlertData type(@jakarta.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public AcknowledgeAlertData attributes(@jakarta.annotation.Nullable AcknowledgeAlertDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nullable + public AcknowledgeAlertDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nullable AcknowledgeAlertDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AcknowledgeAlertData acknowledgeAlertData = (AcknowledgeAlertData) o; + return Objects.equals(this.type, acknowledgeAlertData.type) && + Objects.equals(this.attributes, acknowledgeAlertData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AcknowledgeAlertData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AcknowledgeAlertData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AcknowledgeAlertData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AcknowledgeAlertData is not found in the empty JSON string", AcknowledgeAlertData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AcknowledgeAlertData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AcknowledgeAlertData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the optional field `type` + if (jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) { + TypeEnum.validateJsonElement(jsonObj.get("type")); + } + // validate the optional field `attributes` + if (jsonObj.get("attributes") != null && !jsonObj.get("attributes").isJsonNull()) { + AcknowledgeAlertDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AcknowledgeAlertData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AcknowledgeAlertData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AcknowledgeAlertData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AcknowledgeAlertData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AcknowledgeAlertData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AcknowledgeAlertData given an JSON string + * + * @param jsonString JSON string + * @return An instance of AcknowledgeAlertData + * @throws IOException if the JSON string is invalid with respect to AcknowledgeAlertData + */ + public static AcknowledgeAlertData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AcknowledgeAlertData.class); + } + + /** + * Convert an instance of AcknowledgeAlertData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AcknowledgeAlertDataAttributes.java b/src/main/java/com/rootly/client/model/AcknowledgeAlertDataAttributes.java new file mode 100644 index 00000000..4b5558c9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AcknowledgeAlertDataAttributes.java @@ -0,0 +1,220 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AcknowledgeAlertDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AcknowledgeAlertDataAttributes { + public static final String SERIALIZED_NAME_ACTOR = "actor"; + @SerializedName(SERIALIZED_NAME_ACTOR) + @jakarta.annotation.Nullable + private NewAlertDataAttributesActor actor; + + public AcknowledgeAlertDataAttributes() { + } + + public AcknowledgeAlertDataAttributes actor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + return this; + } + + /** + * Get actor + * @return actor + */ + @jakarta.annotation.Nullable + public NewAlertDataAttributesActor getActor() { + return actor; + } + + public void setActor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AcknowledgeAlertDataAttributes acknowledgeAlertDataAttributes = (AcknowledgeAlertDataAttributes) o; + return Objects.equals(this.actor, acknowledgeAlertDataAttributes.actor); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(actor); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AcknowledgeAlertDataAttributes {\n"); + sb.append(" actor: ").append(toIndentedString(actor)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("actor"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AcknowledgeAlertDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AcknowledgeAlertDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AcknowledgeAlertDataAttributes is not found in the empty JSON string", AcknowledgeAlertDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AcknowledgeAlertDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AcknowledgeAlertDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `actor` + if (jsonObj.get("actor") != null && !jsonObj.get("actor").isJsonNull()) { + NewAlertDataAttributesActor.validateJsonElement(jsonObj.get("actor")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AcknowledgeAlertDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AcknowledgeAlertDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AcknowledgeAlertDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AcknowledgeAlertDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AcknowledgeAlertDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AcknowledgeAlertDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of AcknowledgeAlertDataAttributes + * @throws IOException if the JSON string is invalid with respect to AcknowledgeAlertDataAttributes + */ + public static AcknowledgeAlertDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AcknowledgeAlertDataAttributes.class); + } + + /** + * Convert an instance of AcknowledgeAlertDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java b/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java index cf15b0fc..646b0d25 100644 --- a/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java +++ b/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java @@ -51,7 +51,7 @@ /** * ActionItemTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ActionItemTriggerParams { /** * Gets or Sets triggerType @@ -1532,6 +1532,120 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private IncidentConditionResolvedAtEnum incidentConditionResolvedAt; + /** + * Gets or Sets incidentConditionScheduledFor + */ + @JsonAdapter(IncidentConditionScheduledForEnum.Adapter.class) + public enum IncidentConditionScheduledForEnum { + SET("SET"), + + UNSET("UNSET"); + + private String value; + + IncidentConditionScheduledForEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentConditionScheduledForEnum fromValue(String value) { + for (IncidentConditionScheduledForEnum b : IncidentConditionScheduledForEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncidentConditionScheduledForEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentConditionScheduledForEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentConditionScheduledForEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentConditionScheduledForEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_FOR = "incident_condition_scheduled_for"; + @SerializedName(SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_FOR) + @jakarta.annotation.Nullable + private IncidentConditionScheduledForEnum incidentConditionScheduledFor; + + /** + * Gets or Sets incidentConditionScheduledUntil + */ + @JsonAdapter(IncidentConditionScheduledUntilEnum.Adapter.class) + public enum IncidentConditionScheduledUntilEnum { + SET("SET"), + + UNSET("UNSET"); + + private String value; + + IncidentConditionScheduledUntilEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentConditionScheduledUntilEnum fromValue(String value) { + for (IncidentConditionScheduledUntilEnum b : IncidentConditionScheduledUntilEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncidentConditionScheduledUntilEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentConditionScheduledUntilEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentConditionScheduledUntilEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentConditionScheduledUntilEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_UNTIL = "incident_condition_scheduled_until"; + @SerializedName(SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_UNTIL) + @jakarta.annotation.Nullable + private IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil; + /** * Gets or Sets incidentConditionalInactivity */ @@ -2668,6 +2782,44 @@ public void setIncidentConditionResolvedAt(@jakarta.annotation.Nullable Incident } + public ActionItemTriggerParams incidentConditionScheduledFor(@jakarta.annotation.Nullable IncidentConditionScheduledForEnum incidentConditionScheduledFor) { + this.incidentConditionScheduledFor = incidentConditionScheduledFor; + return this; + } + + /** + * Get incidentConditionScheduledFor + * @return incidentConditionScheduledFor + */ + @jakarta.annotation.Nullable + public IncidentConditionScheduledForEnum getIncidentConditionScheduledFor() { + return incidentConditionScheduledFor; + } + + public void setIncidentConditionScheduledFor(@jakarta.annotation.Nullable IncidentConditionScheduledForEnum incidentConditionScheduledFor) { + this.incidentConditionScheduledFor = incidentConditionScheduledFor; + } + + + public ActionItemTriggerParams incidentConditionScheduledUntil(@jakarta.annotation.Nullable IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil) { + this.incidentConditionScheduledUntil = incidentConditionScheduledUntil; + return this; + } + + /** + * Get incidentConditionScheduledUntil + * @return incidentConditionScheduledUntil + */ + @jakarta.annotation.Nullable + public IncidentConditionScheduledUntilEnum getIncidentConditionScheduledUntil() { + return incidentConditionScheduledUntil; + } + + public void setIncidentConditionScheduledUntil(@jakarta.annotation.Nullable IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil) { + this.incidentConditionScheduledUntil = incidentConditionScheduledUntil; + } + + public ActionItemTriggerParams incidentConditionalInactivity(@jakarta.annotation.Nullable IncidentConditionalInactivityEnum incidentConditionalInactivity) { this.incidentConditionalInactivity = incidentConditionalInactivity; return this; @@ -2927,6 +3079,8 @@ public boolean equals(Object o) { Objects.equals(this.incidentConditionAcknowledgedAt, actionItemTriggerParams.incidentConditionAcknowledgedAt) && Objects.equals(this.incidentConditionMitigatedAt, actionItemTriggerParams.incidentConditionMitigatedAt) && Objects.equals(this.incidentConditionResolvedAt, actionItemTriggerParams.incidentConditionResolvedAt) && + Objects.equals(this.incidentConditionScheduledFor, actionItemTriggerParams.incidentConditionScheduledFor) && + Objects.equals(this.incidentConditionScheduledUntil, actionItemTriggerParams.incidentConditionScheduledUntil) && Objects.equals(this.incidentConditionalInactivity, actionItemTriggerParams.incidentConditionalInactivity) && Objects.equals(this.incidentActionItemCondition, actionItemTriggerParams.incidentActionItemCondition) && Objects.equals(this.incidentActionItemConditionKind, actionItemTriggerParams.incidentActionItemConditionKind) && @@ -2945,7 +3099,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(triggerType, triggers, incidentVisibilities, incidentKinds, incidentStatuses, incidentInactivityDuration, incidentCondition, incidentConditionVisibility, incidentConditionKind, incidentConditionStatus, incidentConditionSubStatus, incidentConditionEnvironment, incidentConditionSeverity, incidentConditionIncidentType, incidentConditionIncidentRoles, incidentConditionService, incidentConditionFunctionality, incidentConditionGroup, incidentConditionLabel, incidentConditionLabelUseRegexp, incidentLabels, incidentConditionSummary, incidentConditionStartedAt, incidentConditionDetectedAt, incidentConditionAcknowledgedAt, incidentConditionMitigatedAt, incidentConditionResolvedAt, incidentConditionalInactivity, incidentActionItemCondition, incidentActionItemConditionKind, incidentActionItemKinds, incidentActionItemConditionStatus, incidentActionItemStatuses, incidentActionItemConditionPriority, incidentActionItemPriorities, incidentActionItemConditionGroup, incidentActionItemGroupIds); + return Objects.hash(triggerType, triggers, incidentVisibilities, incidentKinds, incidentStatuses, incidentInactivityDuration, incidentCondition, incidentConditionVisibility, incidentConditionKind, incidentConditionStatus, incidentConditionSubStatus, incidentConditionEnvironment, incidentConditionSeverity, incidentConditionIncidentType, incidentConditionIncidentRoles, incidentConditionService, incidentConditionFunctionality, incidentConditionGroup, incidentConditionLabel, incidentConditionLabelUseRegexp, incidentLabels, incidentConditionSummary, incidentConditionStartedAt, incidentConditionDetectedAt, incidentConditionAcknowledgedAt, incidentConditionMitigatedAt, incidentConditionResolvedAt, incidentConditionScheduledFor, incidentConditionScheduledUntil, incidentConditionalInactivity, incidentActionItemCondition, incidentActionItemConditionKind, incidentActionItemKinds, incidentActionItemConditionStatus, incidentActionItemStatuses, incidentActionItemConditionPriority, incidentActionItemPriorities, incidentActionItemConditionGroup, incidentActionItemGroupIds); } private static int hashCodeNullable(JsonNullable a) { @@ -2986,6 +3140,8 @@ public String toString() { sb.append(" incidentConditionAcknowledgedAt: ").append(toIndentedString(incidentConditionAcknowledgedAt)).append("\n"); sb.append(" incidentConditionMitigatedAt: ").append(toIndentedString(incidentConditionMitigatedAt)).append("\n"); sb.append(" incidentConditionResolvedAt: ").append(toIndentedString(incidentConditionResolvedAt)).append("\n"); + sb.append(" incidentConditionScheduledFor: ").append(toIndentedString(incidentConditionScheduledFor)).append("\n"); + sb.append(" incidentConditionScheduledUntil: ").append(toIndentedString(incidentConditionScheduledUntil)).append("\n"); sb.append(" incidentConditionalInactivity: ").append(toIndentedString(incidentConditionalInactivity)).append("\n"); sb.append(" incidentActionItemCondition: ").append(toIndentedString(incidentActionItemCondition)).append("\n"); sb.append(" incidentActionItemConditionKind: ").append(toIndentedString(incidentActionItemConditionKind)).append("\n"); @@ -3045,6 +3201,8 @@ private String toIndentedString(Object o) { openapiFields.add("incident_condition_acknowledged_at"); openapiFields.add("incident_condition_mitigated_at"); openapiFields.add("incident_condition_resolved_at"); + openapiFields.add("incident_condition_scheduled_for"); + openapiFields.add("incident_condition_scheduled_until"); openapiFields.add("incident_conditional_inactivity"); openapiFields.add("incident_action_item_condition"); openapiFields.add("incident_action_item_condition_kind"); @@ -3250,6 +3408,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("incident_condition_resolved_at") != null && !jsonObj.get("incident_condition_resolved_at").isJsonNull()) { IncidentConditionResolvedAtEnum.validateJsonElement(jsonObj.get("incident_condition_resolved_at")); } + if ((jsonObj.get("incident_condition_scheduled_for") != null && !jsonObj.get("incident_condition_scheduled_for").isJsonNull()) && !jsonObj.get("incident_condition_scheduled_for").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_condition_scheduled_for` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_condition_scheduled_for").toString())); + } + // validate the optional field `incident_condition_scheduled_for` + if (jsonObj.get("incident_condition_scheduled_for") != null && !jsonObj.get("incident_condition_scheduled_for").isJsonNull()) { + IncidentConditionScheduledForEnum.validateJsonElement(jsonObj.get("incident_condition_scheduled_for")); + } + if ((jsonObj.get("incident_condition_scheduled_until") != null && !jsonObj.get("incident_condition_scheduled_until").isJsonNull()) && !jsonObj.get("incident_condition_scheduled_until").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_condition_scheduled_until` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_condition_scheduled_until").toString())); + } + // validate the optional field `incident_condition_scheduled_until` + if (jsonObj.get("incident_condition_scheduled_until") != null && !jsonObj.get("incident_condition_scheduled_until").isJsonNull()) { + IncidentConditionScheduledUntilEnum.validateJsonElement(jsonObj.get("incident_condition_scheduled_until")); + } if ((jsonObj.get("incident_conditional_inactivity") != null && !jsonObj.get("incident_conditional_inactivity").isJsonNull()) && !jsonObj.get("incident_conditional_inactivity").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `incident_conditional_inactivity` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_conditional_inactivity").toString())); } diff --git a/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java b/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java index 1a5f33c8..48161959 100644 --- a/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java @@ -53,7 +53,7 @@ /** * AddActionItemTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddActionItemTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java b/src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java index 778df107..b9d09c80 100644 --- a/src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java +++ b/src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java @@ -48,7 +48,7 @@ /** * The user this action item is assigned to */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddActionItemTaskParamsAssignedToUser { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java b/src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java index 0b117eee..3f4c8797 100644 --- a/src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java +++ b/src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java @@ -48,7 +48,7 @@ /** * AddActionItemTaskParamsPostToSlackChannelsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddActionItemTaskParamsPostToSlackChannelsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java index 9cc05e9e..96a8851a 100644 --- a/src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java @@ -49,7 +49,7 @@ /** * AddMicrosoftTeamsChatTabTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddMicrosoftTeamsChatTabTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java index 3f527f21..cb9b8fa5 100644 --- a/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java @@ -60,7 +60,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddMicrosoftTeamsTabTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(AddMicrosoftTeamsTabTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/AddRoleTaskParams.java b/src/main/java/com/rootly/client/model/AddRoleTaskParams.java index 1c2b8631..cebd85cd 100644 --- a/src/main/java/com/rootly/client/model/AddRoleTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddRoleTaskParams.java @@ -49,7 +49,7 @@ /** * AddRoleTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddRoleTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java b/src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java index e5033e77..3efe50c3 100644 --- a/src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java +++ b/src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java @@ -48,7 +48,7 @@ /** * The user this role is assigned to */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddRoleTaskParamsAssignedToUser { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java index cb588e5e..e5de6ce4 100644 --- a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java @@ -60,7 +60,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSlackBookmarkTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(AddSlackBookmarkTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf.java index f22d3197..31cb8f8e 100644 --- a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf.java @@ -48,7 +48,7 @@ /** * AddSlackBookmarkTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSlackBookmarkTaskParamsAnyOf { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf1.java b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf1.java index ea246f37..adba9954 100644 --- a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf1.java +++ b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParamsAnyOf1.java @@ -48,7 +48,7 @@ /** * AddSlackBookmarkTaskParamsAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSlackBookmarkTaskParamsAnyOf1 { public static final String SERIALIZED_NAME_PLAYBOOK_ID = "playbook_id"; @SerializedName(SERIALIZED_NAME_PLAYBOOK_ID) diff --git a/src/main/java/com/rootly/client/model/AddSubscribers.java b/src/main/java/com/rootly/client/model/AddSubscribers.java index fd754583..45008146 100644 --- a/src/main/java/com/rootly/client/model/AddSubscribers.java +++ b/src/main/java/com/rootly/client/model/AddSubscribers.java @@ -49,7 +49,7 @@ /** * AddSubscribers */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSubscribers { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AddSubscribersData.java b/src/main/java/com/rootly/client/model/AddSubscribersData.java index 4ab236f0..b6c4f74f 100644 --- a/src/main/java/com/rootly/client/model/AddSubscribersData.java +++ b/src/main/java/com/rootly/client/model/AddSubscribersData.java @@ -49,7 +49,7 @@ /** * AddSubscribersData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSubscribersData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/AddSubscribersDataAttributes.java b/src/main/java/com/rootly/client/model/AddSubscribersDataAttributes.java index 035227c7..6868e98c 100644 --- a/src/main/java/com/rootly/client/model/AddSubscribersDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AddSubscribersDataAttributes.java @@ -51,7 +51,7 @@ /** * AddSubscribersDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSubscribersDataAttributes { public static final String SERIALIZED_NAME_USER_IDS = "user_ids"; @SerializedName(SERIALIZED_NAME_USER_IDS) diff --git a/src/main/java/com/rootly/client/model/AddTeamTaskParams.java b/src/main/java/com/rootly/client/model/AddTeamTaskParams.java index 7eddbf8f..6f030c00 100644 --- a/src/main/java/com/rootly/client/model/AddTeamTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddTeamTaskParams.java @@ -48,7 +48,7 @@ /** * AddTeamTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddTeamTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddToTimelineTaskParams.java b/src/main/java/com/rootly/client/model/AddToTimelineTaskParams.java index 1090d0f1..b252b453 100644 --- a/src/main/java/com/rootly/client/model/AddToTimelineTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddToTimelineTaskParams.java @@ -51,7 +51,7 @@ /** * AddToTimelineTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddToTimelineTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AiChatResponse.java b/src/main/java/com/rootly/client/model/AiChatResponse.java index 1533ab73..6444e048 100644 --- a/src/main/java/com/rootly/client/model/AiChatResponse.java +++ b/src/main/java/com/rootly/client/model/AiChatResponse.java @@ -52,7 +52,7 @@ /** * AiChatResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AiChatResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AiChatResponseData.java b/src/main/java/com/rootly/client/model/AiChatResponseData.java index 0d2c2aa5..376ba3f8 100644 --- a/src/main/java/com/rootly/client/model/AiChatResponseData.java +++ b/src/main/java/com/rootly/client/model/AiChatResponseData.java @@ -50,7 +50,7 @@ /** * AiChatResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AiChatResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AiChatResponseDataAttributes.java b/src/main/java/com/rootly/client/model/AiChatResponseDataAttributes.java index a3b82eca..85492a2d 100644 --- a/src/main/java/com/rootly/client/model/AiChatResponseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AiChatResponseDataAttributes.java @@ -50,7 +50,7 @@ /** * AiChatResponseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AiChatResponseDataAttributes { public static final String SERIALIZED_NAME_SESSION_ID = "session_id"; @SerializedName(SERIALIZED_NAME_SESSION_ID) diff --git a/src/main/java/com/rootly/client/model/AiChatSessionMessage.java b/src/main/java/com/rootly/client/model/AiChatSessionMessage.java index 7a6d2fd3..4f43df3e 100644 --- a/src/main/java/com/rootly/client/model/AiChatSessionMessage.java +++ b/src/main/java/com/rootly/client/model/AiChatSessionMessage.java @@ -50,7 +50,7 @@ /** * AiChatSessionMessage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AiChatSessionMessage { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AiChatSessionMessageList.java b/src/main/java/com/rootly/client/model/AiChatSessionMessageList.java index bf12e6df..c106c3e4 100644 --- a/src/main/java/com/rootly/client/model/AiChatSessionMessageList.java +++ b/src/main/java/com/rootly/client/model/AiChatSessionMessageList.java @@ -51,7 +51,7 @@ /** * AiChatSessionMessageList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AiChatSessionMessageList { public static final String SERIALIZED_NAME_MESSAGES = "messages"; @SerializedName(SERIALIZED_NAME_MESSAGES) diff --git a/src/main/java/com/rootly/client/model/Alert.java b/src/main/java/com/rootly/client/model/Alert.java index cc538a1e..1aca5576 100644 --- a/src/main/java/com/rootly/client/model/Alert.java +++ b/src/main/java/com/rootly/client/model/Alert.java @@ -21,10 +21,11 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertAlertFieldValuesInner; import com.rootly.client.model.AlertAlertingTargetsInner; +import com.rootly.client.model.AlertLabelsInner; +import com.rootly.client.model.AlertSlackNotificationsInner; import com.rootly.client.model.AlertUrgency; import com.rootly.client.model.Environment; import com.rootly.client.model.Functionality; -import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import com.rootly.client.model.Service; import com.rootly.client.model.Team; import com.rootly.client.model.User; @@ -63,7 +64,7 @@ /** * Alert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Alert { public static final String SERIALIZED_NAME_SHORT_ID = "short_id"; @SerializedName(SERIALIZED_NAME_SHORT_ID) @@ -278,7 +279,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @jakarta.annotation.Nullable - private List labels = new ArrayList<>(); + private List labels = new ArrayList<>(); public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -378,6 +379,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List alertingTargets; + public static final String SERIALIZED_NAME_SLACK_NOTIFICATIONS = "slack_notifications"; + @SerializedName(SERIALIZED_NAME_SLACK_NOTIFICATIONS) + @jakarta.annotation.Nullable + private List slackNotifications; + public static final String SERIALIZED_NAME_URL = "url"; @SerializedName(SERIALIZED_NAME_URL) @jakarta.annotation.Nullable @@ -393,6 +399,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private OffsetDateTime endedAt; + public static final String SERIALIZED_NAME_ACKNOWLEDGED_AT = "acknowledged_at"; + @SerializedName(SERIALIZED_NAME_ACKNOWLEDGED_AT) + @jakarta.annotation.Nullable + private OffsetDateTime acknowledgedAt; + + public static final String SERIALIZED_NAME_RESOLVED_AT = "resolved_at"; + @SerializedName(SERIALIZED_NAME_RESOLVED_AT) + @jakarta.annotation.Nullable + private OffsetDateTime resolvedAt; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @jakarta.annotation.Nonnull @@ -850,12 +866,12 @@ public void setIsGroupLeaderAlert(@jakarta.annotation.Nullable Boolean isGroupLe } - public Alert labels(@jakarta.annotation.Nullable List labels) { + public Alert labels(@jakarta.annotation.Nullable List labels) { this.labels = labels; return this; } - public Alert addLabelsItem(NewAlertDataAttributesLabelsInner labelsItem) { + public Alert addLabelsItem(AlertLabelsInner labelsItem) { if (this.labels == null) { this.labels = new ArrayList<>(); } @@ -868,11 +884,11 @@ public Alert addLabelsItem(NewAlertDataAttributesLabelsInner labelsItem) { * @return labels */ @jakarta.annotation.Nullable - public List getLabels() { + public List getLabels() { return labels; } - public void setLabels(@jakarta.annotation.Nullable List labels) { + public void setLabels(@jakarta.annotation.Nullable List labels) { this.labels = labels; } @@ -1061,6 +1077,33 @@ public void setAlertingTargets(@jakarta.annotation.Nullable List slackNotifications) { + this.slackNotifications = slackNotifications; + return this; + } + + public Alert addSlackNotificationsItem(AlertSlackNotificationsInner slackNotificationsItem) { + if (this.slackNotifications == null) { + this.slackNotifications = new ArrayList<>(); + } + this.slackNotifications.add(slackNotificationsItem); + return this; + } + + /** + * Slack channel and root thread ts of each announcement Rootly posted for the alert. Only present when the alert-slack-message-references feature flag is enabled for the team. + * @return slackNotifications + */ + @jakarta.annotation.Nullable + public List getSlackNotifications() { + return slackNotifications; + } + + public void setSlackNotifications(@jakarta.annotation.Nullable List slackNotifications) { + this.slackNotifications = slackNotifications; + } + + public Alert url(@jakarta.annotation.Nullable URI url) { this.url = url; return this; @@ -1118,6 +1161,44 @@ public void setEndedAt(@jakarta.annotation.Nullable OffsetDateTime endedAt) { } + public Alert acknowledgedAt(@jakarta.annotation.Nullable OffsetDateTime acknowledgedAt) { + this.acknowledgedAt = acknowledgedAt; + return this; + } + + /** + * When the alert was first acknowledged. Null if it has never been acknowledged. An alert that is retriggered and acknowledged again keeps its original acknowledgement timestamp. + * @return acknowledgedAt + */ + @jakarta.annotation.Nullable + public OffsetDateTime getAcknowledgedAt() { + return acknowledgedAt; + } + + public void setAcknowledgedAt(@jakarta.annotation.Nullable OffsetDateTime acknowledgedAt) { + this.acknowledgedAt = acknowledgedAt; + } + + + public Alert resolvedAt(@jakarta.annotation.Nullable OffsetDateTime resolvedAt) { + this.resolvedAt = resolvedAt; + return this; + } + + /** + * When the alert was first resolved. Null if it has never been resolved. Like `acknowledged_at`, an alert that is retriggered and resolved again keeps its original resolution timestamp; use `ended_at` for the current resolution state. + * @return resolvedAt + */ + @jakarta.annotation.Nullable + public OffsetDateTime getResolvedAt() { + return resolvedAt; + } + + public void setResolvedAt(@jakarta.annotation.Nullable OffsetDateTime resolvedAt) { + this.resolvedAt = resolvedAt; + } + + public Alert createdAt(@jakarta.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -1195,9 +1276,12 @@ public boolean equals(Object o) { Objects.equals(this.responders, alert.responders) && Objects.equals(this.notifiedUsers, alert.notifiedUsers) && Objects.equals(this.alertingTargets, alert.alertingTargets) && + Objects.equals(this.slackNotifications, alert.slackNotifications) && Objects.equals(this.url, alert.url) && Objects.equals(this.startedAt, alert.startedAt) && Objects.equals(this.endedAt, alert.endedAt) && + Objects.equals(this.acknowledgedAt, alert.acknowledgedAt) && + Objects.equals(this.resolvedAt, alert.resolvedAt) && Objects.equals(this.createdAt, alert.createdAt) && Objects.equals(this.updatedAt, alert.updatedAt); } @@ -1208,7 +1292,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(shortId, noise, source, status, summary, description, services, groups, functionalities, environments, serviceIds, groupIds, functionalityIds, environmentIds, externalId, externalUrl, alertUrgencyId, alertUrgency, groupLeaderAlertId, isGroupLeaderAlert, labels, data, notificationTargetType, notificationTargetId, deduplicationKey, alertFieldValues, responders, notifiedUsers, alertingTargets, url, startedAt, endedAt, createdAt, updatedAt); + return Objects.hash(shortId, noise, source, status, summary, description, services, groups, functionalities, environments, serviceIds, groupIds, functionalityIds, environmentIds, externalId, externalUrl, alertUrgencyId, alertUrgency, groupLeaderAlertId, isGroupLeaderAlert, labels, data, notificationTargetType, notificationTargetId, deduplicationKey, alertFieldValues, responders, notifiedUsers, alertingTargets, slackNotifications, url, startedAt, endedAt, acknowledgedAt, resolvedAt, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -1251,9 +1335,12 @@ public String toString() { sb.append(" responders: ").append(toIndentedString(responders)).append("\n"); sb.append(" notifiedUsers: ").append(toIndentedString(notifiedUsers)).append("\n"); sb.append(" alertingTargets: ").append(toIndentedString(alertingTargets)).append("\n"); + sb.append(" slackNotifications: ").append(toIndentedString(slackNotifications)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); sb.append(" endedAt: ").append(toIndentedString(endedAt)).append("\n"); + sb.append(" acknowledgedAt: ").append(toIndentedString(acknowledgedAt)).append("\n"); + sb.append(" resolvedAt: ").append(toIndentedString(resolvedAt)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -1307,9 +1394,12 @@ private String toIndentedString(Object o) { openapiFields.add("responders"); openapiFields.add("notified_users"); openapiFields.add("alerting_targets"); + openapiFields.add("slack_notifications"); openapiFields.add("url"); openapiFields.add("started_at"); openapiFields.add("ended_at"); + openapiFields.add("acknowledged_at"); + openapiFields.add("resolved_at"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -1474,7 +1564,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `labels` (array) for (int i = 0; i < jsonArraylabels.size(); i++) { - NewAlertDataAttributesLabelsInner.validateJsonElement(jsonArraylabels.get(i)); + AlertLabelsInner.validateJsonElement(jsonArraylabels.get(i)); }; } } @@ -1547,6 +1637,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if (jsonObj.get("slack_notifications") != null && !jsonObj.get("slack_notifications").isJsonNull()) { + JsonArray jsonArrayslackNotifications = jsonObj.getAsJsonArray("slack_notifications"); + if (jsonArrayslackNotifications != null) { + // ensure the json data is an array + if (!jsonObj.get("slack_notifications").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_notifications` to be an array in the JSON string but got `%s`", jsonObj.get("slack_notifications").toString())); + } + + // validate the optional field `slack_notifications` (array) + for (int i = 0; i < jsonArrayslackNotifications.size(); i++) { + AlertSlackNotificationsInner.validateJsonElement(jsonArrayslackNotifications.get(i)); + }; + } + } if ((jsonObj.get("url") != null && !jsonObj.get("url").isJsonNull()) && !jsonObj.get("url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("url").toString())); } diff --git a/src/main/java/com/rootly/client/model/AlertAlertFieldValuesInner.java b/src/main/java/com/rootly/client/model/AlertAlertFieldValuesInner.java index c27d7746..e477ea6e 100644 --- a/src/main/java/com/rootly/client/model/AlertAlertFieldValuesInner.java +++ b/src/main/java/com/rootly/client/model/AlertAlertFieldValuesInner.java @@ -48,7 +48,7 @@ /** * AlertAlertFieldValuesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertAlertFieldValuesInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertAlertingTargetsInner.java b/src/main/java/com/rootly/client/model/AlertAlertingTargetsInner.java index d4f5f8b2..ddddb4ec 100644 --- a/src/main/java/com/rootly/client/model/AlertAlertingTargetsInner.java +++ b/src/main/java/com/rootly/client/model/AlertAlertingTargetsInner.java @@ -48,7 +48,7 @@ /** * AlertAlertingTargetsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertAlertingTargetsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertConfiguration.java b/src/main/java/com/rootly/client/model/AlertConfiguration.java new file mode 100644 index 00000000..0e23b93f --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertConfiguration.java @@ -0,0 +1,434 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesAlertAcknowledgment; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertConfiguration + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertConfiguration { + public static final String SERIALIZED_NAME_ALERT_ACKNOWLEDGMENT = "alert_acknowledgment"; + @SerializedName(SERIALIZED_NAME_ALERT_ACKNOWLEDGMENT) + @jakarta.annotation.Nullable + private UpdateAlertConfigurationDataAttributesAlertAcknowledgment alertAcknowledgment; + + /** + * Gets or Sets manualPagingFormSettings + */ + @JsonAdapter(ManualPagingFormSettingsEnum.Adapter.class) + public enum ManualPagingFormSettingsEnum { + USER("user"), + + TEAM("team"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + ESCALATION_POLICY("escalation_policy"); + + private String value; + + ManualPagingFormSettingsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ManualPagingFormSettingsEnum fromValue(String value) { + for (ManualPagingFormSettingsEnum b : ManualPagingFormSettingsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ManualPagingFormSettingsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ManualPagingFormSettingsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ManualPagingFormSettingsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ManualPagingFormSettingsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MANUAL_PAGING_FORM_SETTINGS = "manual_paging_form_settings"; + @SerializedName(SERIALIZED_NAME_MANUAL_PAGING_FORM_SETTINGS) + @jakarta.annotation.Nullable + private List manualPagingFormSettings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MANUAL_PAGING_URGENCY_IDS = "manual_paging_urgency_ids"; + @SerializedName(SERIALIZED_NAME_MANUAL_PAGING_URGENCY_IDS) + @jakarta.annotation.Nullable + private List manualPagingUrgencyIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DEFAULT_USER_NOTIFICATION_SETTINGS = "default_user_notification_settings"; + @SerializedName(SERIALIZED_NAME_DEFAULT_USER_NOTIFICATION_SETTINGS) + @jakarta.annotation.Nullable + private UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings defaultUserNotificationSettings; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @jakarta.annotation.Nullable + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @jakarta.annotation.Nullable + private OffsetDateTime updatedAt; + + public AlertConfiguration() { + } + + public AlertConfiguration alertAcknowledgment(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesAlertAcknowledgment alertAcknowledgment) { + this.alertAcknowledgment = alertAcknowledgment; + return this; + } + + /** + * Get alertAcknowledgment + * @return alertAcknowledgment + */ + @jakarta.annotation.Nullable + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment getAlertAcknowledgment() { + return alertAcknowledgment; + } + + public void setAlertAcknowledgment(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesAlertAcknowledgment alertAcknowledgment) { + this.alertAcknowledgment = alertAcknowledgment; + } + + + public AlertConfiguration manualPagingFormSettings(@jakarta.annotation.Nullable List manualPagingFormSettings) { + this.manualPagingFormSettings = manualPagingFormSettings; + return this; + } + + public AlertConfiguration addManualPagingFormSettingsItem(ManualPagingFormSettingsEnum manualPagingFormSettingsItem) { + if (this.manualPagingFormSettings == null) { + this.manualPagingFormSettings = new ArrayList<>(); + } + this.manualPagingFormSettings.add(manualPagingFormSettingsItem); + return this; + } + + /** + * Stored entity types for the manual paging form, as configured; at least one is required. The form itself may hide a type the team cannot use yet, such as functionality. + * @return manualPagingFormSettings + */ + @jakarta.annotation.Nullable + public List getManualPagingFormSettings() { + return manualPagingFormSettings; + } + + public void setManualPagingFormSettings(@jakarta.annotation.Nullable List manualPagingFormSettings) { + this.manualPagingFormSettings = manualPagingFormSettings; + } + + + public AlertConfiguration manualPagingUrgencyIds(@jakarta.annotation.Nullable List manualPagingUrgencyIds) { + this.manualPagingUrgencyIds = manualPagingUrgencyIds; + return this; + } + + public AlertConfiguration addManualPagingUrgencyIdsItem(UUID manualPagingUrgencyIdsItem) { + if (this.manualPagingUrgencyIds == null) { + this.manualPagingUrgencyIds = new ArrayList<>(); + } + this.manualPagingUrgencyIds.add(manualPagingUrgencyIdsItem); + return this; + } + + /** + * Alert urgency ids allowed when manually paging. Empty means all; deleted urgencies are left out. Present and accepted only while the manual-page-urgency-allowlist feature is on for the team. + * @return manualPagingUrgencyIds + */ + @jakarta.annotation.Nullable + public List getManualPagingUrgencyIds() { + return manualPagingUrgencyIds; + } + + public void setManualPagingUrgencyIds(@jakarta.annotation.Nullable List manualPagingUrgencyIds) { + this.manualPagingUrgencyIds = manualPagingUrgencyIds; + } + + + public AlertConfiguration defaultUserNotificationSettings(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings defaultUserNotificationSettings) { + this.defaultUserNotificationSettings = defaultUserNotificationSettings; + return this; + } + + /** + * Get defaultUserNotificationSettings + * @return defaultUserNotificationSettings + */ + @jakarta.annotation.Nullable + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings getDefaultUserNotificationSettings() { + return defaultUserNotificationSettings; + } + + public void setDefaultUserNotificationSettings(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings defaultUserNotificationSettings) { + this.defaultUserNotificationSettings = defaultUserNotificationSettings; + } + + + public AlertConfiguration createdAt(@jakarta.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @jakarta.annotation.Nullable + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@jakarta.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public AlertConfiguration updatedAt(@jakarta.annotation.Nullable OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @jakarta.annotation.Nullable + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@jakarta.annotation.Nullable OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertConfiguration alertConfiguration = (AlertConfiguration) o; + return Objects.equals(this.alertAcknowledgment, alertConfiguration.alertAcknowledgment) && + Objects.equals(this.manualPagingFormSettings, alertConfiguration.manualPagingFormSettings) && + Objects.equals(this.manualPagingUrgencyIds, alertConfiguration.manualPagingUrgencyIds) && + Objects.equals(this.defaultUserNotificationSettings, alertConfiguration.defaultUserNotificationSettings) && + Objects.equals(this.createdAt, alertConfiguration.createdAt) && + Objects.equals(this.updatedAt, alertConfiguration.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(alertAcknowledgment, manualPagingFormSettings, manualPagingUrgencyIds, defaultUserNotificationSettings, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertConfiguration {\n"); + sb.append(" alertAcknowledgment: ").append(toIndentedString(alertAcknowledgment)).append("\n"); + sb.append(" manualPagingFormSettings: ").append(toIndentedString(manualPagingFormSettings)).append("\n"); + sb.append(" manualPagingUrgencyIds: ").append(toIndentedString(manualPagingUrgencyIds)).append("\n"); + sb.append(" defaultUserNotificationSettings: ").append(toIndentedString(defaultUserNotificationSettings)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("alert_acknowledgment"); + openapiFields.add("manual_paging_form_settings"); + openapiFields.add("manual_paging_urgency_ids"); + openapiFields.add("default_user_notification_settings"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertConfiguration + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertConfiguration.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertConfiguration is not found in the empty JSON string", AlertConfiguration.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertConfiguration.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertConfiguration` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `alert_acknowledgment` + if (jsonObj.get("alert_acknowledgment") != null && !jsonObj.get("alert_acknowledgment").isJsonNull()) { + UpdateAlertConfigurationDataAttributesAlertAcknowledgment.validateJsonElement(jsonObj.get("alert_acknowledgment")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("manual_paging_form_settings") != null && !jsonObj.get("manual_paging_form_settings").isJsonNull() && !jsonObj.get("manual_paging_form_settings").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `manual_paging_form_settings` to be an array in the JSON string but got `%s`", jsonObj.get("manual_paging_form_settings").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("manual_paging_urgency_ids") != null && !jsonObj.get("manual_paging_urgency_ids").isJsonNull() && !jsonObj.get("manual_paging_urgency_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `manual_paging_urgency_ids` to be an array in the JSON string but got `%s`", jsonObj.get("manual_paging_urgency_ids").toString())); + } + // validate the optional field `default_user_notification_settings` + if (jsonObj.get("default_user_notification_settings") != null && !jsonObj.get("default_user_notification_settings").isJsonNull()) { + UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.validateJsonElement(jsonObj.get("default_user_notification_settings")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertConfiguration.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertConfiguration' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertConfiguration.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertConfiguration value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertConfiguration read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertConfiguration given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertConfiguration + * @throws IOException if the JSON string is invalid with respect to AlertConfiguration + */ + public static AlertConfiguration fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertConfiguration.class); + } + + /** + * Convert an instance of AlertConfiguration to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertConfigurationResponse.java b/src/main/java/com/rootly/client/model/AlertConfigurationResponse.java new file mode 100644 index 00000000..ebb3e9e5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertConfigurationResponse.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertConfigurationResponseData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertConfigurationResponse + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertConfigurationResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private AlertConfigurationResponseData data; + + public AlertConfigurationResponse() { + } + + public AlertConfigurationResponse data(@jakarta.annotation.Nonnull AlertConfigurationResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public AlertConfigurationResponseData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull AlertConfigurationResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertConfigurationResponse alertConfigurationResponse = (AlertConfigurationResponse) o; + return Objects.equals(this.data, alertConfigurationResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertConfigurationResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertConfigurationResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertConfigurationResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertConfigurationResponse is not found in the empty JSON string", AlertConfigurationResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertConfigurationResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertConfigurationResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertConfigurationResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + AlertConfigurationResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertConfigurationResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertConfigurationResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertConfigurationResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertConfigurationResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertConfigurationResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertConfigurationResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertConfigurationResponse + * @throws IOException if the JSON string is invalid with respect to AlertConfigurationResponse + */ + public static AlertConfigurationResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertConfigurationResponse.class); + } + + /** + * Convert an instance of AlertConfigurationResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertConfigurationResponseData.java b/src/main/java/com/rootly/client/model/AlertConfigurationResponseData.java new file mode 100644 index 00000000..3f54193f --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertConfigurationResponseData.java @@ -0,0 +1,328 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertConfiguration; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertConfigurationResponseData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertConfigurationResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_CONFIGURATIONS("alert_configurations"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private AlertConfiguration attributes; + + public AlertConfigurationResponseData() { + } + + public AlertConfigurationResponseData id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the alert_configuration + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public AlertConfigurationResponseData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public AlertConfigurationResponseData attributes(@jakarta.annotation.Nonnull AlertConfiguration attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public AlertConfiguration getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull AlertConfiguration attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertConfigurationResponseData alertConfigurationResponseData = (AlertConfigurationResponseData) o; + return Objects.equals(this.id, alertConfigurationResponseData.id) && + Objects.equals(this.type, alertConfigurationResponseData.type) && + Objects.equals(this.attributes, alertConfigurationResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertConfigurationResponseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertConfigurationResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertConfigurationResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertConfigurationResponseData is not found in the empty JSON string", AlertConfigurationResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertConfigurationResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertConfigurationResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertConfigurationResponseData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + AlertConfiguration.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertConfigurationResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertConfigurationResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertConfigurationResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertConfigurationResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertConfigurationResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertConfigurationResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertConfigurationResponseData + * @throws IOException if the JSON string is invalid with respect to AlertConfigurationResponseData + */ + public static AlertConfigurationResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertConfigurationResponseData.class); + } + + /** + * Convert an instance of AlertConfigurationResponseData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertEvent.java b/src/main/java/com/rootly/client/model/AlertEvent.java index 8bd4e074..29afff7c 100644 --- a/src/main/java/com/rootly/client/model/AlertEvent.java +++ b/src/main/java/com/rootly/client/model/AlertEvent.java @@ -56,7 +56,7 @@ /** * AlertEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEvent { public static final String SERIALIZED_NAME_ALERT_ID = "alert_id"; @SerializedName(SERIALIZED_NAME_ALERT_ID) @@ -155,6 +155,10 @@ public enum ActionEnum { LEVEL_SKIPPED("level_skipped"), + TEAM_ATTACHED_FROM_PAYLOAD("team_attached_from_payload"), + + USER_PAGED("user_paged"), + EMAILED("emailed"), SLACKED("slacked"), @@ -193,6 +197,8 @@ public enum ActionEnum { RETRIGGER_SUPPRESSED("retrigger_suppressed"), + RETRIGGER_CANCELLED("retrigger_cancelled"), + TRIGGERED("triggered"), OPEN("open"), @@ -261,6 +267,71 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private ActionEnum action; + /** + * Present on paged events when a user explicitly reassigns the alert to another notification target. + */ + @JsonAdapter(PageReasonEnum.Adapter.class) + public enum PageReasonEnum { + MANUAL_REASSIGNMENT("manual_reassignment"); + + private String value; + + PageReasonEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PageReasonEnum fromValue(String value) { + for (PageReasonEnum b : PageReasonEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PageReasonEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PageReasonEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PageReasonEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PageReasonEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PAGE_REASON = "page_reason"; + @SerializedName(SERIALIZED_NAME_PAGE_REASON) + @jakarta.annotation.Nullable + private PageReasonEnum pageReason; + + public static final String SERIALIZED_NAME_SLACK_MESSAGE_TS = "slack_message_ts"; + @SerializedName(SERIALIZED_NAME_SLACK_MESSAGE_TS) + @jakarta.annotation.Nullable + private String slackMessageTs; + + public static final String SERIALIZED_NAME_SLACK_MESSAGE_PERMALINK = "slack_message_permalink"; + @SerializedName(SERIALIZED_NAME_SLACK_MESSAGE_PERMALINK) + @jakarta.annotation.Nullable + private String slackMessagePermalink; + public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) @jakarta.annotation.Nonnull @@ -386,6 +457,63 @@ public void setAction(@jakarta.annotation.Nonnull ActionEnum action) { } + public AlertEvent pageReason(@jakarta.annotation.Nullable PageReasonEnum pageReason) { + this.pageReason = pageReason; + return this; + } + + /** + * Present on paged events when a user explicitly reassigns the alert to another notification target. + * @return pageReason + */ + @jakarta.annotation.Nullable + public PageReasonEnum getPageReason() { + return pageReason; + } + + public void setPageReason(@jakarta.annotation.Nullable PageReasonEnum pageReason) { + this.pageReason = pageReason; + } + + + public AlertEvent slackMessageTs(@jakarta.annotation.Nullable String slackMessageTs) { + this.slackMessageTs = slackMessageTs; + return this; + } + + /** + * Slack thread ts of the message Rootly posted for this event, when present. + * @return slackMessageTs + */ + @jakarta.annotation.Nullable + public String getSlackMessageTs() { + return slackMessageTs; + } + + public void setSlackMessageTs(@jakarta.annotation.Nullable String slackMessageTs) { + this.slackMessageTs = slackMessageTs; + } + + + public AlertEvent slackMessagePermalink(@jakarta.annotation.Nullable String slackMessagePermalink) { + this.slackMessagePermalink = slackMessagePermalink; + return this; + } + + /** + * Permalink to the Slack message Rootly posted for this event, when present. + * @return slackMessagePermalink + */ + @jakarta.annotation.Nullable + public String getSlackMessagePermalink() { + return slackMessagePermalink; + } + + public void setSlackMessagePermalink(@jakarta.annotation.Nullable String slackMessagePermalink) { + this.slackMessagePermalink = slackMessagePermalink; + } + + public AlertEvent source(@jakarta.annotation.Nonnull String source) { this.source = source; return this; @@ -654,6 +782,9 @@ public boolean equals(Object o) { return Objects.equals(this.alertId, alertEvent.alertId) && Objects.equals(this.kind, alertEvent.kind) && Objects.equals(this.action, alertEvent.action) && + Objects.equals(this.pageReason, alertEvent.pageReason) && + Objects.equals(this.slackMessageTs, alertEvent.slackMessageTs) && + Objects.equals(this.slackMessagePermalink, alertEvent.slackMessagePermalink) && Objects.equals(this.source, alertEvent.source) && Objects.equals(this.userId, alertEvent.userId) && Objects.equals(this.details, alertEvent.details) && @@ -675,7 +806,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(alertId, kind, action, source, userId, details, user, incident, schedule, escalationLevel, escalationTargetType, escalationTarget, slackChannel, incidentIds, createdAt, updatedAt); + return Objects.hash(alertId, kind, action, pageReason, slackMessageTs, slackMessagePermalink, source, userId, details, user, incident, schedule, escalationLevel, escalationTargetType, escalationTarget, slackChannel, incidentIds, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -692,6 +823,9 @@ public String toString() { sb.append(" alertId: ").append(toIndentedString(alertId)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); sb.append(" action: ").append(toIndentedString(action)).append("\n"); + sb.append(" pageReason: ").append(toIndentedString(pageReason)).append("\n"); + sb.append(" slackMessageTs: ").append(toIndentedString(slackMessageTs)).append("\n"); + sb.append(" slackMessagePermalink: ").append(toIndentedString(slackMessagePermalink)).append("\n"); sb.append(" source: ").append(toIndentedString(source)).append("\n"); sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); sb.append(" details: ").append(toIndentedString(details)).append("\n"); @@ -730,6 +864,9 @@ private String toIndentedString(Object o) { openapiFields.add("alert_id"); openapiFields.add("kind"); openapiFields.add("action"); + openapiFields.add("page_reason"); + openapiFields.add("slack_message_ts"); + openapiFields.add("slack_message_permalink"); openapiFields.add("source"); openapiFields.add("user_id"); openapiFields.add("details"); @@ -795,6 +932,19 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the required field `action` ActionEnum.validateJsonElement(jsonObj.get("action")); + if ((jsonObj.get("page_reason") != null && !jsonObj.get("page_reason").isJsonNull()) && !jsonObj.get("page_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `page_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("page_reason").toString())); + } + // validate the optional field `page_reason` + if (jsonObj.get("page_reason") != null && !jsonObj.get("page_reason").isJsonNull()) { + PageReasonEnum.validateJsonElement(jsonObj.get("page_reason")); + } + if ((jsonObj.get("slack_message_ts") != null && !jsonObj.get("slack_message_ts").isJsonNull()) && !jsonObj.get("slack_message_ts").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_message_ts` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_message_ts").toString())); + } + if ((jsonObj.get("slack_message_permalink") != null && !jsonObj.get("slack_message_permalink").isJsonNull()) && !jsonObj.get("slack_message_permalink").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_message_permalink` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_message_permalink").toString())); + } if (!jsonObj.get("source").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `source` to be a primitive type in the JSON string but got `%s`", jsonObj.get("source").toString())); } diff --git a/src/main/java/com/rootly/client/model/AlertEventEscalationTarget.java b/src/main/java/com/rootly/client/model/AlertEventEscalationTarget.java index 8ff40ee9..82cb3d7a 100644 --- a/src/main/java/com/rootly/client/model/AlertEventEscalationTarget.java +++ b/src/main/java/com/rootly/client/model/AlertEventEscalationTarget.java @@ -49,7 +49,7 @@ /** * JSON:API-wrapped escalation target (User or EscalationPolicy). */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventEscalationTarget { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertEventEscalationTargetData.java b/src/main/java/com/rootly/client/model/AlertEventEscalationTargetData.java index 53c5e364..a4e32de2 100644 --- a/src/main/java/com/rootly/client/model/AlertEventEscalationTargetData.java +++ b/src/main/java/com/rootly/client/model/AlertEventEscalationTargetData.java @@ -48,7 +48,7 @@ /** * AlertEventEscalationTargetData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventEscalationTargetData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertEventFeedList.java b/src/main/java/com/rootly/client/model/AlertEventFeedList.java index 26f0c74f..b2d848a5 100644 --- a/src/main/java/com/rootly/client/model/AlertEventFeedList.java +++ b/src/main/java/com/rootly/client/model/AlertEventFeedList.java @@ -54,7 +54,7 @@ /** * AlertEventFeedList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventFeedList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertEventFeedMeta.java b/src/main/java/com/rootly/client/model/AlertEventFeedMeta.java index 5547d7a8..b883ec94 100644 --- a/src/main/java/com/rootly/client/model/AlertEventFeedMeta.java +++ b/src/main/java/com/rootly/client/model/AlertEventFeedMeta.java @@ -49,7 +49,7 @@ /** * Cursor-pagination meta. `total_count` and `total_pages` are nullable because the feed does not run a COUNT query. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventFeedMeta { public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) diff --git a/src/main/java/com/rootly/client/model/AlertEventIncident.java b/src/main/java/com/rootly/client/model/AlertEventIncident.java index 988910b1..b72db401 100644 --- a/src/main/java/com/rootly/client/model/AlertEventIncident.java +++ b/src/main/java/com/rootly/client/model/AlertEventIncident.java @@ -49,7 +49,7 @@ /** * AlertEventIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventIncident { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertEventList.java b/src/main/java/com/rootly/client/model/AlertEventList.java index 9c31c885..d9c156f2 100644 --- a/src/main/java/com/rootly/client/model/AlertEventList.java +++ b/src/main/java/com/rootly/client/model/AlertEventList.java @@ -54,7 +54,7 @@ /** * AlertEventList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertEventResponse.java b/src/main/java/com/rootly/client/model/AlertEventResponse.java index 0c8b0291..93657ae9 100644 --- a/src/main/java/com/rootly/client/model/AlertEventResponse.java +++ b/src/main/java/com/rootly/client/model/AlertEventResponse.java @@ -52,7 +52,7 @@ /** * AlertEventResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertEventResponseData.java b/src/main/java/com/rootly/client/model/AlertEventResponseData.java index 133bea71..24d96fde 100644 --- a/src/main/java/com/rootly/client/model/AlertEventResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertEventResponseData.java @@ -49,7 +49,7 @@ /** * AlertEventResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertEventSchedule.java b/src/main/java/com/rootly/client/model/AlertEventSchedule.java index f08cf641..3ddfe588 100644 --- a/src/main/java/com/rootly/client/model/AlertEventSchedule.java +++ b/src/main/java/com/rootly/client/model/AlertEventSchedule.java @@ -52,7 +52,7 @@ /** * AlertEventSchedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventSchedule { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertEventScheduleEscalationPoliciesInner.java b/src/main/java/com/rootly/client/model/AlertEventScheduleEscalationPoliciesInner.java index b0fdce73..301844f5 100644 --- a/src/main/java/com/rootly/client/model/AlertEventScheduleEscalationPoliciesInner.java +++ b/src/main/java/com/rootly/client/model/AlertEventScheduleEscalationPoliciesInner.java @@ -48,7 +48,7 @@ /** * AlertEventScheduleEscalationPoliciesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventScheduleEscalationPoliciesInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertEventUser.java b/src/main/java/com/rootly/client/model/AlertEventUser.java index 9181e7d6..ed4fd860 100644 --- a/src/main/java/com/rootly/client/model/AlertEventUser.java +++ b/src/main/java/com/rootly/client/model/AlertEventUser.java @@ -49,7 +49,7 @@ /** * AlertEventUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventUser { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertField.java b/src/main/java/com/rootly/client/model/AlertField.java index cf51bb2a..313e81ef 100644 --- a/src/main/java/com/rootly/client/model/AlertField.java +++ b/src/main/java/com/rootly/client/model/AlertField.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -48,127 +50,262 @@ /** * AlertField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertField { - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @jakarta.annotation.Nullable - private String slug; + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + FIELD("field"); - public static final String SERIALIZED_NAME_NAME = "name"; - @SerializedName(SERIALIZED_NAME_NAME) + private String value; + + RuleTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) @jakarta.annotation.Nonnull - private String name; + private RuleTypeEnum ruleType; - public static final String SERIALIZED_NAME_KIND = "kind"; - @SerializedName(SERIALIZED_NAME_KIND) + public static final String SERIALIZED_NAME_FIELDABLE_TYPE = "fieldable_type"; + @SerializedName(SERIALIZED_NAME_FIELDABLE_TYPE) @jakarta.annotation.Nonnull - private String kind; + private String fieldableType; - public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; - @SerializedName(SERIALIZED_NAME_CREATED_AT) + public static final String SERIALIZED_NAME_FIELDABLE_ID = "fieldable_id"; + @SerializedName(SERIALIZED_NAME_FIELDABLE_ID) @jakarta.annotation.Nonnull - private String createdAt; + private String fieldableId; - public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; - @SerializedName(SERIALIZED_NAME_UPDATED_AT) + /** + * How the alert field value should be matched + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + IS_ONE_OF("is_one_of"), + + IS_NOT_ONE_OF("is_not_one_of"), + + CONTAINS("contains"), + + DOES_NOT_CONTAIN("does_not_contain"), + + IS_EMPTY("is_empty"), + + IS_NOT_EMPTY("is_not_empty"), + + CONTAINS_KEY("contains_key"), + + DOES_NOT_CONTAIN_KEY("does_not_contain_key"), + + STARTS_WITH("starts_with"), + + DOES_NOT_START_WITH("does_not_start_with"), + + MATCHES("matches"), + + DOES_NOT_MATCH("does_not_match"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) @jakarta.annotation.Nonnull - private String updatedAt; + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @jakarta.annotation.Nullable + private List values = new ArrayList<>(); public AlertField() { } - public AlertField( - String slug - ) { - this(); - this.slug = slug; + public AlertField ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; } /** - * The slug of the alert field - * @return slug + * The type of the escalation path rule + * @return ruleType */ - @jakarta.annotation.Nullable - public String getSlug() { - return slug; + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; } + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } - public AlertField name(@jakarta.annotation.Nonnull String name) { - this.name = name; + public AlertField fieldableType(@jakarta.annotation.Nonnull String fieldableType) { + this.fieldableType = fieldableType; return this; } /** - * The name of the alert field - * @return name + * The type of the fieldable (e.g., AlertField) + * @return fieldableType */ @jakarta.annotation.Nonnull - public String getName() { - return name; + public String getFieldableType() { + return fieldableType; } - public void setName(@jakarta.annotation.Nonnull String name) { - this.name = name; + public void setFieldableType(@jakarta.annotation.Nonnull String fieldableType) { + this.fieldableType = fieldableType; } - public AlertField kind(@jakarta.annotation.Nonnull String kind) { - this.kind = kind; + public AlertField fieldableId(@jakarta.annotation.Nonnull String fieldableId) { + this.fieldableId = fieldableId; return this; } /** - * The kind of alert field - * @return kind + * The ID of the alert field + * @return fieldableId */ @jakarta.annotation.Nonnull - public String getKind() { - return kind; + public String getFieldableId() { + return fieldableId; } - public void setKind(@jakarta.annotation.Nonnull String kind) { - this.kind = kind; + public void setFieldableId(@jakarta.annotation.Nonnull String fieldableId) { + this.fieldableId = fieldableId; } - public AlertField createdAt(@jakarta.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public AlertField operator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; return this; } /** - * Date of creation - * @return createdAt + * How the alert field value should be matched + * @return operator */ @jakarta.annotation.Nonnull - public String getCreatedAt() { - return createdAt; + public OperatorEnum getOperator() { + return operator; } - public void setCreatedAt(@jakarta.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public void setOperator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; } - public AlertField updatedAt(@jakarta.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public AlertField values(@jakarta.annotation.Nullable List values) { + this.values = values; + return this; + } + + public AlertField addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); return this; } /** - * Date of last update - * @return updatedAt + * Values to match against + * @return values */ - @jakarta.annotation.Nonnull - public String getUpdatedAt() { - return updatedAt; + @jakarta.annotation.Nullable + public List getValues() { + return values; } - public void setUpdatedAt(@jakarta.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public void setValues(@jakarta.annotation.Nullable List values) { + this.values = values; } @@ -182,27 +319,27 @@ public boolean equals(Object o) { return false; } AlertField alertField = (AlertField) o; - return Objects.equals(this.slug, alertField.slug) && - Objects.equals(this.name, alertField.name) && - Objects.equals(this.kind, alertField.kind) && - Objects.equals(this.createdAt, alertField.createdAt) && - Objects.equals(this.updatedAt, alertField.updatedAt); + return Objects.equals(this.ruleType, alertField.ruleType) && + Objects.equals(this.fieldableType, alertField.fieldableType) && + Objects.equals(this.fieldableId, alertField.fieldableId) && + Objects.equals(this.operator, alertField.operator) && + Objects.equals(this.values, alertField.values); } @Override public int hashCode() { - return Objects.hash(slug, name, kind, createdAt, updatedAt); + return Objects.hash(ruleType, fieldableType, fieldableId, operator, values); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AlertField {\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); - sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); - sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" fieldableType: ").append(toIndentedString(fieldableType)).append("\n"); + sb.append(" fieldableId: ").append(toIndentedString(fieldableId)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); sb.append("}"); return sb.toString(); } @@ -225,18 +362,18 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("slug"); - openapiFields.add("name"); - openapiFields.add("kind"); - openapiFields.add("created_at"); - openapiFields.add("updated_at"); + openapiFields.add("rule_type"); + openapiFields.add("fieldable_type"); + openapiFields.add("fieldable_id"); + openapiFields.add("operator"); + openapiFields.add("values"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); - openapiRequiredFields.add("name"); - openapiRequiredFields.add("kind"); - openapiRequiredFields.add("created_at"); - openapiRequiredFields.add("updated_at"); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("fieldable_type"); + openapiRequiredFields.add("fieldable_id"); + openapiRequiredFields.add("operator"); } /** @@ -267,20 +404,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - if ((jsonObj.get("slug") != null && !jsonObj.get("slug").isJsonNull()) && !jsonObj.get("slug").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `slug` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slug").toString())); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); } - if (!jsonObj.get("name").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + if (!jsonObj.get("fieldable_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `fieldable_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("fieldable_type").toString())); } - if (!jsonObj.get("kind").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + if (!jsonObj.get("fieldable_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `fieldable_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("fieldable_id").toString())); } - if (!jsonObj.get("created_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); + if (!jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); } - if (!jsonObj.get("updated_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `updated_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updated_at").toString())); + // validate the required field `operator` + OperatorEnum.validateJsonElement(jsonObj.get("operator")); + // ensure the optional json data is an array if present + if (jsonObj.get("values") != null && !jsonObj.get("values").isJsonNull() && !jsonObj.get("values").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `values` to be an array in the JSON string but got `%s`", jsonObj.get("values").toString())); } } diff --git a/src/main/java/com/rootly/client/model/AlertFieldList.java b/src/main/java/com/rootly/client/model/AlertFieldList.java index c8a7fc34..4f0db682 100644 --- a/src/main/java/com/rootly/client/model/AlertFieldList.java +++ b/src/main/java/com/rootly/client/model/AlertFieldList.java @@ -54,7 +54,7 @@ /** * AlertFieldList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertFieldListDataInner.java b/src/main/java/com/rootly/client/model/AlertFieldListDataInner.java index d8c90c88..8db55d5c 100644 --- a/src/main/java/com/rootly/client/model/AlertFieldListDataInner.java +++ b/src/main/java/com/rootly/client/model/AlertFieldListDataInner.java @@ -49,7 +49,7 @@ /** * AlertFieldListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertFieldListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertFieldResponse.java b/src/main/java/com/rootly/client/model/AlertFieldResponse.java index 8998f427..96706748 100644 --- a/src/main/java/com/rootly/client/model/AlertFieldResponse.java +++ b/src/main/java/com/rootly/client/model/AlertFieldResponse.java @@ -52,7 +52,7 @@ /** * AlertFieldResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertFieldResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertFieldResponseData.java b/src/main/java/com/rootly/client/model/AlertFieldResponseData.java index 35a8ab61..37e15334 100644 --- a/src/main/java/com/rootly/client/model/AlertFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertFieldResponseData.java @@ -49,7 +49,7 @@ /** * AlertFieldResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertFieldResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertGroup.java b/src/main/java/com/rootly/client/model/AlertGroup.java index 6ec665a7..4f487a5e 100644 --- a/src/main/java/com/rootly/client/model/AlertGroup.java +++ b/src/main/java/com/rootly/client/model/AlertGroup.java @@ -19,13 +19,14 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertGroupAttributesInner; import com.rootly.client.model.AlertGroupConditionsInner; -import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; -import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; +import com.rootly.client.model.AlertGroupTargetsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -53,7 +54,7 @@ /** * AlertGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroup { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -92,16 +93,21 @@ public class AlertGroup { @jakarta.annotation.Nullable private Boolean groupByAlertUrgency; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_TARGETS = "targets"; @SerializedName(SERIALIZED_NAME_TARGETS) @jakarta.annotation.Nullable - private List targets = new ArrayList<>(); + private List targets = new ArrayList<>(); public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; @Deprecated @SerializedName(SERIALIZED_NAME_ATTRIBUTES) @jakarta.annotation.Nullable - private List attributes = new ArrayList<>(); + private List attributes = new ArrayList<>(); public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; @SerializedName(SERIALIZED_NAME_CONDITIONS) @@ -266,12 +272,39 @@ public void setGroupByAlertUrgency(@jakarta.annotation.Nullable Boolean groupByA } - public AlertGroup targets(@jakarta.annotation.Nullable List targets) { + public AlertGroup ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public AlertGroup addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * Teams that own this alert group. Admins of an owning team can manage it, and an owned alert group can only target destinations that belong to its owning teams. Only available when owning teams for alert groups are enabled for the organization. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + + public AlertGroup targets(@jakarta.annotation.Nullable List targets) { this.targets = targets; return this; } - public AlertGroup addTargetsItem(NewAlertGroupDataAttributesTargetsInner targetsItem) { + public AlertGroup addTargetsItem(AlertGroupTargetsInner targetsItem) { if (this.targets == null) { this.targets = new ArrayList<>(); } @@ -284,22 +317,22 @@ public AlertGroup addTargetsItem(NewAlertGroupDataAttributesTargetsInner targets * @return targets */ @jakarta.annotation.Nullable - public List getTargets() { + public List getTargets() { return targets; } - public void setTargets(@jakarta.annotation.Nullable List targets) { + public void setTargets(@jakarta.annotation.Nullable List targets) { this.targets = targets; } @Deprecated - public AlertGroup attributes(@jakarta.annotation.Nullable List attributes) { + public AlertGroup attributes(@jakarta.annotation.Nullable List attributes) { this.attributes = attributes; return this; } - public AlertGroup addAttributesItem(NewAlertGroupDataAttributesAttributesInner attributesItem) { + public AlertGroup addAttributesItem(AlertGroupAttributesInner attributesItem) { if (this.attributes == null) { this.attributes = new ArrayList<>(); } @@ -314,12 +347,12 @@ public AlertGroup addAttributesItem(NewAlertGroupDataAttributesAttributesInner a */ @Deprecated @jakarta.annotation.Nullable - public List getAttributes() { + public List getAttributes() { return attributes; } @Deprecated - public void setAttributes(@jakarta.annotation.Nullable List attributes) { + public void setAttributes(@jakarta.annotation.Nullable List attributes) { this.attributes = attributes; } @@ -425,6 +458,7 @@ public boolean equals(Object o) { Objects.equals(this.timeWindow, alertGroup.timeWindow) && Objects.equals(this.groupByAlertTitle, alertGroup.groupByAlertTitle) && Objects.equals(this.groupByAlertUrgency, alertGroup.groupByAlertUrgency) && + Objects.equals(this.ownerGroupIds, alertGroup.ownerGroupIds) && Objects.equals(this.targets, alertGroup.targets) && Objects.equals(this.attributes, alertGroup.attributes) && Objects.equals(this.conditions, alertGroup.conditions) && @@ -435,7 +469,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, description, slug, conditionType, timeWindow, groupByAlertTitle, groupByAlertUrgency, targets, attributes, conditions, createdAt, updatedAt, deletedAt); + return Objects.hash(name, description, slug, conditionType, timeWindow, groupByAlertTitle, groupByAlertUrgency, ownerGroupIds, targets, attributes, conditions, createdAt, updatedAt, deletedAt); } @Override @@ -449,6 +483,7 @@ public String toString() { sb.append(" timeWindow: ").append(toIndentedString(timeWindow)).append("\n"); sb.append(" groupByAlertTitle: ").append(toIndentedString(groupByAlertTitle)).append("\n"); sb.append(" groupByAlertUrgency: ").append(toIndentedString(groupByAlertUrgency)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" targets: ").append(toIndentedString(targets)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); @@ -484,6 +519,7 @@ private String toIndentedString(Object o) { openapiFields.add("time_window"); openapiFields.add("group_by_alert_title"); openapiFields.add("group_by_alert_urgency"); + openapiFields.add("owner_group_ids"); openapiFields.add("targets"); openapiFields.add("attributes"); openapiFields.add("conditions"); @@ -542,6 +578,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("condition_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `condition_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("condition_type").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } if (jsonObj.get("targets") != null && !jsonObj.get("targets").isJsonNull()) { JsonArray jsonArraytargets = jsonObj.getAsJsonArray("targets"); if (jsonArraytargets != null) { @@ -552,7 +592,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `targets` (array) for (int i = 0; i < jsonArraytargets.size(); i++) { - NewAlertGroupDataAttributesTargetsInner.validateJsonElement(jsonArraytargets.get(i)); + AlertGroupTargetsInner.validateJsonElement(jsonArraytargets.get(i)); }; } } @@ -566,7 +606,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `attributes` (array) for (int i = 0; i < jsonArrayattributes.size(); i++) { - NewAlertGroupDataAttributesAttributesInner.validateJsonElement(jsonArrayattributes.get(i)); + AlertGroupAttributesInner.validateJsonElement(jsonArrayattributes.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/AlertGroupAttributesInner.java b/src/main/java/com/rootly/client/model/AlertGroupAttributesInner.java new file mode 100644 index 00000000..cc489ea5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertGroupAttributesInner.java @@ -0,0 +1,206 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertGroupAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertGroupAttributesInner { + public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; + @SerializedName(SERIALIZED_NAME_JSON_PATH) + @jakarta.annotation.Nullable + private String jsonPath; + + public AlertGroupAttributesInner() { + } + + public AlertGroupAttributesInner jsonPath(@jakarta.annotation.Nullable String jsonPath) { + this.jsonPath = jsonPath; + return this; + } + + /** + * The JSON path to the value to group by. + * @return jsonPath + */ + @jakarta.annotation.Nullable + public String getJsonPath() { + return jsonPath; + } + + public void setJsonPath(@jakarta.annotation.Nullable String jsonPath) { + this.jsonPath = jsonPath; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertGroupAttributesInner alertGroupAttributesInner = (AlertGroupAttributesInner) o; + return Objects.equals(this.jsonPath, alertGroupAttributesInner.jsonPath); + } + + @Override + public int hashCode() { + return Objects.hash(jsonPath); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertGroupAttributesInner {\n"); + sb.append(" jsonPath: ").append(toIndentedString(jsonPath)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("json_path"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertGroupAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertGroupAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertGroupAttributesInner is not found in the empty JSON string", AlertGroupAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertGroupAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertGroupAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("json_path") != null && !jsonObj.get("json_path").isJsonNull()) && !jsonObj.get("json_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `json_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("json_path").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertGroupAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertGroupAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertGroupAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertGroupAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertGroupAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertGroupAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertGroupAttributesInner + * @throws IOException if the JSON string is invalid with respect to AlertGroupAttributesInner + */ + public static AlertGroupAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertGroupAttributesInner.class); + } + + /** + * Convert an instance of AlertGroupAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java b/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java index 38d78140..f43dbfcd 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java +++ b/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java @@ -52,7 +52,7 @@ /** * AlertGroupConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroupConditionsInner { /** * The type of the property field diff --git a/src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java b/src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java index e2361bc2..8b3abce7 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java +++ b/src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java @@ -48,7 +48,7 @@ /** * AlertGroupConditionsInnerValuesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroupConditionsInnerValuesInner { public static final String SERIALIZED_NAME_RECORD_ID = "record_id"; @SerializedName(SERIALIZED_NAME_RECORD_ID) diff --git a/src/main/java/com/rootly/client/model/AlertGroupList.java b/src/main/java/com/rootly/client/model/AlertGroupList.java index a354e78e..9a7a9d1f 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupList.java +++ b/src/main/java/com/rootly/client/model/AlertGroupList.java @@ -52,7 +52,7 @@ /** * AlertGroupList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroupList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertGroupResponse.java b/src/main/java/com/rootly/client/model/AlertGroupResponse.java index cde99cc3..e43f2ca9 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupResponse.java +++ b/src/main/java/com/rootly/client/model/AlertGroupResponse.java @@ -52,7 +52,7 @@ /** * AlertGroupResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroupResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertGroupResponseData.java b/src/main/java/com/rootly/client/model/AlertGroupResponseData.java index 87f5f824..03606814 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertGroupResponseData.java @@ -49,7 +49,7 @@ /** * AlertGroupResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroupResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertGroupTargetsInner.java b/src/main/java/com/rootly/client/model/AlertGroupTargetsInner.java new file mode 100644 index 00000000..1f4e4652 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertGroupTargetsInner.java @@ -0,0 +1,304 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertGroupTargetsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertGroupTargetsInner { + /** + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. + */ + @JsonAdapter(TargetTypeEnum.Adapter.class) + public enum TargetTypeEnum { + GROUP("Group"), + + SERVICE("Service"), + + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); + + private String value; + + TargetTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TargetTypeEnum fromValue(String value) { + for (TargetTypeEnum b : TargetTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TargetTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TargetTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TargetTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TargetTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TARGET_TYPE = "target_type"; + @SerializedName(SERIALIZED_NAME_TARGET_TYPE) + @jakarta.annotation.Nonnull + private TargetTypeEnum targetType; + + public static final String SERIALIZED_NAME_TARGET_ID = "target_id"; + @SerializedName(SERIALIZED_NAME_TARGET_ID) + @jakarta.annotation.Nonnull + private UUID targetId; + + public AlertGroupTargetsInner() { + } + + public AlertGroupTargetsInner targetType(@jakarta.annotation.Nonnull TargetTypeEnum targetType) { + this.targetType = targetType; + return this; + } + + /** + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. + * @return targetType + */ + @jakarta.annotation.Nonnull + public TargetTypeEnum getTargetType() { + return targetType; + } + + public void setTargetType(@jakarta.annotation.Nonnull TargetTypeEnum targetType) { + this.targetType = targetType; + } + + + public AlertGroupTargetsInner targetId(@jakarta.annotation.Nonnull UUID targetId) { + this.targetId = targetId; + return this; + } + + /** + * id for the Group, Service, EscalationPolicy or Functionality + * @return targetId + */ + @jakarta.annotation.Nonnull + public UUID getTargetId() { + return targetId; + } + + public void setTargetId(@jakarta.annotation.Nonnull UUID targetId) { + this.targetId = targetId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertGroupTargetsInner alertGroupTargetsInner = (AlertGroupTargetsInner) o; + return Objects.equals(this.targetType, alertGroupTargetsInner.targetType) && + Objects.equals(this.targetId, alertGroupTargetsInner.targetId); + } + + @Override + public int hashCode() { + return Objects.hash(targetType, targetId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertGroupTargetsInner {\n"); + sb.append(" targetType: ").append(toIndentedString(targetType)).append("\n"); + sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("target_type"); + openapiFields.add("target_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("target_type"); + openapiRequiredFields.add("target_id"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertGroupTargetsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertGroupTargetsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertGroupTargetsInner is not found in the empty JSON string", AlertGroupTargetsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertGroupTargetsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertGroupTargetsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertGroupTargetsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("target_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `target_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_type").toString())); + } + // validate the required field `target_type` + TargetTypeEnum.validateJsonElement(jsonObj.get("target_type")); + if (!jsonObj.get("target_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `target_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertGroupTargetsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertGroupTargetsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertGroupTargetsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertGroupTargetsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertGroupTargetsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertGroupTargetsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertGroupTargetsInner + * @throws IOException if the JSON string is invalid with respect to AlertGroupTargetsInner + */ + public static AlertGroupTargetsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertGroupTargetsInner.class); + } + + /** + * Convert an instance of AlertGroupTargetsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertLabelsInner.java b/src/main/java/com/rootly/client/model/AlertLabelsInner.java new file mode 100644 index 00000000..e04bc661 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertLabelsInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesLabelsInnerValue; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertLabelsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertLabelsInner { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @jakarta.annotation.Nonnull + private String key; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @jakarta.annotation.Nonnull + private NewAlertDataAttributesLabelsInnerValue value; + + public AlertLabelsInner() { + } + + public AlertLabelsInner key(@jakarta.annotation.Nonnull String key) { + this.key = key; + return this; + } + + /** + * Key of the tag + * @return key + */ + @jakarta.annotation.Nonnull + public String getKey() { + return key; + } + + public void setKey(@jakarta.annotation.Nonnull String key) { + this.key = key; + } + + + public AlertLabelsInner value(@jakarta.annotation.Nonnull NewAlertDataAttributesLabelsInnerValue value) { + this.value = value; + return this; + } + + /** + * Get value + * @return value + */ + @jakarta.annotation.Nonnull + public NewAlertDataAttributesLabelsInnerValue getValue() { + return value; + } + + public void setValue(@jakarta.annotation.Nonnull NewAlertDataAttributesLabelsInnerValue value) { + this.value = value; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertLabelsInner alertLabelsInner = (AlertLabelsInner) o; + return Objects.equals(this.key, alertLabelsInner.key) && + Objects.equals(this.value, alertLabelsInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(key, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertLabelsInner {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("key"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("key"); + openapiRequiredFields.add("value"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertLabelsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertLabelsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertLabelsInner is not found in the empty JSON string", AlertLabelsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertLabelsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertLabelsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertLabelsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("key").toString())); + } + // validate the required field `value` + NewAlertDataAttributesLabelsInnerValue.validateJsonElement(jsonObj.get("value")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertLabelsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertLabelsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertLabelsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertLabelsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertLabelsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertLabelsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertLabelsInner + * @throws IOException if the JSON string is invalid with respect to AlertLabelsInner + */ + public static AlertLabelsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertLabelsInner.class); + } + + /** + * Convert an instance of AlertLabelsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertList.java b/src/main/java/com/rootly/client/model/AlertList.java index b14466fa..96a4fefc 100644 --- a/src/main/java/com/rootly/client/model/AlertList.java +++ b/src/main/java/com/rootly/client/model/AlertList.java @@ -54,7 +54,7 @@ /** * AlertList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertResponse.java b/src/main/java/com/rootly/client/model/AlertResponse.java index e51069eb..f7b846ca 100644 --- a/src/main/java/com/rootly/client/model/AlertResponse.java +++ b/src/main/java/com/rootly/client/model/AlertResponse.java @@ -52,7 +52,7 @@ /** * AlertResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertResponseData.java b/src/main/java/com/rootly/client/model/AlertResponseData.java index 83dff916..909e7f3c 100644 --- a/src/main/java/com/rootly/client/model/AlertResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertResponseData.java @@ -49,7 +49,7 @@ /** * AlertResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRoute.java b/src/main/java/com/rootly/client/model/AlertRoute.java index b312f438..5e147c5d 100644 --- a/src/main/java/com/rootly/client/model/AlertRoute.java +++ b/src/main/java/com/rootly/client/model/AlertRoute.java @@ -19,7 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertRouteDataAttributesRulesInner; +import com.rootly.client.model.AlertRouteRulesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +52,7 @@ /** * AlertRoute */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoute { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -77,7 +77,7 @@ public class AlertRoute { public static final String SERIALIZED_NAME_RULES = "rules"; @SerializedName(SERIALIZED_NAME_RULES) @jakarta.annotation.Nullable - private List rules = new ArrayList<>(); + private List rules = new ArrayList<>(); public AlertRoute() { } @@ -174,12 +174,12 @@ public void setOwningTeamIds(@jakarta.annotation.Nullable List owningTeamI } - public AlertRoute rules(@jakarta.annotation.Nullable List rules) { + public AlertRoute rules(@jakarta.annotation.Nullable List rules) { this.rules = rules; return this; } - public AlertRoute addRulesItem(NewAlertRouteDataAttributesRulesInner rulesItem) { + public AlertRoute addRulesItem(AlertRouteRulesInner rulesItem) { if (this.rules == null) { this.rules = new ArrayList<>(); } @@ -192,11 +192,11 @@ public AlertRoute addRulesItem(NewAlertRouteDataAttributesRulesInner rulesItem) * @return rules */ @jakarta.annotation.Nullable - public List getRules() { + public List getRules() { return rules; } - public void setRules(@jakarta.annotation.Nullable List rules) { + public void setRules(@jakarta.annotation.Nullable List rules) { this.rules = rules; } @@ -317,7 +317,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `rules` (array) for (int i = 0; i < jsonArrayrules.size(); i++) { - NewAlertRouteDataAttributesRulesInner.validateJsonElement(jsonArrayrules.get(i)); + AlertRouteRulesInner.validateJsonElement(jsonArrayrules.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/AlertRouteList.java b/src/main/java/com/rootly/client/model/AlertRouteList.java index a71be316..413b3670 100644 --- a/src/main/java/com/rootly/client/model/AlertRouteList.java +++ b/src/main/java/com/rootly/client/model/AlertRouteList.java @@ -53,7 +53,7 @@ /** * AlertRouteList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRouteList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertRouteResponse.java b/src/main/java/com/rootly/client/model/AlertRouteResponse.java index bd73bd68..3ee513af 100644 --- a/src/main/java/com/rootly/client/model/AlertRouteResponse.java +++ b/src/main/java/com/rootly/client/model/AlertRouteResponse.java @@ -49,7 +49,7 @@ /** * AlertRouteResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRouteResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertRouteResponseData.java b/src/main/java/com/rootly/client/model/AlertRouteResponseData.java index d09c77ed..582e322c 100644 --- a/src/main/java/com/rootly/client/model/AlertRouteResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertRouteResponseData.java @@ -49,7 +49,7 @@ /** * AlertRouteResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRouteResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRouteRulesInner.java b/src/main/java/com/rootly/client/model/AlertRouteRulesInner.java new file mode 100644 index 00000000..07a2fd89 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteRulesInner.java @@ -0,0 +1,364 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertRouteRulesInnerConditionGroupsInner; +import com.rootly.client.model.AlertRouteRulesInnerDestinationsInner; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertRouteRulesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteRulesInner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @jakarta.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_FALLBACK_RULE = "fallback_rule"; + @SerializedName(SERIALIZED_NAME_FALLBACK_RULE) + @jakarta.annotation.Nullable + private Boolean fallbackRule = false; + + public static final String SERIALIZED_NAME_DESTINATIONS = "destinations"; + @SerializedName(SERIALIZED_NAME_DESTINATIONS) + @jakarta.annotation.Nonnull + private List destinations = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CONDITION_GROUPS = "condition_groups"; + @SerializedName(SERIALIZED_NAME_CONDITION_GROUPS) + @jakarta.annotation.Nonnull + private List conditionGroups = new ArrayList<>(); + + public AlertRouteRulesInner() { + } + + public AlertRouteRulesInner name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the alert routing rule + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + public AlertRouteRulesInner position(@jakarta.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the alert routing rule for ordering evaluation + * @return position + */ + @jakarta.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@jakarta.annotation.Nullable Integer position) { + this.position = position; + } + + + public AlertRouteRulesInner fallbackRule(@jakarta.annotation.Nullable Boolean fallbackRule) { + this.fallbackRule = fallbackRule; + return this; + } + + /** + * Whether this is a fallback rule + * @return fallbackRule + */ + @jakarta.annotation.Nullable + public Boolean getFallbackRule() { + return fallbackRule; + } + + public void setFallbackRule(@jakarta.annotation.Nullable Boolean fallbackRule) { + this.fallbackRule = fallbackRule; + } + + + public AlertRouteRulesInner destinations(@jakarta.annotation.Nonnull List destinations) { + this.destinations = destinations; + return this; + } + + public AlertRouteRulesInner addDestinationsItem(AlertRouteRulesInnerDestinationsInner destinationsItem) { + if (this.destinations == null) { + this.destinations = new ArrayList<>(); + } + this.destinations.add(destinationsItem); + return this; + } + + /** + * Get destinations + * @return destinations + */ + @jakarta.annotation.Nonnull + public List getDestinations() { + return destinations; + } + + public void setDestinations(@jakarta.annotation.Nonnull List destinations) { + this.destinations = destinations; + } + + + public AlertRouteRulesInner conditionGroups(@jakarta.annotation.Nonnull List conditionGroups) { + this.conditionGroups = conditionGroups; + return this; + } + + public AlertRouteRulesInner addConditionGroupsItem(AlertRouteRulesInnerConditionGroupsInner conditionGroupsItem) { + if (this.conditionGroups == null) { + this.conditionGroups = new ArrayList<>(); + } + this.conditionGroups.add(conditionGroupsItem); + return this; + } + + /** + * Get conditionGroups + * @return conditionGroups + */ + @jakarta.annotation.Nonnull + public List getConditionGroups() { + return conditionGroups; + } + + public void setConditionGroups(@jakarta.annotation.Nonnull List conditionGroups) { + this.conditionGroups = conditionGroups; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteRulesInner alertRouteRulesInner = (AlertRouteRulesInner) o; + return Objects.equals(this.name, alertRouteRulesInner.name) && + Objects.equals(this.position, alertRouteRulesInner.position) && + Objects.equals(this.fallbackRule, alertRouteRulesInner.fallbackRule) && + Objects.equals(this.destinations, alertRouteRulesInner.destinations) && + Objects.equals(this.conditionGroups, alertRouteRulesInner.conditionGroups); + } + + @Override + public int hashCode() { + return Objects.hash(name, position, fallbackRule, destinations, conditionGroups); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteRulesInner {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" fallbackRule: ").append(toIndentedString(fallbackRule)).append("\n"); + sb.append(" destinations: ").append(toIndentedString(destinations)).append("\n"); + sb.append(" conditionGroups: ").append(toIndentedString(conditionGroups)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("position"); + openapiFields.add("fallback_rule"); + openapiFields.add("destinations"); + openapiFields.add("condition_groups"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("destinations"); + openapiRequiredFields.add("condition_groups"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertRouteRulesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteRulesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteRulesInner is not found in the empty JSON string", AlertRouteRulesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteRulesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteRulesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteRulesInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + // ensure the json data is an array + if (!jsonObj.get("destinations").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `destinations` to be an array in the JSON string but got `%s`", jsonObj.get("destinations").toString())); + } + + JsonArray jsonArraydestinations = jsonObj.getAsJsonArray("destinations"); + // validate the required field `destinations` (array) + for (int i = 0; i < jsonArraydestinations.size(); i++) { + AlertRouteRulesInnerDestinationsInner.validateJsonElement(jsonArraydestinations.get(i)); + }; + // ensure the json data is an array + if (!jsonObj.get("condition_groups").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `condition_groups` to be an array in the JSON string but got `%s`", jsonObj.get("condition_groups").toString())); + } + + JsonArray jsonArrayconditionGroups = jsonObj.getAsJsonArray("condition_groups"); + // validate the required field `condition_groups` (array) + for (int i = 0; i < jsonArrayconditionGroups.size(); i++) { + AlertRouteRulesInnerConditionGroupsInner.validateJsonElement(jsonArrayconditionGroups.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteRulesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteRulesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteRulesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteRulesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteRulesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteRulesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteRulesInner + * @throws IOException if the JSON string is invalid with respect to AlertRouteRulesInner + */ + public static AlertRouteRulesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteRulesInner.class); + } + + /** + * Convert an instance of AlertRouteRulesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInner.java b/src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInner.java new file mode 100644 index 00000000..af3ef92a --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInner.java @@ -0,0 +1,259 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertRouteRulesInnerConditionGroupsInnerConditionsInner; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertRouteRulesInnerConditionGroupsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteRulesInnerConditionGroupsInner { + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @jakarta.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @jakarta.annotation.Nonnull + private List conditions = new ArrayList<>(); + + public AlertRouteRulesInnerConditionGroupsInner() { + } + + public AlertRouteRulesInnerConditionGroupsInner position(@jakarta.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition group + * @return position + */ + @jakarta.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@jakarta.annotation.Nullable Integer position) { + this.position = position; + } + + + public AlertRouteRulesInnerConditionGroupsInner conditions(@jakarta.annotation.Nonnull List conditions) { + this.conditions = conditions; + return this; + } + + public AlertRouteRulesInnerConditionGroupsInner addConditionsItem(AlertRouteRulesInnerConditionGroupsInnerConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Get conditions + * @return conditions + */ + @jakarta.annotation.Nonnull + public List getConditions() { + return conditions; + } + + public void setConditions(@jakarta.annotation.Nonnull List conditions) { + this.conditions = conditions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteRulesInnerConditionGroupsInner alertRouteRulesInnerConditionGroupsInner = (AlertRouteRulesInnerConditionGroupsInner) o; + return Objects.equals(this.position, alertRouteRulesInnerConditionGroupsInner.position) && + Objects.equals(this.conditions, alertRouteRulesInnerConditionGroupsInner.conditions); + } + + @Override + public int hashCode() { + return Objects.hash(position, conditions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteRulesInnerConditionGroupsInner {\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("position"); + openapiFields.add("conditions"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("conditions"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertRouteRulesInnerConditionGroupsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteRulesInnerConditionGroupsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteRulesInnerConditionGroupsInner is not found in the empty JSON string", AlertRouteRulesInnerConditionGroupsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteRulesInnerConditionGroupsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteRulesInnerConditionGroupsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteRulesInnerConditionGroupsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the json data is an array + if (!jsonObj.get("conditions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `conditions` to be an array in the JSON string but got `%s`", jsonObj.get("conditions").toString())); + } + + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + // validate the required field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + AlertRouteRulesInnerConditionGroupsInnerConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteRulesInnerConditionGroupsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteRulesInnerConditionGroupsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteRulesInnerConditionGroupsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteRulesInnerConditionGroupsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteRulesInnerConditionGroupsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteRulesInnerConditionGroupsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteRulesInnerConditionGroupsInner + * @throws IOException if the JSON string is invalid with respect to AlertRouteRulesInnerConditionGroupsInner + */ + public static AlertRouteRulesInnerConditionGroupsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteRulesInnerConditionGroupsInner.class); + } + + /** + * Convert an instance of AlertRouteRulesInnerConditionGroupsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.java new file mode 100644 index 00000000..e24d2c66 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInner.java @@ -0,0 +1,630 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertRouteRulesInnerConditionGroupsInnerConditionsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteRulesInnerConditionGroupsInnerConditionsInner { + /** + * Gets or Sets propertyFieldConditionType + */ + @JsonAdapter(PropertyFieldConditionTypeEnum.Adapter.class) + public enum PropertyFieldConditionTypeEnum { + IS_ONE_OF("is_one_of"), + + IS_NOT_ONE_OF("is_not_one_of"), + + CONTAINS("contains"), + + DOES_NOT_CONTAIN("does_not_contain"), + + STARTS_WITH("starts_with"), + + ENDS_WITH("ends_with"), + + MATCHES_REGEX("matches_regex"), + + IS_EMPTY("is_empty"); + + private String value; + + PropertyFieldConditionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PropertyFieldConditionTypeEnum fromValue(String value) { + for (PropertyFieldConditionTypeEnum b : PropertyFieldConditionTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PropertyFieldConditionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PropertyFieldConditionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PropertyFieldConditionTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PropertyFieldConditionTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_CONDITION_TYPE = "property_field_condition_type"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_CONDITION_TYPE) + @jakarta.annotation.Nonnull + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @jakarta.annotation.Nonnull + private String propertyFieldName; + + /** + * Gets or Sets propertyFieldType + */ + @JsonAdapter(PropertyFieldTypeEnum.Adapter.class) + public enum PropertyFieldTypeEnum { + ATTRIBUTE("attribute"), + + PAYLOAD("payload"), + + ALERT_FIELD("alert_field"); + + private String value; + + PropertyFieldTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PropertyFieldTypeEnum fromValue(String value) { + for (PropertyFieldTypeEnum b : PropertyFieldTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PropertyFieldTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PropertyFieldTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PropertyFieldTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PropertyFieldTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_TYPE = "property_field_type"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_TYPE) + @jakarta.annotation.Nonnull + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @jakarta.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @jakarta.annotation.Nullable + private List propertyFieldValues; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_IDS = "alert_urgency_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_IDS) + @jakarta.annotation.Nullable + private List alertUrgencyIds; + + /** + * The type of the conditionable + */ + @JsonAdapter(ConditionableTypeEnum.Adapter.class) + public enum ConditionableTypeEnum { + ALERT_FIELD("AlertField"); + + private String value; + + ConditionableTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionableTypeEnum fromValue(String value) { + for (ConditionableTypeEnum b : ConditionableTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConditionableTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionableTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionableTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionableTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITIONABLE_TYPE = "conditionable_type"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_TYPE) + @jakarta.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @jakarta.annotation.Nullable + private UUID conditionableId; + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner() { + } + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner propertyFieldConditionType(@jakarta.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * Get propertyFieldConditionType + * @return propertyFieldConditionType + */ + @jakarta.annotation.Nonnull + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@jakarta.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner propertyFieldName(@jakarta.annotation.Nonnull String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field + * @return propertyFieldName + */ + @jakarta.annotation.Nonnull + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@jakarta.annotation.Nonnull String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner propertyFieldType(@jakarta.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * Get propertyFieldType + * @return propertyFieldType + */ + @jakarta.annotation.Nonnull + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@jakarta.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner propertyFieldValue(@jakarta.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field + * @return propertyFieldValue + */ + @jakarta.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@jakarta.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner propertyFieldValues(@jakarta.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * Get propertyFieldValues + * @return propertyFieldValues + */ + @jakarta.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@jakarta.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner alertUrgencyIds(@jakarta.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + return this; + } + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner addAlertUrgencyIdsItem(String alertUrgencyIdsItem) { + if (this.alertUrgencyIds == null) { + this.alertUrgencyIds = new ArrayList<>(); + } + this.alertUrgencyIds.add(alertUrgencyIdsItem); + return this; + } + + /** + * The Alert Urgency IDs to check in the condition + * @return alertUrgencyIds + */ + @jakarta.annotation.Nullable + public List getAlertUrgencyIds() { + return alertUrgencyIds; + } + + public void setAlertUrgencyIds(@jakarta.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner conditionableType(@jakarta.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @jakarta.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@jakarta.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner conditionableId(@jakarta.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable + * @return conditionableId + */ + @jakarta.annotation.Nullable + public UUID getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@jakarta.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteRulesInnerConditionGroupsInnerConditionsInner alertRouteRulesInnerConditionGroupsInnerConditionsInner = (AlertRouteRulesInnerConditionGroupsInnerConditionsInner) o; + return Objects.equals(this.propertyFieldConditionType, alertRouteRulesInnerConditionGroupsInnerConditionsInner.propertyFieldConditionType) && + Objects.equals(this.propertyFieldName, alertRouteRulesInnerConditionGroupsInnerConditionsInner.propertyFieldName) && + Objects.equals(this.propertyFieldType, alertRouteRulesInnerConditionGroupsInnerConditionsInner.propertyFieldType) && + Objects.equals(this.propertyFieldValue, alertRouteRulesInnerConditionGroupsInnerConditionsInner.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, alertRouteRulesInnerConditionGroupsInnerConditionsInner.propertyFieldValues) && + Objects.equals(this.alertUrgencyIds, alertRouteRulesInnerConditionGroupsInnerConditionsInner.alertUrgencyIds) && + Objects.equals(this.conditionableType, alertRouteRulesInnerConditionGroupsInnerConditionsInner.conditionableType) && + Objects.equals(this.conditionableId, alertRouteRulesInnerConditionGroupsInnerConditionsInner.conditionableId); + } + + @Override + public int hashCode() { + return Objects.hash(propertyFieldConditionType, propertyFieldName, propertyFieldType, propertyFieldValue, propertyFieldValues, alertUrgencyIds, conditionableType, conditionableId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteRulesInnerConditionGroupsInnerConditionsInner {\n"); + sb.append(" propertyFieldConditionType: ").append(toIndentedString(propertyFieldConditionType)).append("\n"); + sb.append(" propertyFieldName: ").append(toIndentedString(propertyFieldName)).append("\n"); + sb.append(" propertyFieldType: ").append(toIndentedString(propertyFieldType)).append("\n"); + sb.append(" propertyFieldValue: ").append(toIndentedString(propertyFieldValue)).append("\n"); + sb.append(" propertyFieldValues: ").append(toIndentedString(propertyFieldValues)).append("\n"); + sb.append(" alertUrgencyIds: ").append(toIndentedString(alertUrgencyIds)).append("\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).append("\n"); + sb.append(" conditionableId: ").append(toIndentedString(conditionableId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("property_field_condition_type"); + openapiFields.add("property_field_name"); + openapiFields.add("property_field_type"); + openapiFields.add("property_field_value"); + openapiFields.add("property_field_values"); + openapiFields.add("alert_urgency_ids"); + openapiFields.add("conditionable_type"); + openapiFields.add("conditionable_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("property_field_condition_type"); + openapiRequiredFields.add("property_field_name"); + openapiRequiredFields.add("property_field_type"); + openapiRequiredFields.add("property_field_value"); + openapiRequiredFields.add("property_field_values"); + openapiRequiredFields.add("alert_urgency_ids"); + openapiRequiredFields.add("conditionable_type"); + openapiRequiredFields.add("conditionable_id"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertRouteRulesInnerConditionGroupsInnerConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteRulesInnerConditionGroupsInnerConditionsInner is not found in the empty JSON string", AlertRouteRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteRulesInnerConditionGroupsInnerConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteRulesInnerConditionGroupsInnerConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("property_field_condition_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property_field_condition_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property_field_condition_type").toString())); + } + // validate the required field `property_field_condition_type` + PropertyFieldConditionTypeEnum.validateJsonElement(jsonObj.get("property_field_condition_type")); + if (!jsonObj.get("property_field_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property_field_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property_field_name").toString())); + } + if (!jsonObj.get("property_field_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property_field_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property_field_type").toString())); + } + // validate the required field `property_field_type` + PropertyFieldTypeEnum.validateJsonElement(jsonObj.get("property_field_type")); + if ((jsonObj.get("property_field_value") != null && !jsonObj.get("property_field_value").isJsonNull()) && !jsonObj.get("property_field_value").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property_field_value` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property_field_value").toString())); + } + // ensure the required json array is present + if (jsonObj.get("property_field_values") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("property_field_values").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `property_field_values` to be an array in the JSON string but got `%s`", jsonObj.get("property_field_values").toString())); + } + // ensure the required json array is present + if (jsonObj.get("alert_urgency_ids") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("alert_urgency_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_urgency_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alert_urgency_ids").toString())); + } + if ((jsonObj.get("conditionable_type") != null && !jsonObj.get("conditionable_type").isJsonNull()) && !jsonObj.get("conditionable_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `conditionable_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conditionable_type").toString())); + } + // validate the required field `conditionable_type` + ConditionableTypeEnum.validateJsonElement(jsonObj.get("conditionable_type")); + if ((jsonObj.get("conditionable_id") != null && !jsonObj.get("conditionable_id").isJsonNull()) && !jsonObj.get("conditionable_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `conditionable_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conditionable_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteRulesInnerConditionGroupsInnerConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteRulesInnerConditionGroupsInnerConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteRulesInnerConditionGroupsInnerConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteRulesInnerConditionGroupsInnerConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteRulesInnerConditionGroupsInnerConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteRulesInnerConditionGroupsInnerConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteRulesInnerConditionGroupsInnerConditionsInner + * @throws IOException if the JSON string is invalid with respect to AlertRouteRulesInnerConditionGroupsInnerConditionsInner + */ + public static AlertRouteRulesInnerConditionGroupsInnerConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteRulesInnerConditionGroupsInnerConditionsInner.class); + } + + /** + * Convert an instance of AlertRouteRulesInnerConditionGroupsInnerConditionsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInner.java b/src/main/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInner.java new file mode 100644 index 00000000..874c0d5e --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInner.java @@ -0,0 +1,304 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertRouteRulesInnerDestinationsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteRulesInnerDestinationsInner { + /** + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. + */ + @JsonAdapter(TargetTypeEnum.Adapter.class) + public enum TargetTypeEnum { + SERVICE("Service"), + + GROUP("Group"), + + FUNCTIONALITY("Functionality"), + + ESCALATION_POLICY("EscalationPolicy"); + + private String value; + + TargetTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TargetTypeEnum fromValue(String value) { + for (TargetTypeEnum b : TargetTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TargetTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TargetTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TargetTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TargetTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TARGET_TYPE = "target_type"; + @SerializedName(SERIALIZED_NAME_TARGET_TYPE) + @jakarta.annotation.Nonnull + private TargetTypeEnum targetType; + + public static final String SERIALIZED_NAME_TARGET_ID = "target_id"; + @SerializedName(SERIALIZED_NAME_TARGET_ID) + @jakarta.annotation.Nonnull + private UUID targetId; + + public AlertRouteRulesInnerDestinationsInner() { + } + + public AlertRouteRulesInnerDestinationsInner targetType(@jakarta.annotation.Nonnull TargetTypeEnum targetType) { + this.targetType = targetType; + return this; + } + + /** + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. + * @return targetType + */ + @jakarta.annotation.Nonnull + public TargetTypeEnum getTargetType() { + return targetType; + } + + public void setTargetType(@jakarta.annotation.Nonnull TargetTypeEnum targetType) { + this.targetType = targetType; + } + + + public AlertRouteRulesInnerDestinationsInner targetId(@jakarta.annotation.Nonnull UUID targetId) { + this.targetId = targetId; + return this; + } + + /** + * The ID of the target + * @return targetId + */ + @jakarta.annotation.Nonnull + public UUID getTargetId() { + return targetId; + } + + public void setTargetId(@jakarta.annotation.Nonnull UUID targetId) { + this.targetId = targetId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteRulesInnerDestinationsInner alertRouteRulesInnerDestinationsInner = (AlertRouteRulesInnerDestinationsInner) o; + return Objects.equals(this.targetType, alertRouteRulesInnerDestinationsInner.targetType) && + Objects.equals(this.targetId, alertRouteRulesInnerDestinationsInner.targetId); + } + + @Override + public int hashCode() { + return Objects.hash(targetType, targetId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteRulesInnerDestinationsInner {\n"); + sb.append(" targetType: ").append(toIndentedString(targetType)).append("\n"); + sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("target_type"); + openapiFields.add("target_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("target_type"); + openapiRequiredFields.add("target_id"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertRouteRulesInnerDestinationsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteRulesInnerDestinationsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteRulesInnerDestinationsInner is not found in the empty JSON string", AlertRouteRulesInnerDestinationsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteRulesInnerDestinationsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteRulesInnerDestinationsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteRulesInnerDestinationsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("target_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `target_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_type").toString())); + } + // validate the required field `target_type` + TargetTypeEnum.validateJsonElement(jsonObj.get("target_type")); + if (!jsonObj.get("target_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `target_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteRulesInnerDestinationsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteRulesInnerDestinationsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteRulesInnerDestinationsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteRulesInnerDestinationsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteRulesInnerDestinationsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteRulesInnerDestinationsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteRulesInnerDestinationsInner + * @throws IOException if the JSON string is invalid with respect to AlertRouteRulesInnerDestinationsInner + */ + public static AlertRouteRulesInnerDestinationsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteRulesInnerDestinationsInner.class); + } + + /** + * Convert an instance of AlertRouteRulesInnerDestinationsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRule.java b/src/main/java/com/rootly/client/model/AlertRoutingRule.java index 585620a1..1a13a7ae 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRule.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRule.java @@ -55,7 +55,7 @@ /** * AlertRoutingRule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRule { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java index 3232431a..62ca885f 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java @@ -52,7 +52,7 @@ /** * A condition for alert routing rule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleCondition { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java index bd03e4d3..42b8b951 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java @@ -52,7 +52,7 @@ /** * A group of conditions for alert routing rule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleConditionGroup { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java index 912c4e28..4059aaa2 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java @@ -52,7 +52,7 @@ /** * AlertRoutingRuleConditionGroupsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleConditionGroupsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java index 855c9f42..23758390 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java @@ -52,7 +52,7 @@ /** * AlertRoutingRuleConditionGroupsInnerConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleConditionGroupsInnerConditionsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java index 0b326ecb..2d6f528e 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java @@ -51,7 +51,7 @@ /** * AlertRoutingRuleConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleConditionsInner { /** * The type of the property field diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java index 50ad7dd2..e28c703c 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java @@ -49,7 +49,7 @@ /** * The destinations for the alert routing rule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleDestination { /** * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java index 19fe1730..69249a7d 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java @@ -54,7 +54,7 @@ /** * AlertRoutingRuleList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java index ae01428f..a1ab6edf 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java @@ -52,7 +52,7 @@ /** * AlertRoutingRuleResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java index 931fc463..947cf604 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java @@ -49,7 +49,7 @@ /** * AlertRoutingRuleResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.java index 027c6b8c..5dfcc4b6 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.java @@ -49,7 +49,7 @@ /** * The destination target for the alert routing rule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleTarget { /** * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. diff --git a/src/main/java/com/rootly/client/model/AlertSlackNotificationsInner.java b/src/main/java/com/rootly/client/model/AlertSlackNotificationsInner.java new file mode 100644 index 00000000..ff1f17c0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertSlackNotificationsInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertSlackNotificationsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertSlackNotificationsInner { + public static final String SERIALIZED_NAME_CHANNEL_ID = "channel_id"; + @SerializedName(SERIALIZED_NAME_CHANNEL_ID) + @jakarta.annotation.Nonnull + private String channelId; + + public static final String SERIALIZED_NAME_THREAD_TS = "thread_ts"; + @SerializedName(SERIALIZED_NAME_THREAD_TS) + @jakarta.annotation.Nonnull + private String threadTs; + + public AlertSlackNotificationsInner() { + } + + public AlertSlackNotificationsInner channelId(@jakarta.annotation.Nonnull String channelId) { + this.channelId = channelId; + return this; + } + + /** + * Slack channel ID + * @return channelId + */ + @jakarta.annotation.Nonnull + public String getChannelId() { + return channelId; + } + + public void setChannelId(@jakarta.annotation.Nonnull String channelId) { + this.channelId = channelId; + } + + + public AlertSlackNotificationsInner threadTs(@jakarta.annotation.Nonnull String threadTs) { + this.threadTs = threadTs; + return this; + } + + /** + * Slack ts of the root announcement message + * @return threadTs + */ + @jakarta.annotation.Nonnull + public String getThreadTs() { + return threadTs; + } + + public void setThreadTs(@jakarta.annotation.Nonnull String threadTs) { + this.threadTs = threadTs; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertSlackNotificationsInner alertSlackNotificationsInner = (AlertSlackNotificationsInner) o; + return Objects.equals(this.channelId, alertSlackNotificationsInner.channelId) && + Objects.equals(this.threadTs, alertSlackNotificationsInner.threadTs); + } + + @Override + public int hashCode() { + return Objects.hash(channelId, threadTs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertSlackNotificationsInner {\n"); + sb.append(" channelId: ").append(toIndentedString(channelId)).append("\n"); + sb.append(" threadTs: ").append(toIndentedString(threadTs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("channel_id"); + openapiFields.add("thread_ts"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("channel_id"); + openapiRequiredFields.add("thread_ts"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertSlackNotificationsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertSlackNotificationsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertSlackNotificationsInner is not found in the empty JSON string", AlertSlackNotificationsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertSlackNotificationsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertSlackNotificationsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertSlackNotificationsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("channel_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `channel_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("channel_id").toString())); + } + if (!jsonObj.get("thread_ts").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `thread_ts` to be a primitive type in the JSON string but got `%s`", jsonObj.get("thread_ts").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertSlackNotificationsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertSlackNotificationsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertSlackNotificationsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertSlackNotificationsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertSlackNotificationsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertSlackNotificationsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertSlackNotificationsInner + * @throws IOException if the JSON string is invalid with respect to AlertSlackNotificationsInner + */ + public static AlertSlackNotificationsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertSlackNotificationsInner.class); + } + + /** + * Convert an instance of AlertSlackNotificationsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertSource.java b/src/main/java/com/rootly/client/model/AlertSource.java new file mode 100644 index 00000000..d25cd5b7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertSource.java @@ -0,0 +1,399 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertSource + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertSource { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + SOURCE("source"); + + private String value; + + RuleTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) + @jakarta.annotation.Nonnull + private RuleTypeEnum ruleType; + + /** + * How the alert source should be matched + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + IS_ONE_OF("is_one_of"), + + IS_NOT_ONE_OF("is_not_one_of"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @jakarta.annotation.Nonnull + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @jakarta.annotation.Nonnull + private List values = new ArrayList<>(); + + public AlertSource() { + } + + public AlertSource ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public AlertSource operator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * How the alert source should be matched + * @return operator + */ + @jakarta.annotation.Nonnull + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + } + + + public AlertSource values(@jakarta.annotation.Nonnull List values) { + this.values = values; + return this; + } + + public AlertSource addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Alert source values to match against (e.g., manual, datadog) + * @return values + */ + @jakarta.annotation.Nonnull + public List getValues() { + return values; + } + + public void setValues(@jakarta.annotation.Nonnull List values) { + this.values = values; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertSource alertSource = (AlertSource) o; + return Objects.equals(this.ruleType, alertSource.ruleType) && + Objects.equals(this.operator, alertSource.operator) && + Objects.equals(this.values, alertSource.values); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, operator, values); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertSource {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("rule_type"); + openapiFields.add("operator"); + openapiFields.add("values"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("operator"); + openapiRequiredFields.add("values"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertSource + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertSource.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertSource is not found in the empty JSON string", AlertSource.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertSource.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertSource` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertSource.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); + } + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + if (!jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); + } + // validate the required field `operator` + OperatorEnum.validateJsonElement(jsonObj.get("operator")); + // ensure the required json array is present + if (jsonObj.get("values") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("values").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `values` to be an array in the JSON string but got `%s`", jsonObj.get("values").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertSource.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertSource' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertSource.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertSource value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertSource read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertSource given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertSource + * @throws IOException if the JSON string is invalid with respect to AlertSource + */ + public static AlertSource fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertSource.class); + } + + /** + * Convert an instance of AlertSource to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertTriggerParams.java b/src/main/java/com/rootly/client/model/AlertTriggerParams.java index 513e55f2..c930b1b0 100644 --- a/src/main/java/com/rootly/client/model/AlertTriggerParams.java +++ b/src/main/java/com/rootly/client/model/AlertTriggerParams.java @@ -54,7 +54,7 @@ /** * AlertTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertTriggerParams { /** * Gets or Sets triggerType diff --git a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java index 3a74f212..33d86153 100644 --- a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java +++ b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java @@ -50,7 +50,7 @@ /** * AlertTriggerParamsAlertFieldConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertTriggerParamsAlertFieldConditionsInner { public static final String SERIALIZED_NAME_ALERT_FIELD_ID = "alert_field_id"; @SerializedName(SERIALIZED_NAME_ALERT_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java index 7c9797b2..120579c0 100644 --- a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java +++ b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java @@ -51,7 +51,7 @@ /** * AlertTriggerParamsAlertPayloadConditions */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertTriggerParamsAlertPayloadConditions { /** * Gets or Sets logic diff --git a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java index a1432398..2e560733 100644 --- a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java +++ b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java @@ -50,7 +50,7 @@ /** * AlertTriggerParamsAlertPayloadConditionsConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertTriggerParamsAlertPayloadConditionsConditionsInner { public static final String SERIALIZED_NAME_QUERY = "query"; @SerializedName(SERIALIZED_NAME_QUERY) diff --git a/src/main/java/com/rootly/client/model/AlertUrgency.java b/src/main/java/com/rootly/client/model/AlertUrgency.java index dafe74bb..3347cc6f 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgency.java +++ b/src/main/java/com/rootly/client/model/AlertUrgency.java @@ -20,8 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; -import org.openapitools.jackson.nullable.JsonNullable; +import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -49,272 +50,194 @@ /** * AlertUrgency */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgency { - public static final String SERIALIZED_NAME_ID = "id"; - @SerializedName(SERIALIZED_NAME_ID) - @jakarta.annotation.Nullable - private String id; - - public static final String SERIALIZED_NAME_NAME = "name"; - @SerializedName(SERIALIZED_NAME_NAME) - @jakarta.annotation.Nonnull - private String name; - - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; - @SerializedName(SERIALIZED_NAME_DESCRIPTION) - @jakarta.annotation.Nonnull - private String description; - - public static final String SERIALIZED_NAME_POSITION = "position"; - @SerializedName(SERIALIZED_NAME_POSITION) - @jakarta.annotation.Nonnull - private Integer position; - - public static final String SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES = "retrigger_timeout_minutes"; - @SerializedName(SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES) - @jakarta.annotation.Nullable - private Integer retriggerTimeoutMinutes; - - public static final String SERIALIZED_NAME_URGENCY = "urgency"; - @SerializedName(SERIALIZED_NAME_URGENCY) - @jakarta.annotation.Nullable - private String urgency; - - public static final String SERIALIZED_NAME_COLOR = "color"; - @SerializedName(SERIALIZED_NAME_COLOR) - @jakarta.annotation.Nullable - private String color; - - public static final String SERIALIZED_NAME_TEAM_ID = "team_id"; - @SerializedName(SERIALIZED_NAME_TEAM_ID) - @jakarta.annotation.Nullable - private Integer teamId; - - public static final String SERIALIZED_NAME_DELETED_AT = "deleted_at"; - @SerializedName(SERIALIZED_NAME_DELETED_AT) - @jakarta.annotation.Nullable - private String deletedAt; - - public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; - @SerializedName(SERIALIZED_NAME_CREATED_AT) - @jakarta.annotation.Nonnull - private String createdAt; - - public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; - @SerializedName(SERIALIZED_NAME_UPDATED_AT) - @jakarta.annotation.Nonnull - private String updatedAt; - - public AlertUrgency() { - } - - public AlertUrgency id(@jakarta.annotation.Nullable String id) { - this.id = id; - return this; - } - /** - * Unique ID of the alert urgency - * @return id + * The type of the escalation path rule */ - @jakarta.annotation.Nullable - public String getId() { - return id; - } - - public void setId(@jakarta.annotation.Nullable String id) { - this.id = id; - } - + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + ALERT_URGENCY("alert_urgency"); - public AlertUrgency name(@jakarta.annotation.Nonnull String name) { - this.name = name; - return this; - } + private String value; - /** - * The name of the alert urgency - * @return name - */ - @jakarta.annotation.Nonnull - public String getName() { - return name; - } - - public void setName(@jakarta.annotation.Nonnull String name) { - this.name = name; - } + RuleTypeEnum(String value) { + this.value = value; + } + public String getValue() { + return value; + } - public AlertUrgency description(@jakarta.annotation.Nonnull String description) { - this.description = description; - return this; - } + @Override + public String toString() { + return String.valueOf(value); + } - /** - * The description of the alert urgency - * @return description - */ - @jakarta.annotation.Nonnull - public String getDescription() { - return description; - } + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } - public void setDescription(@jakarta.annotation.Nonnull String description) { - this.description = description; - } + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } - public AlertUrgency position(@jakarta.annotation.Nonnull Integer position) { - this.position = position; - return this; + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } } - /** - * Position of the alert urgency - * @return position - */ + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) @jakarta.annotation.Nonnull - public Integer getPosition() { - return position; - } + private RuleTypeEnum ruleType; - public void setPosition(@jakarta.annotation.Nonnull Integer position) { - this.position = position; - } - - - public AlertUrgency retriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { - this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; - return this; - } + public static final String SERIALIZED_NAME_URGENCY_IDS = "urgency_ids"; + @SerializedName(SERIALIZED_NAME_URGENCY_IDS) + @jakarta.annotation.Nonnull + private List urgencyIds = new ArrayList<>(); /** - * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, negative = never. - * @return retriggerTimeoutMinutes + * How the alert's urgency should be matched. is and is_not take exactly one id */ - @jakarta.annotation.Nullable - public Integer getRetriggerTimeoutMinutes() { - return retriggerTimeoutMinutes; - } - - public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { - this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; - } + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + IS_ONE_OF("is_one_of"), + + IS_NOT_ONE_OF("is_not_one_of"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + public String getValue() { + return value; + } - public AlertUrgency urgency(@jakarta.annotation.Nullable String urgency) { - this.urgency = urgency; - return this; - } + @Override + public String toString() { + return String.valueOf(value); + } - /** - * The urgency level - * @return urgency - */ - @jakarta.annotation.Nullable - public String getUrgency() { - return urgency; - } + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } - public void setUrgency(@jakarta.annotation.Nullable String urgency) { - this.urgency = urgency; - } + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } - public AlertUrgency color(@jakarta.annotation.Nullable String color) { - this.color = color; - return this; + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } } - /** - * The color associated with this urgency level - * @return color - */ + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) @jakarta.annotation.Nullable - public String getColor() { - return color; - } + private OperatorEnum operator = OperatorEnum.IS_ONE_OF; - public void setColor(@jakarta.annotation.Nullable String color) { - this.color = color; + public AlertUrgency() { } - - public AlertUrgency teamId(@jakarta.annotation.Nullable Integer teamId) { - this.teamId = teamId; + public AlertUrgency ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; return this; } /** - * The ID of the team this urgency belongs to - * @return teamId + * The type of the escalation path rule + * @return ruleType */ - @jakarta.annotation.Nullable - public Integer getTeamId() { - return teamId; + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; } - public void setTeamId(@jakarta.annotation.Nullable Integer teamId) { - this.teamId = teamId; + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; } - public AlertUrgency deletedAt(@jakarta.annotation.Nullable String deletedAt) { - this.deletedAt = deletedAt; + public AlertUrgency urgencyIds(@jakarta.annotation.Nonnull List urgencyIds) { + this.urgencyIds = urgencyIds; return this; } - /** - * Date of deletion - * @return deletedAt - */ - @jakarta.annotation.Nullable - public String getDeletedAt() { - return deletedAt; - } - - public void setDeletedAt(@jakarta.annotation.Nullable String deletedAt) { - this.deletedAt = deletedAt; - } - - - public AlertUrgency createdAt(@jakarta.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public AlertUrgency addUrgencyIdsItem(String urgencyIdsItem) { + if (this.urgencyIds == null) { + this.urgencyIds = new ArrayList<>(); + } + this.urgencyIds.add(urgencyIdsItem); return this; } /** - * Date of creation - * @return createdAt + * Alert urgency ids for which this escalation path should be used + * @return urgencyIds */ @jakarta.annotation.Nonnull - public String getCreatedAt() { - return createdAt; + public List getUrgencyIds() { + return urgencyIds; } - public void setCreatedAt(@jakarta.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public void setUrgencyIds(@jakarta.annotation.Nonnull List urgencyIds) { + this.urgencyIds = urgencyIds; } - public AlertUrgency updatedAt(@jakarta.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public AlertUrgency operator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; return this; } /** - * Date of last update - * @return updatedAt + * How the alert's urgency should be matched. is and is_not take exactly one id + * @return operator */ - @jakarta.annotation.Nonnull - public String getUpdatedAt() { - return updatedAt; + @jakarta.annotation.Nullable + public OperatorEnum getOperator() { + return operator; } - public void setUpdatedAt(@jakarta.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public void setOperator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; } @@ -328,50 +251,23 @@ public boolean equals(Object o) { return false; } AlertUrgency alertUrgency = (AlertUrgency) o; - return Objects.equals(this.id, alertUrgency.id) && - Objects.equals(this.name, alertUrgency.name) && - Objects.equals(this.description, alertUrgency.description) && - Objects.equals(this.position, alertUrgency.position) && - Objects.equals(this.retriggerTimeoutMinutes, alertUrgency.retriggerTimeoutMinutes) && - Objects.equals(this.urgency, alertUrgency.urgency) && - Objects.equals(this.color, alertUrgency.color) && - Objects.equals(this.teamId, alertUrgency.teamId) && - Objects.equals(this.deletedAt, alertUrgency.deletedAt) && - Objects.equals(this.createdAt, alertUrgency.createdAt) && - Objects.equals(this.updatedAt, alertUrgency.updatedAt); - } - - private static boolean equalsNullable(JsonNullable a, JsonNullable b) { - return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + return Objects.equals(this.ruleType, alertUrgency.ruleType) && + Objects.equals(this.urgencyIds, alertUrgency.urgencyIds) && + Objects.equals(this.operator, alertUrgency.operator); } @Override public int hashCode() { - return Objects.hash(id, name, description, position, retriggerTimeoutMinutes, urgency, color, teamId, deletedAt, createdAt, updatedAt); - } - - private static int hashCodeNullable(JsonNullable a) { - if (a == null) { - return 1; - } - return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + return Objects.hash(ruleType, urgencyIds, operator); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AlertUrgency {\n"); - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" description: ").append(toIndentedString(description)).append("\n"); - sb.append(" position: ").append(toIndentedString(position)).append("\n"); - sb.append(" retriggerTimeoutMinutes: ").append(toIndentedString(retriggerTimeoutMinutes)).append("\n"); - sb.append(" urgency: ").append(toIndentedString(urgency)).append("\n"); - sb.append(" color: ").append(toIndentedString(color)).append("\n"); - sb.append(" teamId: ").append(toIndentedString(teamId)).append("\n"); - sb.append(" deletedAt: ").append(toIndentedString(deletedAt)).append("\n"); - sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); - sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" urgencyIds: ").append(toIndentedString(urgencyIds)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); sb.append("}"); return sb.toString(); } @@ -394,25 +290,14 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("id"); - openapiFields.add("name"); - openapiFields.add("description"); - openapiFields.add("position"); - openapiFields.add("retrigger_timeout_minutes"); - openapiFields.add("urgency"); - openapiFields.add("color"); - openapiFields.add("team_id"); - openapiFields.add("deleted_at"); - openapiFields.add("created_at"); - openapiFields.add("updated_at"); + openapiFields.add("rule_type"); + openapiFields.add("urgency_ids"); + openapiFields.add("operator"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); - openapiRequiredFields.add("name"); - openapiRequiredFields.add("description"); - openapiRequiredFields.add("position"); - openapiRequiredFields.add("created_at"); - openapiRequiredFields.add("updated_at"); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("urgency_ids"); } /** @@ -443,29 +328,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); - } - if (!jsonObj.get("name").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); - } - if (!jsonObj.get("description").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); - } - if ((jsonObj.get("urgency") != null && !jsonObj.get("urgency").isJsonNull()) && !jsonObj.get("urgency").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `urgency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("urgency").toString())); - } - if ((jsonObj.get("color") != null && !jsonObj.get("color").isJsonNull()) && !jsonObj.get("color").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `color` to be a primitive type in the JSON string but got `%s`", jsonObj.get("color").toString())); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); } - if ((jsonObj.get("deleted_at") != null && !jsonObj.get("deleted_at").isJsonNull()) && !jsonObj.get("deleted_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `deleted_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deleted_at").toString())); + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + // ensure the required json array is present + if (jsonObj.get("urgency_ids") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("urgency_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `urgency_ids` to be an array in the JSON string but got `%s`", jsonObj.get("urgency_ids").toString())); } - if (!jsonObj.get("created_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); + if ((jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) && !jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); } - if (!jsonObj.get("updated_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `updated_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updated_at").toString())); + // validate the optional field `operator` + if (jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) { + OperatorEnum.validateJsonElement(jsonObj.get("operator")); } } diff --git a/src/main/java/com/rootly/client/model/AlertUrgencyList.java b/src/main/java/com/rootly/client/model/AlertUrgencyList.java index bd8b94d5..1c1185f4 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyList.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyList.java @@ -54,7 +54,7 @@ /** * AlertUrgencyList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgencyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java b/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java index b1dcc0f7..5607af6d 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java @@ -52,7 +52,7 @@ /** * AlertUrgencyResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgencyResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java b/src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java index 985f77a7..f2d7820f 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java @@ -49,7 +49,7 @@ /** * AlertUrgencyResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgencyResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertsSource.java b/src/main/java/com/rootly/client/model/AlertsSource.java index cf97c8bd..080300fd 100644 --- a/src/main/java/com/rootly/client/model/AlertsSource.java +++ b/src/main/java/com/rootly/client/model/AlertsSource.java @@ -19,11 +19,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertsSourceAlertSourceFieldsAttributesInner; +import com.rootly.client.model.AlertsSourceAlertSourceUrgencyRulesAttributesInner; +import com.rootly.client.model.AlertsSourceAlertTemplateAttributes; +import com.rootly.client.model.AlertsSourceResolutionRuleAttributes; import com.rootly.client.model.AlertsSourceSourceableAttributes; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; -import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -56,7 +56,7 @@ /** * AlertsSource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSource { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -252,12 +252,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_ALERT_TEMPLATE_ATTRIBUTES = "alert_template_attributes"; @SerializedName(SERIALIZED_NAME_ALERT_TEMPLATE_ATTRIBUTES) @jakarta.annotation.Nullable - private NewAlertsSourceDataAttributesAlertTemplateAttributes alertTemplateAttributes; + private AlertsSourceAlertTemplateAttributes alertTemplateAttributes; public static final String SERIALIZED_NAME_ALERT_SOURCE_URGENCY_RULES_ATTRIBUTES = "alert_source_urgency_rules_attributes"; @SerializedName(SERIALIZED_NAME_ALERT_SOURCE_URGENCY_RULES_ATTRIBUTES) @jakarta.annotation.Nullable - private List alertSourceUrgencyRulesAttributes = new ArrayList<>(); + private List alertSourceUrgencyRulesAttributes = new ArrayList<>(); public static final String SERIALIZED_NAME_SOURCEABLE_ATTRIBUTES = "sourceable_attributes"; @SerializedName(SERIALIZED_NAME_SOURCEABLE_ATTRIBUTES) @@ -267,12 +267,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_RESOLUTION_RULE_ATTRIBUTES = "resolution_rule_attributes"; @SerializedName(SERIALIZED_NAME_RESOLUTION_RULE_ATTRIBUTES) @jakarta.annotation.Nullable - private NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes; + private AlertsSourceResolutionRuleAttributes resolutionRuleAttributes; public static final String SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES = "alert_source_fields_attributes"; @SerializedName(SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES) @jakarta.annotation.Nullable - private List alertSourceFieldsAttributes = new ArrayList<>(); + private List alertSourceFieldsAttributes = new ArrayList<>(); /** * The status of the alert source @@ -540,7 +540,7 @@ public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGrou } - public AlertsSource alertTemplateAttributes(@jakarta.annotation.Nullable NewAlertsSourceDataAttributesAlertTemplateAttributes alertTemplateAttributes) { + public AlertsSource alertTemplateAttributes(@jakarta.annotation.Nullable AlertsSourceAlertTemplateAttributes alertTemplateAttributes) { this.alertTemplateAttributes = alertTemplateAttributes; return this; } @@ -550,21 +550,21 @@ public AlertsSource alertTemplateAttributes(@jakarta.annotation.Nullable NewAler * @return alertTemplateAttributes */ @jakarta.annotation.Nullable - public NewAlertsSourceDataAttributesAlertTemplateAttributes getAlertTemplateAttributes() { + public AlertsSourceAlertTemplateAttributes getAlertTemplateAttributes() { return alertTemplateAttributes; } - public void setAlertTemplateAttributes(@jakarta.annotation.Nullable NewAlertsSourceDataAttributesAlertTemplateAttributes alertTemplateAttributes) { + public void setAlertTemplateAttributes(@jakarta.annotation.Nullable AlertsSourceAlertTemplateAttributes alertTemplateAttributes) { this.alertTemplateAttributes = alertTemplateAttributes; } - public AlertsSource alertSourceUrgencyRulesAttributes(@jakarta.annotation.Nullable List alertSourceUrgencyRulesAttributes) { + public AlertsSource alertSourceUrgencyRulesAttributes(@jakarta.annotation.Nullable List alertSourceUrgencyRulesAttributes) { this.alertSourceUrgencyRulesAttributes = alertSourceUrgencyRulesAttributes; return this; } - public AlertsSource addAlertSourceUrgencyRulesAttributesItem(NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner alertSourceUrgencyRulesAttributesItem) { + public AlertsSource addAlertSourceUrgencyRulesAttributesItem(AlertsSourceAlertSourceUrgencyRulesAttributesInner alertSourceUrgencyRulesAttributesItem) { if (this.alertSourceUrgencyRulesAttributes == null) { this.alertSourceUrgencyRulesAttributes = new ArrayList<>(); } @@ -577,11 +577,11 @@ public AlertsSource addAlertSourceUrgencyRulesAttributesItem(NewAlertsSourceData * @return alertSourceUrgencyRulesAttributes */ @jakarta.annotation.Nullable - public List getAlertSourceUrgencyRulesAttributes() { + public List getAlertSourceUrgencyRulesAttributes() { return alertSourceUrgencyRulesAttributes; } - public void setAlertSourceUrgencyRulesAttributes(@jakarta.annotation.Nullable List alertSourceUrgencyRulesAttributes) { + public void setAlertSourceUrgencyRulesAttributes(@jakarta.annotation.Nullable List alertSourceUrgencyRulesAttributes) { this.alertSourceUrgencyRulesAttributes = alertSourceUrgencyRulesAttributes; } @@ -605,7 +605,7 @@ public void setSourceableAttributes(@jakarta.annotation.Nullable AlertsSourceSou } - public AlertsSource resolutionRuleAttributes(@jakarta.annotation.Nullable NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes) { + public AlertsSource resolutionRuleAttributes(@jakarta.annotation.Nullable AlertsSourceResolutionRuleAttributes resolutionRuleAttributes) { this.resolutionRuleAttributes = resolutionRuleAttributes; return this; } @@ -615,21 +615,21 @@ public AlertsSource resolutionRuleAttributes(@jakarta.annotation.Nullable NewAle * @return resolutionRuleAttributes */ @jakarta.annotation.Nullable - public NewAlertsSourceDataAttributesResolutionRuleAttributes getResolutionRuleAttributes() { + public AlertsSourceResolutionRuleAttributes getResolutionRuleAttributes() { return resolutionRuleAttributes; } - public void setResolutionRuleAttributes(@jakarta.annotation.Nullable NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes) { + public void setResolutionRuleAttributes(@jakarta.annotation.Nullable AlertsSourceResolutionRuleAttributes resolutionRuleAttributes) { this.resolutionRuleAttributes = resolutionRuleAttributes; } - public AlertsSource alertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { + public AlertsSource alertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; return this; } - public AlertsSource addAlertSourceFieldsAttributesItem(NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { + public AlertsSource addAlertSourceFieldsAttributesItem(AlertsSourceAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { if (this.alertSourceFieldsAttributes == null) { this.alertSourceFieldsAttributes = new ArrayList<>(); } @@ -642,11 +642,11 @@ public AlertsSource addAlertSourceFieldsAttributesItem(NewAlertsSourceDataAttrib * @return alertSourceFieldsAttributes */ @jakarta.annotation.Nullable - public List getAlertSourceFieldsAttributes() { + public List getAlertSourceFieldsAttributes() { return alertSourceFieldsAttributes; } - public void setAlertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { + public void setAlertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; } @@ -949,7 +949,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the optional field `alert_template_attributes` if (jsonObj.get("alert_template_attributes") != null && !jsonObj.get("alert_template_attributes").isJsonNull()) { - NewAlertsSourceDataAttributesAlertTemplateAttributes.validateJsonElement(jsonObj.get("alert_template_attributes")); + AlertsSourceAlertTemplateAttributes.validateJsonElement(jsonObj.get("alert_template_attributes")); } if (jsonObj.get("alert_source_urgency_rules_attributes") != null && !jsonObj.get("alert_source_urgency_rules_attributes").isJsonNull()) { JsonArray jsonArrayalertSourceUrgencyRulesAttributes = jsonObj.getAsJsonArray("alert_source_urgency_rules_attributes"); @@ -961,7 +961,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `alert_source_urgency_rules_attributes` (array) for (int i = 0; i < jsonArrayalertSourceUrgencyRulesAttributes.size(); i++) { - NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.validateJsonElement(jsonArrayalertSourceUrgencyRulesAttributes.get(i)); + AlertsSourceAlertSourceUrgencyRulesAttributesInner.validateJsonElement(jsonArrayalertSourceUrgencyRulesAttributes.get(i)); }; } } @@ -971,7 +971,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the optional field `resolution_rule_attributes` if (jsonObj.get("resolution_rule_attributes") != null && !jsonObj.get("resolution_rule_attributes").isJsonNull()) { - NewAlertsSourceDataAttributesResolutionRuleAttributes.validateJsonElement(jsonObj.get("resolution_rule_attributes")); + AlertsSourceResolutionRuleAttributes.validateJsonElement(jsonObj.get("resolution_rule_attributes")); } if (jsonObj.get("alert_source_fields_attributes") != null && !jsonObj.get("alert_source_fields_attributes").isJsonNull()) { JsonArray jsonArrayalertSourceFieldsAttributes = jsonObj.getAsJsonArray("alert_source_fields_attributes"); @@ -983,7 +983,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `alert_source_fields_attributes` (array) for (int i = 0; i < jsonArrayalertSourceFieldsAttributes.size(); i++) { - NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); + AlertsSourceAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInner.java b/src/main/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInner.java new file mode 100644 index 00000000..ea829833 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInner.java @@ -0,0 +1,248 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertsSourceAlertSourceFieldsAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertsSourceAlertSourceFieldsAttributesInner { + public static final String SERIALIZED_NAME_ALERT_FIELD_ID = "alert_field_id"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELD_ID) + @jakarta.annotation.Nullable + private String alertFieldId; + + public static final String SERIALIZED_NAME_TEMPLATE_BODY = "template_body"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_BODY) + @jakarta.annotation.Nullable + private String templateBody; + + public AlertsSourceAlertSourceFieldsAttributesInner() { + } + + public AlertsSourceAlertSourceFieldsAttributesInner alertFieldId(@jakarta.annotation.Nullable String alertFieldId) { + this.alertFieldId = alertFieldId; + return this; + } + + /** + * The ID of the alert field + * @return alertFieldId + */ + @jakarta.annotation.Nullable + public String getAlertFieldId() { + return alertFieldId; + } + + public void setAlertFieldId(@jakarta.annotation.Nullable String alertFieldId) { + this.alertFieldId = alertFieldId; + } + + + public AlertsSourceAlertSourceFieldsAttributesInner templateBody(@jakarta.annotation.Nullable String templateBody) { + this.templateBody = templateBody; + return this; + } + + /** + * Liquid expression to extract a specific value from the alert's payload for evaluation + * @return templateBody + */ + @jakarta.annotation.Nullable + public String getTemplateBody() { + return templateBody; + } + + public void setTemplateBody(@jakarta.annotation.Nullable String templateBody) { + this.templateBody = templateBody; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertsSourceAlertSourceFieldsAttributesInner alertsSourceAlertSourceFieldsAttributesInner = (AlertsSourceAlertSourceFieldsAttributesInner) o; + return Objects.equals(this.alertFieldId, alertsSourceAlertSourceFieldsAttributesInner.alertFieldId) && + Objects.equals(this.templateBody, alertsSourceAlertSourceFieldsAttributesInner.templateBody); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(alertFieldId, templateBody); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertsSourceAlertSourceFieldsAttributesInner {\n"); + sb.append(" alertFieldId: ").append(toIndentedString(alertFieldId)).append("\n"); + sb.append(" templateBody: ").append(toIndentedString(templateBody)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("alert_field_id"); + openapiFields.add("template_body"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertsSourceAlertSourceFieldsAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertsSourceAlertSourceFieldsAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertsSourceAlertSourceFieldsAttributesInner is not found in the empty JSON string", AlertsSourceAlertSourceFieldsAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertsSourceAlertSourceFieldsAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertsSourceAlertSourceFieldsAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("alert_field_id") != null && !jsonObj.get("alert_field_id").isJsonNull()) && !jsonObj.get("alert_field_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_field_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_field_id").toString())); + } + if ((jsonObj.get("template_body") != null && !jsonObj.get("template_body").isJsonNull()) && !jsonObj.get("template_body").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `template_body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("template_body").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertsSourceAlertSourceFieldsAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertsSourceAlertSourceFieldsAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertsSourceAlertSourceFieldsAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertsSourceAlertSourceFieldsAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertsSourceAlertSourceFieldsAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertsSourceAlertSourceFieldsAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertsSourceAlertSourceFieldsAttributesInner + * @throws IOException if the JSON string is invalid with respect to AlertsSourceAlertSourceFieldsAttributesInner + */ + public static AlertsSourceAlertSourceFieldsAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertsSourceAlertSourceFieldsAttributesInner.class); + } + + /** + * Convert an instance of AlertsSourceAlertSourceFieldsAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInner.java b/src/main/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInner.java new file mode 100644 index 00000000..35f480c8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInner.java @@ -0,0 +1,568 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertsSourceAlertSourceUrgencyRulesAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertsSourceAlertSourceUrgencyRulesAttributesInner { + public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; + @SerializedName(SERIALIZED_NAME_JSON_PATH) + @jakarta.annotation.Nullable + private String jsonPath; + + /** + * Comparison operator used to evaluate the extracted value against the specified condition + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + CONTAINS("contains"), + + DOES_NOT_CONTAIN("does_not_contain"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @jakarta.annotation.Nullable + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @jakarta.annotation.Nullable + private String value; + + /** + * The type of the conditionable + */ + @JsonAdapter(ConditionableTypeEnum.Adapter.class) + public enum ConditionableTypeEnum { + ALERT_FIELD("AlertField"); + + private String value; + + ConditionableTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionableTypeEnum fromValue(String value) { + for (ConditionableTypeEnum b : ConditionableTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConditionableTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionableTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionableTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionableTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITIONABLE_TYPE = "conditionable_type"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_TYPE) + @jakarta.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @jakarta.annotation.Nullable + private String conditionableId; + + /** + * The kind of the conditionable + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + PAYLOAD("payload"), + + ALERT_FIELD("alert_field"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @jakarta.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) + @jakarta.annotation.Nullable + private String alertUrgencyId; + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner() { + } + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner jsonPath(@jakarta.annotation.Nullable String jsonPath) { + this.jsonPath = jsonPath; + return this; + } + + /** + * JSON path expression to extract a specific value from the alert's payload for evaluation + * @return jsonPath + */ + @jakarta.annotation.Nullable + public String getJsonPath() { + return jsonPath; + } + + public void setJsonPath(@jakarta.annotation.Nullable String jsonPath) { + this.jsonPath = jsonPath; + } + + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner operator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * Comparison operator used to evaluate the extracted value against the specified condition + * @return operator + */ + @jakarta.annotation.Nullable + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; + } + + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner value(@jakarta.annotation.Nullable String value) { + this.value = value; + return this; + } + + /** + * Value that the extracted payload data is compared to using the specified operator to determine a match + * @return value + */ + @jakarta.annotation.Nullable + public String getValue() { + return value; + } + + public void setValue(@jakarta.annotation.Nullable String value) { + this.value = value; + } + + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner conditionableType(@jakarta.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @jakarta.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@jakarta.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner conditionableId(@jakarta.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable. If conditionable_type is AlertField, this is the ID of the alert field. + * @return conditionableId + */ + @jakarta.annotation.Nullable + public String getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@jakarta.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + } + + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner kind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the conditionable + * @return kind + */ + @jakarta.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public AlertsSourceAlertSourceUrgencyRulesAttributesInner alertUrgencyId(@jakarta.annotation.Nullable String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + return this; + } + + /** + * The ID of the alert urgency + * @return alertUrgencyId + */ + @jakarta.annotation.Nullable + public String getAlertUrgencyId() { + return alertUrgencyId; + } + + public void setAlertUrgencyId(@jakarta.annotation.Nullable String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertsSourceAlertSourceUrgencyRulesAttributesInner alertsSourceAlertSourceUrgencyRulesAttributesInner = (AlertsSourceAlertSourceUrgencyRulesAttributesInner) o; + return Objects.equals(this.jsonPath, alertsSourceAlertSourceUrgencyRulesAttributesInner.jsonPath) && + Objects.equals(this.operator, alertsSourceAlertSourceUrgencyRulesAttributesInner.operator) && + Objects.equals(this.value, alertsSourceAlertSourceUrgencyRulesAttributesInner.value) && + Objects.equals(this.conditionableType, alertsSourceAlertSourceUrgencyRulesAttributesInner.conditionableType) && + Objects.equals(this.conditionableId, alertsSourceAlertSourceUrgencyRulesAttributesInner.conditionableId) && + Objects.equals(this.kind, alertsSourceAlertSourceUrgencyRulesAttributesInner.kind) && + Objects.equals(this.alertUrgencyId, alertsSourceAlertSourceUrgencyRulesAttributesInner.alertUrgencyId); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(jsonPath, operator, value, conditionableType, conditionableId, kind, alertUrgencyId); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertsSourceAlertSourceUrgencyRulesAttributesInner {\n"); + sb.append(" jsonPath: ").append(toIndentedString(jsonPath)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).append("\n"); + sb.append(" conditionableId: ").append(toIndentedString(conditionableId)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("json_path"); + openapiFields.add("operator"); + openapiFields.add("value"); + openapiFields.add("conditionable_type"); + openapiFields.add("conditionable_id"); + openapiFields.add("kind"); + openapiFields.add("alert_urgency_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertsSourceAlertSourceUrgencyRulesAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertsSourceAlertSourceUrgencyRulesAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertsSourceAlertSourceUrgencyRulesAttributesInner is not found in the empty JSON string", AlertsSourceAlertSourceUrgencyRulesAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertsSourceAlertSourceUrgencyRulesAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertsSourceAlertSourceUrgencyRulesAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("json_path") != null && !jsonObj.get("json_path").isJsonNull()) && !jsonObj.get("json_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `json_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("json_path").toString())); + } + if ((jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) && !jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); + } + // validate the optional field `operator` + if (jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) { + OperatorEnum.validateJsonElement(jsonObj.get("operator")); + } + if ((jsonObj.get("value") != null && !jsonObj.get("value").isJsonNull()) && !jsonObj.get("value").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `value` to be a primitive type in the JSON string but got `%s`", jsonObj.get("value").toString())); + } + if ((jsonObj.get("conditionable_type") != null && !jsonObj.get("conditionable_type").isJsonNull()) && !jsonObj.get("conditionable_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `conditionable_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conditionable_type").toString())); + } + // validate the optional field `conditionable_type` + if (jsonObj.get("conditionable_type") != null && !jsonObj.get("conditionable_type").isJsonNull()) { + ConditionableTypeEnum.validateJsonElement(jsonObj.get("conditionable_type")); + } + if ((jsonObj.get("conditionable_id") != null && !jsonObj.get("conditionable_id").isJsonNull()) && !jsonObj.get("conditionable_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `conditionable_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conditionable_id").toString())); + } + if ((jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) && !jsonObj.get("kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + KindEnum.validateJsonElement(jsonObj.get("kind")); + } + if ((jsonObj.get("alert_urgency_id") != null && !jsonObj.get("alert_urgency_id").isJsonNull()) && !jsonObj.get("alert_urgency_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_urgency_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_urgency_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertsSourceAlertSourceUrgencyRulesAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertsSourceAlertSourceUrgencyRulesAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertsSourceAlertSourceUrgencyRulesAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertsSourceAlertSourceUrgencyRulesAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertsSourceAlertSourceUrgencyRulesAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertsSourceAlertSourceUrgencyRulesAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertsSourceAlertSourceUrgencyRulesAttributesInner + * @throws IOException if the JSON string is invalid with respect to AlertsSourceAlertSourceUrgencyRulesAttributesInner + */ + public static AlertsSourceAlertSourceUrgencyRulesAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertsSourceAlertSourceUrgencyRulesAttributesInner.class); + } + + /** + * Convert an instance of AlertsSourceAlertSourceUrgencyRulesAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributes.java b/src/main/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributes.java new file mode 100644 index 00000000..bf0c8d73 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributes.java @@ -0,0 +1,278 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertsSourceAlertTemplateAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertsSourceAlertTemplateAttributes { + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @jakarta.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_EXTERNAL_URL = "external_url"; + @SerializedName(SERIALIZED_NAME_EXTERNAL_URL) + @jakarta.annotation.Nullable + private String externalUrl; + + public AlertsSourceAlertTemplateAttributes() { + } + + public AlertsSourceAlertTemplateAttributes title(@jakarta.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The alert title. + * @return title + */ + @jakarta.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@jakarta.annotation.Nullable String title) { + this.title = title; + } + + + public AlertsSourceAlertTemplateAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The alert description. + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public AlertsSourceAlertTemplateAttributes externalUrl(@jakarta.annotation.Nullable String externalUrl) { + this.externalUrl = externalUrl; + return this; + } + + /** + * The alert URL. + * @return externalUrl + */ + @jakarta.annotation.Nullable + public String getExternalUrl() { + return externalUrl; + } + + public void setExternalUrl(@jakarta.annotation.Nullable String externalUrl) { + this.externalUrl = externalUrl; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertsSourceAlertTemplateAttributes alertsSourceAlertTemplateAttributes = (AlertsSourceAlertTemplateAttributes) o; + return Objects.equals(this.title, alertsSourceAlertTemplateAttributes.title) && + Objects.equals(this.description, alertsSourceAlertTemplateAttributes.description) && + Objects.equals(this.externalUrl, alertsSourceAlertTemplateAttributes.externalUrl); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(title, description, externalUrl); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertsSourceAlertTemplateAttributes {\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" externalUrl: ").append(toIndentedString(externalUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("title"); + openapiFields.add("description"); + openapiFields.add("external_url"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertsSourceAlertTemplateAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertsSourceAlertTemplateAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertsSourceAlertTemplateAttributes is not found in the empty JSON string", AlertsSourceAlertTemplateAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertsSourceAlertTemplateAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertsSourceAlertTemplateAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("title") != null && !jsonObj.get("title").isJsonNull()) && !jsonObj.get("title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("external_url") != null && !jsonObj.get("external_url").isJsonNull()) && !jsonObj.get("external_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `external_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("external_url").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertsSourceAlertTemplateAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertsSourceAlertTemplateAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertsSourceAlertTemplateAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertsSourceAlertTemplateAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertsSourceAlertTemplateAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertsSourceAlertTemplateAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertsSourceAlertTemplateAttributes + * @throws IOException if the JSON string is invalid with respect to AlertsSourceAlertTemplateAttributes + */ + public static AlertsSourceAlertTemplateAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertsSourceAlertTemplateAttributes.class); + } + + /** + * Convert an instance of AlertsSourceAlertTemplateAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertsSourceList.java b/src/main/java/com/rootly/client/model/AlertsSourceList.java index ef2742e4..103a53d1 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceList.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceList.java @@ -54,7 +54,7 @@ /** * AlertsSourceList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSourceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributes.java b/src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributes.java new file mode 100644 index 00000000..ad9615d5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributes.java @@ -0,0 +1,613 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertsSourceResolutionRuleAttributesConditionsAttributesInner; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Provide additional attributes for email alerts source + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertsSourceResolutionRuleAttributes { + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @jakarta.annotation.Nullable + private Boolean enabled; + + /** + * The type of condition to evaluate to apply auto resolution rule + */ + @JsonAdapter(ConditionTypeEnum.Adapter.class) + public enum ConditionTypeEnum { + ALL("all"), + + ANY("any"); + + private String value; + + ConditionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionTypeEnum fromValue(String value) { + for (ConditionTypeEnum b : ConditionTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConditionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITION_TYPE = "condition_type"; + @SerializedName(SERIALIZED_NAME_CONDITION_TYPE) + @jakarta.annotation.Nullable + private ConditionTypeEnum conditionType; + + /** + * The type of the identifier matchable + */ + @JsonAdapter(IdentifierMatchableTypeEnum.Adapter.class) + public enum IdentifierMatchableTypeEnum { + ALERT_FIELD("AlertField"); + + private String value; + + IdentifierMatchableTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdentifierMatchableTypeEnum fromValue(String value) { + for (IdentifierMatchableTypeEnum b : IdentifierMatchableTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdentifierMatchableTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdentifierMatchableTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdentifierMatchableTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IdentifierMatchableTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_IDENTIFIER_MATCHABLE_TYPE = "identifier_matchable_type"; + @SerializedName(SERIALIZED_NAME_IDENTIFIER_MATCHABLE_TYPE) + @jakarta.annotation.Nullable + private IdentifierMatchableTypeEnum identifierMatchableType; + + public static final String SERIALIZED_NAME_IDENTIFIER_MATCHABLE_ID = "identifier_matchable_id"; + @SerializedName(SERIALIZED_NAME_IDENTIFIER_MATCHABLE_ID) + @jakarta.annotation.Nullable + private String identifierMatchableId; + + /** + * The kind of the identifier reference + */ + @JsonAdapter(IdentifierReferenceKindEnum.Adapter.class) + public enum IdentifierReferenceKindEnum { + PAYLOAD("payload"), + + ALERT_FIELD("alert_field"); + + private String value; + + IdentifierReferenceKindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdentifierReferenceKindEnum fromValue(String value) { + for (IdentifierReferenceKindEnum b : IdentifierReferenceKindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdentifierReferenceKindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdentifierReferenceKindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdentifierReferenceKindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IdentifierReferenceKindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_IDENTIFIER_REFERENCE_KIND = "identifier_reference_kind"; + @SerializedName(SERIALIZED_NAME_IDENTIFIER_REFERENCE_KIND) + @jakarta.annotation.Nullable + private IdentifierReferenceKindEnum identifierReferenceKind; + + public static final String SERIALIZED_NAME_IDENTIFIER_JSON_PATH = "identifier_json_path"; + @SerializedName(SERIALIZED_NAME_IDENTIFIER_JSON_PATH) + @jakarta.annotation.Nullable + private String identifierJsonPath; + + public static final String SERIALIZED_NAME_IDENTIFIER_VALUE_REGEX = "identifier_value_regex"; + @SerializedName(SERIALIZED_NAME_IDENTIFIER_VALUE_REGEX) + @jakarta.annotation.Nullable + private String identifierValueRegex; + + public static final String SERIALIZED_NAME_CONDITIONS_ATTRIBUTES = "conditions_attributes"; + @SerializedName(SERIALIZED_NAME_CONDITIONS_ATTRIBUTES) + @jakarta.annotation.Nullable + private List conditionsAttributes = new ArrayList<>(); + + public AlertsSourceResolutionRuleAttributes() { + } + + public AlertsSourceResolutionRuleAttributes enabled(@jakarta.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Set this to true to enable the auto resolution rule + * @return enabled + */ + @jakarta.annotation.Nullable + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@jakarta.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + } + + + public AlertsSourceResolutionRuleAttributes conditionType(@jakarta.annotation.Nullable ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + return this; + } + + /** + * The type of condition to evaluate to apply auto resolution rule + * @return conditionType + */ + @jakarta.annotation.Nullable + public ConditionTypeEnum getConditionType() { + return conditionType; + } + + public void setConditionType(@jakarta.annotation.Nullable ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + } + + + public AlertsSourceResolutionRuleAttributes identifierMatchableType(@jakarta.annotation.Nullable IdentifierMatchableTypeEnum identifierMatchableType) { + this.identifierMatchableType = identifierMatchableType; + return this; + } + + /** + * The type of the identifier matchable + * @return identifierMatchableType + */ + @jakarta.annotation.Nullable + public IdentifierMatchableTypeEnum getIdentifierMatchableType() { + return identifierMatchableType; + } + + public void setIdentifierMatchableType(@jakarta.annotation.Nullable IdentifierMatchableTypeEnum identifierMatchableType) { + this.identifierMatchableType = identifierMatchableType; + } + + + public AlertsSourceResolutionRuleAttributes identifierMatchableId(@jakarta.annotation.Nullable String identifierMatchableId) { + this.identifierMatchableId = identifierMatchableId; + return this; + } + + /** + * The ID of the identifier matchable. If identifier_matchable_type is AlertField, this is the ID of the alert field. + * @return identifierMatchableId + */ + @jakarta.annotation.Nullable + public String getIdentifierMatchableId() { + return identifierMatchableId; + } + + public void setIdentifierMatchableId(@jakarta.annotation.Nullable String identifierMatchableId) { + this.identifierMatchableId = identifierMatchableId; + } + + + public AlertsSourceResolutionRuleAttributes identifierReferenceKind(@jakarta.annotation.Nullable IdentifierReferenceKindEnum identifierReferenceKind) { + this.identifierReferenceKind = identifierReferenceKind; + return this; + } + + /** + * The kind of the identifier reference + * @return identifierReferenceKind + */ + @jakarta.annotation.Nullable + public IdentifierReferenceKindEnum getIdentifierReferenceKind() { + return identifierReferenceKind; + } + + public void setIdentifierReferenceKind(@jakarta.annotation.Nullable IdentifierReferenceKindEnum identifierReferenceKind) { + this.identifierReferenceKind = identifierReferenceKind; + } + + + public AlertsSourceResolutionRuleAttributes identifierJsonPath(@jakarta.annotation.Nullable String identifierJsonPath) { + this.identifierJsonPath = identifierJsonPath; + return this; + } + + /** + * JSON path expression to extract unique alert identifier used to match triggered alerts with resolving alerts + * @return identifierJsonPath + */ + @jakarta.annotation.Nullable + public String getIdentifierJsonPath() { + return identifierJsonPath; + } + + public void setIdentifierJsonPath(@jakarta.annotation.Nullable String identifierJsonPath) { + this.identifierJsonPath = identifierJsonPath; + } + + + public AlertsSourceResolutionRuleAttributes identifierValueRegex(@jakarta.annotation.Nullable String identifierValueRegex) { + this.identifierValueRegex = identifierValueRegex; + return this; + } + + /** + * Regex group to further specify the part of the string used as a unique identifier + * @return identifierValueRegex + */ + @jakarta.annotation.Nullable + public String getIdentifierValueRegex() { + return identifierValueRegex; + } + + public void setIdentifierValueRegex(@jakarta.annotation.Nullable String identifierValueRegex) { + this.identifierValueRegex = identifierValueRegex; + } + + + public AlertsSourceResolutionRuleAttributes conditionsAttributes(@jakarta.annotation.Nullable List conditionsAttributes) { + this.conditionsAttributes = conditionsAttributes; + return this; + } + + public AlertsSourceResolutionRuleAttributes addConditionsAttributesItem(AlertsSourceResolutionRuleAttributesConditionsAttributesInner conditionsAttributesItem) { + if (this.conditionsAttributes == null) { + this.conditionsAttributes = new ArrayList<>(); + } + this.conditionsAttributes.add(conditionsAttributesItem); + return this; + } + + /** + * List of conditions to evaluate for auto resolution + * @return conditionsAttributes + */ + @jakarta.annotation.Nullable + public List getConditionsAttributes() { + return conditionsAttributes; + } + + public void setConditionsAttributes(@jakarta.annotation.Nullable List conditionsAttributes) { + this.conditionsAttributes = conditionsAttributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertsSourceResolutionRuleAttributes alertsSourceResolutionRuleAttributes = (AlertsSourceResolutionRuleAttributes) o; + return Objects.equals(this.enabled, alertsSourceResolutionRuleAttributes.enabled) && + Objects.equals(this.conditionType, alertsSourceResolutionRuleAttributes.conditionType) && + Objects.equals(this.identifierMatchableType, alertsSourceResolutionRuleAttributes.identifierMatchableType) && + Objects.equals(this.identifierMatchableId, alertsSourceResolutionRuleAttributes.identifierMatchableId) && + Objects.equals(this.identifierReferenceKind, alertsSourceResolutionRuleAttributes.identifierReferenceKind) && + Objects.equals(this.identifierJsonPath, alertsSourceResolutionRuleAttributes.identifierJsonPath) && + Objects.equals(this.identifierValueRegex, alertsSourceResolutionRuleAttributes.identifierValueRegex) && + Objects.equals(this.conditionsAttributes, alertsSourceResolutionRuleAttributes.conditionsAttributes); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, conditionType, identifierMatchableType, identifierMatchableId, identifierReferenceKind, identifierJsonPath, identifierValueRegex, conditionsAttributes); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertsSourceResolutionRuleAttributes {\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); + sb.append(" identifierMatchableType: ").append(toIndentedString(identifierMatchableType)).append("\n"); + sb.append(" identifierMatchableId: ").append(toIndentedString(identifierMatchableId)).append("\n"); + sb.append(" identifierReferenceKind: ").append(toIndentedString(identifierReferenceKind)).append("\n"); + sb.append(" identifierJsonPath: ").append(toIndentedString(identifierJsonPath)).append("\n"); + sb.append(" identifierValueRegex: ").append(toIndentedString(identifierValueRegex)).append("\n"); + sb.append(" conditionsAttributes: ").append(toIndentedString(conditionsAttributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("enabled"); + openapiFields.add("condition_type"); + openapiFields.add("identifier_matchable_type"); + openapiFields.add("identifier_matchable_id"); + openapiFields.add("identifier_reference_kind"); + openapiFields.add("identifier_json_path"); + openapiFields.add("identifier_value_regex"); + openapiFields.add("conditions_attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertsSourceResolutionRuleAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertsSourceResolutionRuleAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertsSourceResolutionRuleAttributes is not found in the empty JSON string", AlertsSourceResolutionRuleAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertsSourceResolutionRuleAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertsSourceResolutionRuleAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("condition_type") != null && !jsonObj.get("condition_type").isJsonNull()) && !jsonObj.get("condition_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `condition_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("condition_type").toString())); + } + // validate the optional field `condition_type` + if (jsonObj.get("condition_type") != null && !jsonObj.get("condition_type").isJsonNull()) { + ConditionTypeEnum.validateJsonElement(jsonObj.get("condition_type")); + } + if ((jsonObj.get("identifier_matchable_type") != null && !jsonObj.get("identifier_matchable_type").isJsonNull()) && !jsonObj.get("identifier_matchable_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `identifier_matchable_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("identifier_matchable_type").toString())); + } + // validate the optional field `identifier_matchable_type` + if (jsonObj.get("identifier_matchable_type") != null && !jsonObj.get("identifier_matchable_type").isJsonNull()) { + IdentifierMatchableTypeEnum.validateJsonElement(jsonObj.get("identifier_matchable_type")); + } + if ((jsonObj.get("identifier_matchable_id") != null && !jsonObj.get("identifier_matchable_id").isJsonNull()) && !jsonObj.get("identifier_matchable_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `identifier_matchable_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("identifier_matchable_id").toString())); + } + if ((jsonObj.get("identifier_reference_kind") != null && !jsonObj.get("identifier_reference_kind").isJsonNull()) && !jsonObj.get("identifier_reference_kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `identifier_reference_kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("identifier_reference_kind").toString())); + } + // validate the optional field `identifier_reference_kind` + if (jsonObj.get("identifier_reference_kind") != null && !jsonObj.get("identifier_reference_kind").isJsonNull()) { + IdentifierReferenceKindEnum.validateJsonElement(jsonObj.get("identifier_reference_kind")); + } + if ((jsonObj.get("identifier_json_path") != null && !jsonObj.get("identifier_json_path").isJsonNull()) && !jsonObj.get("identifier_json_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `identifier_json_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("identifier_json_path").toString())); + } + if ((jsonObj.get("identifier_value_regex") != null && !jsonObj.get("identifier_value_regex").isJsonNull()) && !jsonObj.get("identifier_value_regex").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `identifier_value_regex` to be a primitive type in the JSON string but got `%s`", jsonObj.get("identifier_value_regex").toString())); + } + if (jsonObj.get("conditions_attributes") != null && !jsonObj.get("conditions_attributes").isJsonNull()) { + JsonArray jsonArrayconditionsAttributes = jsonObj.getAsJsonArray("conditions_attributes"); + if (jsonArrayconditionsAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("conditions_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `conditions_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("conditions_attributes").toString())); + } + + // validate the optional field `conditions_attributes` (array) + for (int i = 0; i < jsonArrayconditionsAttributes.size(); i++) { + AlertsSourceResolutionRuleAttributesConditionsAttributesInner.validateJsonElement(jsonArrayconditionsAttributes.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertsSourceResolutionRuleAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertsSourceResolutionRuleAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertsSourceResolutionRuleAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertsSourceResolutionRuleAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertsSourceResolutionRuleAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertsSourceResolutionRuleAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertsSourceResolutionRuleAttributes + * @throws IOException if the JSON string is invalid with respect to AlertsSourceResolutionRuleAttributes + */ + public static AlertsSourceResolutionRuleAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertsSourceResolutionRuleAttributes.class); + } + + /** + * Convert an instance of AlertsSourceResolutionRuleAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.java b/src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.java new file mode 100644 index 00000000..c7daefd4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInner.java @@ -0,0 +1,542 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertsSourceResolutionRuleAttributesConditionsAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertsSourceResolutionRuleAttributesConditionsAttributesInner { + public static final String SERIALIZED_NAME_FIELD = "field"; + @SerializedName(SERIALIZED_NAME_FIELD) + @jakarta.annotation.Nullable + private String field; + + /** + * Comparison operator used to evaluate the extracted value against the specified condition + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + CONTAINS("contains"), + + DOES_NOT_CONTAIN("does_not_contain"), + + STARTS_WITH("starts_with"), + + ENDS_WITH("ends_with"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @jakarta.annotation.Nullable + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @jakarta.annotation.Nullable + private String value; + + /** + * The type of the conditionable + */ + @JsonAdapter(ConditionableTypeEnum.Adapter.class) + public enum ConditionableTypeEnum { + ALERT_FIELD("AlertField"); + + private String value; + + ConditionableTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionableTypeEnum fromValue(String value) { + for (ConditionableTypeEnum b : ConditionableTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ConditionableTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionableTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionableTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionableTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITIONABLE_TYPE = "conditionable_type"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_TYPE) + @jakarta.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @jakarta.annotation.Nullable + private String conditionableId; + + /** + * The kind of the conditionable + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + PAYLOAD("payload"), + + ALERT_FIELD("alert_field"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @jakarta.annotation.Nullable + private KindEnum kind; + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner() { + } + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner field(@jakarta.annotation.Nullable String field) { + this.field = field; + return this; + } + + /** + * JSON path expression to extract a specific value from the alert's payload for evaluation + * @return field + */ + @jakarta.annotation.Nullable + public String getField() { + return field; + } + + public void setField(@jakarta.annotation.Nullable String field) { + this.field = field; + } + + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner operator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * Comparison operator used to evaluate the extracted value against the specified condition + * @return operator + */ + @jakarta.annotation.Nullable + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; + } + + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner value(@jakarta.annotation.Nullable String value) { + this.value = value; + return this; + } + + /** + * Value that the extracted payload data is compared to using the specified operator to determine a match + * @return value + */ + @jakarta.annotation.Nullable + public String getValue() { + return value; + } + + public void setValue(@jakarta.annotation.Nullable String value) { + this.value = value; + } + + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner conditionableType(@jakarta.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @jakarta.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@jakarta.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner conditionableId(@jakarta.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable. If conditionable_type is AlertField, this is the ID of the alert field. + * @return conditionableId + */ + @jakarta.annotation.Nullable + public String getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@jakarta.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + } + + + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner kind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the conditionable + * @return kind + */ + @jakarta.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertsSourceResolutionRuleAttributesConditionsAttributesInner alertsSourceResolutionRuleAttributesConditionsAttributesInner = (AlertsSourceResolutionRuleAttributesConditionsAttributesInner) o; + return Objects.equals(this.field, alertsSourceResolutionRuleAttributesConditionsAttributesInner.field) && + Objects.equals(this.operator, alertsSourceResolutionRuleAttributesConditionsAttributesInner.operator) && + Objects.equals(this.value, alertsSourceResolutionRuleAttributesConditionsAttributesInner.value) && + Objects.equals(this.conditionableType, alertsSourceResolutionRuleAttributesConditionsAttributesInner.conditionableType) && + Objects.equals(this.conditionableId, alertsSourceResolutionRuleAttributesConditionsAttributesInner.conditionableId) && + Objects.equals(this.kind, alertsSourceResolutionRuleAttributesConditionsAttributesInner.kind); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(field, operator, value, conditionableType, conditionableId, kind); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertsSourceResolutionRuleAttributesConditionsAttributesInner {\n"); + sb.append(" field: ").append(toIndentedString(field)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).append("\n"); + sb.append(" conditionableId: ").append(toIndentedString(conditionableId)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("field"); + openapiFields.add("operator"); + openapiFields.add("value"); + openapiFields.add("conditionable_type"); + openapiFields.add("conditionable_id"); + openapiFields.add("kind"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertsSourceResolutionRuleAttributesConditionsAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertsSourceResolutionRuleAttributesConditionsAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertsSourceResolutionRuleAttributesConditionsAttributesInner is not found in the empty JSON string", AlertsSourceResolutionRuleAttributesConditionsAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertsSourceResolutionRuleAttributesConditionsAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertsSourceResolutionRuleAttributesConditionsAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("field") != null && !jsonObj.get("field").isJsonNull()) && !jsonObj.get("field").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field").toString())); + } + if ((jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) && !jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); + } + // validate the optional field `operator` + if (jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) { + OperatorEnum.validateJsonElement(jsonObj.get("operator")); + } + if ((jsonObj.get("value") != null && !jsonObj.get("value").isJsonNull()) && !jsonObj.get("value").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `value` to be a primitive type in the JSON string but got `%s`", jsonObj.get("value").toString())); + } + if ((jsonObj.get("conditionable_type") != null && !jsonObj.get("conditionable_type").isJsonNull()) && !jsonObj.get("conditionable_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `conditionable_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conditionable_type").toString())); + } + // validate the optional field `conditionable_type` + if (jsonObj.get("conditionable_type") != null && !jsonObj.get("conditionable_type").isJsonNull()) { + ConditionableTypeEnum.validateJsonElement(jsonObj.get("conditionable_type")); + } + if ((jsonObj.get("conditionable_id") != null && !jsonObj.get("conditionable_id").isJsonNull()) && !jsonObj.get("conditionable_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `conditionable_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("conditionable_id").toString())); + } + if ((jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) && !jsonObj.get("kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + KindEnum.validateJsonElement(jsonObj.get("kind")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertsSourceResolutionRuleAttributesConditionsAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertsSourceResolutionRuleAttributesConditionsAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertsSourceResolutionRuleAttributesConditionsAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertsSourceResolutionRuleAttributesConditionsAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertsSourceResolutionRuleAttributesConditionsAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertsSourceResolutionRuleAttributesConditionsAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertsSourceResolutionRuleAttributesConditionsAttributesInner + * @throws IOException if the JSON string is invalid with respect to AlertsSourceResolutionRuleAttributesConditionsAttributesInner + */ + public static AlertsSourceResolutionRuleAttributesConditionsAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertsSourceResolutionRuleAttributesConditionsAttributesInner.class); + } + + /** + * Convert an instance of AlertsSourceResolutionRuleAttributesConditionsAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/AlertsSourceResponse.java b/src/main/java/com/rootly/client/model/AlertsSourceResponse.java index 1e0abda3..c2eb96d4 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceResponse.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceResponse.java @@ -52,7 +52,7 @@ /** * AlertsSourceResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSourceResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AlertsSourceResponseData.java b/src/main/java/com/rootly/client/model/AlertsSourceResponseData.java index a8fd383e..a3d1cb85 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceResponseData.java @@ -49,7 +49,7 @@ /** * AlertsSourceResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSourceResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributes.java b/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributes.java index fc9eade3..96ccdda8 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributes.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributes.java @@ -19,7 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner; +import com.rootly.client.model.AlertsSourceSourceableAttributesFieldMappingsAttributesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -51,9 +51,9 @@ import com.rootly.client.JSON; /** - * Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails` applies to email sources. + * Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails`, `notification_target_type` and `notification_target_id` apply to email sources. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSourceSourceableAttributes { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -75,10 +75,78 @@ public class AlertsSourceSourceableAttributes { @jakarta.annotation.Nullable private Boolean acceptThreadedEmails; + /** + * Email sources only. The type of the notification target every alert from this source pages directly; While it points to an active, pageable target, Alert Routes are not evaluated. Only used when the `email-alert-source-notification-target` feature flag is on for the team. + */ + @JsonAdapter(NotificationTargetTypeEnum.Adapter.class) + public enum NotificationTargetTypeEnum { + ESCALATION_POLICY("EscalationPolicy"), + + GROUP("Group"), + + SERVICE("Service"), + + FUNCTIONALITY("Functionality"), + + USER("User"); + + private String value; + + NotificationTargetTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTargetTypeEnum fromValue(String value) { + for (NotificationTargetTypeEnum b : NotificationTargetTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTargetTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTargetTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTargetTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + NotificationTargetTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TARGET_TYPE = "notification_target_type"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TARGET_TYPE) + @jakarta.annotation.Nullable + private NotificationTargetTypeEnum notificationTargetType; + + public static final String SERIALIZED_NAME_NOTIFICATION_TARGET_ID = "notification_target_id"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TARGET_ID) + @jakarta.annotation.Nullable + private String notificationTargetId; + public static final String SERIALIZED_NAME_FIELD_MAPPINGS_ATTRIBUTES = "field_mappings_attributes"; @SerializedName(SERIALIZED_NAME_FIELD_MAPPINGS_ATTRIBUTES) @jakarta.annotation.Nullable - private List fieldMappingsAttributes = new ArrayList<>(); + private List fieldMappingsAttributes = new ArrayList<>(); public AlertsSourceSourceableAttributes() { } @@ -159,12 +227,50 @@ public void setAcceptThreadedEmails(@jakarta.annotation.Nullable Boolean acceptT } - public AlertsSourceSourceableAttributes fieldMappingsAttributes(@jakarta.annotation.Nullable List fieldMappingsAttributes) { + public AlertsSourceSourceableAttributes notificationTargetType(@jakarta.annotation.Nullable NotificationTargetTypeEnum notificationTargetType) { + this.notificationTargetType = notificationTargetType; + return this; + } + + /** + * Email sources only. The type of the notification target every alert from this source pages directly; While it points to an active, pageable target, Alert Routes are not evaluated. Only used when the `email-alert-source-notification-target` feature flag is on for the team. + * @return notificationTargetType + */ + @jakarta.annotation.Nullable + public NotificationTargetTypeEnum getNotificationTargetType() { + return notificationTargetType; + } + + public void setNotificationTargetType(@jakarta.annotation.Nullable NotificationTargetTypeEnum notificationTargetType) { + this.notificationTargetType = notificationTargetType; + } + + + public AlertsSourceSourceableAttributes notificationTargetId(@jakarta.annotation.Nullable String notificationTargetId) { + this.notificationTargetId = notificationTargetId; + return this; + } + + /** + * Email sources only. The ID of the notification target. Set to null to clear it; this also clears `notification_target_type`. Only used when the `email-alert-source-notification-target` feature flag is on for the team. + * @return notificationTargetId + */ + @jakarta.annotation.Nullable + public String getNotificationTargetId() { + return notificationTargetId; + } + + public void setNotificationTargetId(@jakarta.annotation.Nullable String notificationTargetId) { + this.notificationTargetId = notificationTargetId; + } + + + public AlertsSourceSourceableAttributes fieldMappingsAttributes(@jakarta.annotation.Nullable List fieldMappingsAttributes) { this.fieldMappingsAttributes = fieldMappingsAttributes; return this; } - public AlertsSourceSourceableAttributes addFieldMappingsAttributesItem(NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner fieldMappingsAttributesItem) { + public AlertsSourceSourceableAttributes addFieldMappingsAttributesItem(AlertsSourceSourceableAttributesFieldMappingsAttributesInner fieldMappingsAttributesItem) { if (this.fieldMappingsAttributes == null) { this.fieldMappingsAttributes = new ArrayList<>(); } @@ -177,11 +283,11 @@ public AlertsSourceSourceableAttributes addFieldMappingsAttributesItem(NewAlerts * @return fieldMappingsAttributes */ @jakarta.annotation.Nullable - public List getFieldMappingsAttributes() { + public List getFieldMappingsAttributes() { return fieldMappingsAttributes; } - public void setFieldMappingsAttributes(@jakarta.annotation.Nullable List fieldMappingsAttributes) { + public void setFieldMappingsAttributes(@jakarta.annotation.Nullable List fieldMappingsAttributes) { this.fieldMappingsAttributes = fieldMappingsAttributes; } @@ -200,6 +306,8 @@ public boolean equals(Object o) { Objects.equals(this.autoResolve, alertsSourceSourceableAttributes.autoResolve) && Objects.equals(this.resolveState, alertsSourceSourceableAttributes.resolveState) && Objects.equals(this.acceptThreadedEmails, alertsSourceSourceableAttributes.acceptThreadedEmails) && + Objects.equals(this.notificationTargetType, alertsSourceSourceableAttributes.notificationTargetType) && + Objects.equals(this.notificationTargetId, alertsSourceSourceableAttributes.notificationTargetId) && Objects.equals(this.fieldMappingsAttributes, alertsSourceSourceableAttributes.fieldMappingsAttributes); } @@ -209,7 +317,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(id, autoResolve, resolveState, acceptThreadedEmails, fieldMappingsAttributes); + return Objects.hash(id, autoResolve, resolveState, acceptThreadedEmails, notificationTargetType, notificationTargetId, fieldMappingsAttributes); } private static int hashCodeNullable(JsonNullable a) { @@ -227,6 +335,8 @@ public String toString() { sb.append(" autoResolve: ").append(toIndentedString(autoResolve)).append("\n"); sb.append(" resolveState: ").append(toIndentedString(resolveState)).append("\n"); sb.append(" acceptThreadedEmails: ").append(toIndentedString(acceptThreadedEmails)).append("\n"); + sb.append(" notificationTargetType: ").append(toIndentedString(notificationTargetType)).append("\n"); + sb.append(" notificationTargetId: ").append(toIndentedString(notificationTargetId)).append("\n"); sb.append(" fieldMappingsAttributes: ").append(toIndentedString(fieldMappingsAttributes)).append("\n"); sb.append("}"); return sb.toString(); @@ -254,6 +364,8 @@ private String toIndentedString(Object o) { openapiFields.add("auto_resolve"); openapiFields.add("resolve_state"); openapiFields.add("accept_threaded_emails"); + openapiFields.add("notification_target_type"); + openapiFields.add("notification_target_id"); openapiFields.add("field_mappings_attributes"); // a set of required properties/fields (JSON key names) @@ -287,6 +399,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("resolve_state") != null && !jsonObj.get("resolve_state").isJsonNull()) && !jsonObj.get("resolve_state").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `resolve_state` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolve_state").toString())); } + if ((jsonObj.get("notification_target_type") != null && !jsonObj.get("notification_target_type").isJsonNull()) && !jsonObj.get("notification_target_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_target_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_target_type").toString())); + } + // validate the optional field `notification_target_type` + if (jsonObj.get("notification_target_type") != null && !jsonObj.get("notification_target_type").isJsonNull()) { + NotificationTargetTypeEnum.validateJsonElement(jsonObj.get("notification_target_type")); + } + if ((jsonObj.get("notification_target_id") != null && !jsonObj.get("notification_target_id").isJsonNull()) && !jsonObj.get("notification_target_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_target_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_target_id").toString())); + } if (jsonObj.get("field_mappings_attributes") != null && !jsonObj.get("field_mappings_attributes").isJsonNull()) { JsonArray jsonArrayfieldMappingsAttributes = jsonObj.getAsJsonArray("field_mappings_attributes"); if (jsonArrayfieldMappingsAttributes != null) { @@ -297,7 +419,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `field_mappings_attributes` (array) for (int i = 0; i < jsonArrayfieldMappingsAttributes.size(); i++) { - NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.validateJsonElement(jsonArrayfieldMappingsAttributes.get(i)); + AlertsSourceSourceableAttributesFieldMappingsAttributesInner.validateJsonElement(jsonArrayfieldMappingsAttributes.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.java b/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.java new file mode 100644 index 00000000..c0ed2898 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInner.java @@ -0,0 +1,302 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * AlertsSourceSourceableAttributesFieldMappingsAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertsSourceSourceableAttributesFieldMappingsAttributesInner { + /** + * Select the field on which the condition to be evaluated + */ + @JsonAdapter(FieldEnum.Adapter.class) + public enum FieldEnum { + EXTERNAL_ID("external_id"), + + STATE("state"), + + ALERT_TITLE("alert_title"), + + ALERT_DESCRIPTION("alert_description"), + + ALERT_EXTERNAL_URL("alert_external_url"), + + NOTIFICATION_TARGET_TYPE("notification_target_type"), + + NOTIFICATION_TARGET_ID("notification_target_id"); + + private String value; + + FieldEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FieldEnum fromValue(String value) { + for (FieldEnum b : FieldEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FieldEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FieldEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FieldEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + FieldEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_FIELD = "field"; + @SerializedName(SERIALIZED_NAME_FIELD) + @jakarta.annotation.Nullable + private FieldEnum field; + + public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; + @SerializedName(SERIALIZED_NAME_JSON_PATH) + @jakarta.annotation.Nullable + private String jsonPath; + + public AlertsSourceSourceableAttributesFieldMappingsAttributesInner() { + } + + public AlertsSourceSourceableAttributesFieldMappingsAttributesInner field(@jakarta.annotation.Nullable FieldEnum field) { + this.field = field; + return this; + } + + /** + * Select the field on which the condition to be evaluated + * @return field + */ + @jakarta.annotation.Nullable + public FieldEnum getField() { + return field; + } + + public void setField(@jakarta.annotation.Nullable FieldEnum field) { + this.field = field; + } + + + public AlertsSourceSourceableAttributesFieldMappingsAttributesInner jsonPath(@jakarta.annotation.Nullable String jsonPath) { + this.jsonPath = jsonPath; + return this; + } + + /** + * JSON path expression to extract a specific value from the alert's payload for evaluation. For `notification_target_id` only: if your account has opted in to Dynamic Notification Targets, this may also be a Liquid template that resolves to a notification target id at routing time. + * @return jsonPath + */ + @jakarta.annotation.Nullable + public String getJsonPath() { + return jsonPath; + } + + public void setJsonPath(@jakarta.annotation.Nullable String jsonPath) { + this.jsonPath = jsonPath; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertsSourceSourceableAttributesFieldMappingsAttributesInner alertsSourceSourceableAttributesFieldMappingsAttributesInner = (AlertsSourceSourceableAttributesFieldMappingsAttributesInner) o; + return Objects.equals(this.field, alertsSourceSourceableAttributesFieldMappingsAttributesInner.field) && + Objects.equals(this.jsonPath, alertsSourceSourceableAttributesFieldMappingsAttributesInner.jsonPath); + } + + @Override + public int hashCode() { + return Objects.hash(field, jsonPath); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertsSourceSourceableAttributesFieldMappingsAttributesInner {\n"); + sb.append(" field: ").append(toIndentedString(field)).append("\n"); + sb.append(" jsonPath: ").append(toIndentedString(jsonPath)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("field"); + openapiFields.add("json_path"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AlertsSourceSourceableAttributesFieldMappingsAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertsSourceSourceableAttributesFieldMappingsAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertsSourceSourceableAttributesFieldMappingsAttributesInner is not found in the empty JSON string", AlertsSourceSourceableAttributesFieldMappingsAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertsSourceSourceableAttributesFieldMappingsAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertsSourceSourceableAttributesFieldMappingsAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("field") != null && !jsonObj.get("field").isJsonNull()) && !jsonObj.get("field").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field").toString())); + } + // validate the optional field `field` + if (jsonObj.get("field") != null && !jsonObj.get("field").isJsonNull()) { + FieldEnum.validateJsonElement(jsonObj.get("field")); + } + if ((jsonObj.get("json_path") != null && !jsonObj.get("json_path").isJsonNull()) && !jsonObj.get("json_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `json_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("json_path").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertsSourceSourceableAttributesFieldMappingsAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertsSourceSourceableAttributesFieldMappingsAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertsSourceSourceableAttributesFieldMappingsAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertsSourceSourceableAttributesFieldMappingsAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertsSourceSourceableAttributesFieldMappingsAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertsSourceSourceableAttributesFieldMappingsAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertsSourceSourceableAttributesFieldMappingsAttributesInner + * @throws IOException if the JSON string is invalid with respect to AlertsSourceSourceableAttributesFieldMappingsAttributesInner + */ + public static AlertsSourceSourceableAttributesFieldMappingsAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertsSourceSourceableAttributesFieldMappingsAttributesInner.class); + } + + /** + * Convert an instance of AlertsSourceSourceableAttributesFieldMappingsAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ApiKey.java b/src/main/java/com/rootly/client/model/ApiKey.java index dda7939e..72ee3c47 100644 --- a/src/main/java/com/rootly/client/model/ApiKey.java +++ b/src/main/java/com/rootly/client/model/ApiKey.java @@ -49,7 +49,7 @@ /** * ApiKey */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKey { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -120,6 +120,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private KindEnum kind; + public static final String SERIALIZED_NAME_GROUP_ID = "group_id"; + @SerializedName(SERIALIZED_NAME_GROUP_ID) + @jakarta.annotation.Nullable + private String groupId; + public static final String SERIALIZED_NAME_ROLE_ID = "role_id"; @SerializedName(SERIALIZED_NAME_ROLE_ID) @jakarta.annotation.Nullable @@ -215,6 +220,25 @@ public void setKind(@jakarta.annotation.Nonnull KindEnum kind) { } + public ApiKey groupId(@jakarta.annotation.Nullable String groupId) { + this.groupId = groupId; + return this; + } + + /** + * The group (team) ID for team API keys. Keys created via the API have exactly one group; for keys with multiple groups this is the first group. + * @return groupId + */ + @jakarta.annotation.Nullable + public String getGroupId() { + return groupId; + } + + public void setGroupId(@jakarta.annotation.Nullable String groupId) { + this.groupId = groupId; + } + + public ApiKey roleId(@jakarta.annotation.Nullable String roleId) { this.roleId = roleId; return this; @@ -361,6 +385,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, apiKey.name) && Objects.equals(this.description, apiKey.description) && Objects.equals(this.kind, apiKey.kind) && + Objects.equals(this.groupId, apiKey.groupId) && Objects.equals(this.roleId, apiKey.roleId) && Objects.equals(this.onCallRoleId, apiKey.onCallRoleId) && Objects.equals(this.createdAt, apiKey.createdAt) && @@ -376,7 +401,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, kind, roleId, onCallRoleId, createdAt, updatedAt, expiresAt, lastUsedAt, gracePeriodEndsAt); + return Objects.hash(name, description, kind, groupId, roleId, onCallRoleId, createdAt, updatedAt, expiresAt, lastUsedAt, gracePeriodEndsAt); } private static int hashCodeNullable(JsonNullable a) { @@ -393,6 +418,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" groupId: ").append(toIndentedString(groupId)).append("\n"); sb.append(" roleId: ").append(toIndentedString(roleId)).append("\n"); sb.append(" onCallRoleId: ").append(toIndentedString(onCallRoleId)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); @@ -425,6 +451,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("kind"); + openapiFields.add("group_id"); openapiFields.add("role_id"); openapiFields.add("on_call_role_id"); openapiFields.add("created_at"); @@ -480,6 +507,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the required field `kind` KindEnum.validateJsonElement(jsonObj.get("kind")); + if ((jsonObj.get("group_id") != null && !jsonObj.get("group_id").isJsonNull()) && !jsonObj.get("group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_id").toString())); + } if ((jsonObj.get("role_id") != null && !jsonObj.get("role_id").isJsonNull()) && !jsonObj.get("role_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("role_id").toString())); } diff --git a/src/main/java/com/rootly/client/model/ApiKeyList.java b/src/main/java/com/rootly/client/model/ApiKeyList.java index 6edf9351..172b65e9 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyList.java +++ b/src/main/java/com/rootly/client/model/ApiKeyList.java @@ -54,7 +54,7 @@ /** * ApiKeyList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ApiKeyResponse.java b/src/main/java/com/rootly/client/model/ApiKeyResponse.java index 1505c2fc..2447949d 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyResponse.java +++ b/src/main/java/com/rootly/client/model/ApiKeyResponse.java @@ -52,7 +52,7 @@ /** * ApiKeyResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ApiKeyResponseData.java b/src/main/java/com/rootly/client/model/ApiKeyResponseData.java index 68c8a59e..b88b342e 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyResponseData.java +++ b/src/main/java/com/rootly/client/model/ApiKeyResponseData.java @@ -49,7 +49,7 @@ /** * ApiKeyResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java index 7f8e73ce..eae340c5 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java @@ -52,7 +52,7 @@ /** * ApiKeyWithTokenResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyWithTokenResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java index c8aa4b6d..cc4835d4 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java @@ -49,7 +49,7 @@ /** * ApiKeyWithTokenResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyWithTokenResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java index 0ddfccf0..18015652 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java @@ -49,7 +49,7 @@ /** * ApiKeyWithTokenResponseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyWithTokenResponseDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -120,6 +120,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private KindEnum kind; + public static final String SERIALIZED_NAME_GROUP_ID = "group_id"; + @SerializedName(SERIALIZED_NAME_GROUP_ID) + @jakarta.annotation.Nullable + private String groupId; + public static final String SERIALIZED_NAME_ROLE_ID = "role_id"; @SerializedName(SERIALIZED_NAME_ROLE_ID) @jakarta.annotation.Nullable @@ -220,6 +225,25 @@ public void setKind(@jakarta.annotation.Nonnull KindEnum kind) { } + public ApiKeyWithTokenResponseDataAttributes groupId(@jakarta.annotation.Nullable String groupId) { + this.groupId = groupId; + return this; + } + + /** + * The group (team) ID for team API keys. Keys created via the API have exactly one group; for keys with multiple groups this is the first group. + * @return groupId + */ + @jakarta.annotation.Nullable + public String getGroupId() { + return groupId; + } + + public void setGroupId(@jakarta.annotation.Nullable String groupId) { + this.groupId = groupId; + } + + public ApiKeyWithTokenResponseDataAttributes roleId(@jakarta.annotation.Nullable String roleId) { this.roleId = roleId; return this; @@ -385,6 +409,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, apiKeyWithTokenResponseDataAttributes.name) && Objects.equals(this.description, apiKeyWithTokenResponseDataAttributes.description) && Objects.equals(this.kind, apiKeyWithTokenResponseDataAttributes.kind) && + Objects.equals(this.groupId, apiKeyWithTokenResponseDataAttributes.groupId) && Objects.equals(this.roleId, apiKeyWithTokenResponseDataAttributes.roleId) && Objects.equals(this.onCallRoleId, apiKeyWithTokenResponseDataAttributes.onCallRoleId) && Objects.equals(this.createdAt, apiKeyWithTokenResponseDataAttributes.createdAt) && @@ -401,7 +426,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, kind, roleId, onCallRoleId, createdAt, updatedAt, expiresAt, lastUsedAt, gracePeriodEndsAt, token); + return Objects.hash(name, description, kind, groupId, roleId, onCallRoleId, createdAt, updatedAt, expiresAt, lastUsedAt, gracePeriodEndsAt, token); } private static int hashCodeNullable(JsonNullable a) { @@ -418,6 +443,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" groupId: ").append(toIndentedString(groupId)).append("\n"); sb.append(" roleId: ").append(toIndentedString(roleId)).append("\n"); sb.append(" onCallRoleId: ").append(toIndentedString(onCallRoleId)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); @@ -451,6 +477,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("kind"); + openapiFields.add("group_id"); openapiFields.add("role_id"); openapiFields.add("on_call_role_id"); openapiFields.add("created_at"); @@ -508,6 +535,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the required field `kind` KindEnum.validateJsonElement(jsonObj.get("kind")); + if ((jsonObj.get("group_id") != null && !jsonObj.get("group_id").isJsonNull()) && !jsonObj.get("group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_id").toString())); + } if ((jsonObj.get("role_id") != null && !jsonObj.get("role_id").isJsonNull()) && !jsonObj.get("role_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("role_id").toString())); } diff --git a/src/main/java/com/rootly/client/model/ArchiveGoogleChatSpacesTaskParams.java b/src/main/java/com/rootly/client/model/ArchiveGoogleChatSpacesTaskParams.java index 80a73f13..2435cc51 100644 --- a/src/main/java/com/rootly/client/model/ArchiveGoogleChatSpacesTaskParams.java +++ b/src/main/java/com/rootly/client/model/ArchiveGoogleChatSpacesTaskParams.java @@ -51,7 +51,7 @@ /** * ArchiveGoogleChatSpacesTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ArchiveGoogleChatSpacesTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java b/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java index 9778dbb7..944e3584 100644 --- a/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java +++ b/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java @@ -51,7 +51,7 @@ /** * ArchiveMicrosoftTeamsChannelsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ArchiveMicrosoftTeamsChannelsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java b/src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java index b31bbe51..b0836cba 100644 --- a/src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java +++ b/src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java @@ -51,7 +51,7 @@ /** * ArchiveSlackChannelsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ArchiveSlackChannelsTaskParams { /** * Gets or Sets taskType @@ -113,6 +113,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private List channels = new ArrayList<>(); + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public ArchiveSlackChannelsTaskParams() { } @@ -162,6 +172,44 @@ public void setChannels(@jakarta.annotation.Nonnull List(); openapiFields.add("task_type"); openapiFields.add("channels"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/AssignRoleToUser.java b/src/main/java/com/rootly/client/model/AssignRoleToUser.java index 395cb947..a2d5c776 100644 --- a/src/main/java/com/rootly/client/model/AssignRoleToUser.java +++ b/src/main/java/com/rootly/client/model/AssignRoleToUser.java @@ -49,7 +49,7 @@ /** * AssignRoleToUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AssignRoleToUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AssignRoleToUserData.java b/src/main/java/com/rootly/client/model/AssignRoleToUserData.java index 0034c1d1..abaa12da 100644 --- a/src/main/java/com/rootly/client/model/AssignRoleToUserData.java +++ b/src/main/java/com/rootly/client/model/AssignRoleToUserData.java @@ -49,7 +49,7 @@ /** * AssignRoleToUserData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AssignRoleToUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/AssignRoleToUserDataAttributes.java b/src/main/java/com/rootly/client/model/AssignRoleToUserDataAttributes.java index b66a1acc..8611b436 100644 --- a/src/main/java/com/rootly/client/model/AssignRoleToUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AssignRoleToUserDataAttributes.java @@ -48,7 +48,7 @@ /** * AssignRoleToUserDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AssignRoleToUserDataAttributes { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/AttachAlert.java b/src/main/java/com/rootly/client/model/AttachAlert.java index 8cd02f59..b0e9edc8 100644 --- a/src/main/java/com/rootly/client/model/AttachAlert.java +++ b/src/main/java/com/rootly/client/model/AttachAlert.java @@ -49,7 +49,7 @@ /** * AttachAlert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AttachAlert { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AttachAlertData.java b/src/main/java/com/rootly/client/model/AttachAlertData.java index fa9be644..da3ff2cb 100644 --- a/src/main/java/com/rootly/client/model/AttachAlertData.java +++ b/src/main/java/com/rootly/client/model/AttachAlertData.java @@ -49,7 +49,7 @@ /** * AttachAlertData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AttachAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/AttachAlertDataAttributes.java b/src/main/java/com/rootly/client/model/AttachAlertDataAttributes.java index 202fc706..51d82dd9 100644 --- a/src/main/java/com/rootly/client/model/AttachAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AttachAlertDataAttributes.java @@ -50,7 +50,7 @@ /** * AttachAlertDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AttachAlertDataAttributes { public static final String SERIALIZED_NAME_ALERT_IDS = "alert_ids"; @SerializedName(SERIALIZED_NAME_ALERT_IDS) diff --git a/src/main/java/com/rootly/client/model/AttachDatadogDashboardsTaskParams.java b/src/main/java/com/rootly/client/model/AttachDatadogDashboardsTaskParams.java index 95c375a3..d0bbea32 100644 --- a/src/main/java/com/rootly/client/model/AttachDatadogDashboardsTaskParams.java +++ b/src/main/java/com/rootly/client/model/AttachDatadogDashboardsTaskParams.java @@ -51,7 +51,7 @@ /** * AttachDatadogDashboardsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AttachDatadogDashboardsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToFreshserviceTicketTaskParams.java b/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToFreshserviceTicketTaskParams.java index 35c0736b..22f781f7 100644 --- a/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToFreshserviceTicketTaskParams.java +++ b/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToFreshserviceTicketTaskParams.java @@ -48,7 +48,7 @@ /** * AttachRetrospectivePdfToFreshserviceTicketTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AttachRetrospectivePdfToFreshserviceTicketTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToJiraIssueTaskParams.java b/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToJiraIssueTaskParams.java index f3556d60..9c03e9a2 100644 --- a/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToJiraIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/AttachRetrospectivePdfToJiraIssueTaskParams.java @@ -49,7 +49,7 @@ /** * AttachRetrospectivePdfToJiraIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AttachRetrospectivePdfToJiraIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/Audit.java b/src/main/java/com/rootly/client/model/Audit.java index 2367519e..5673b29a 100644 --- a/src/main/java/com/rootly/client/model/Audit.java +++ b/src/main/java/com/rootly/client/model/Audit.java @@ -49,13 +49,18 @@ /** * Audit */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Audit { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) @jakarta.annotation.Nonnull private String event; + public static final String SERIALIZED_NAME_EVENT_DISPLAY = "event_display"; + @SerializedName(SERIALIZED_NAME_EVENT_DISPLAY) + @jakarta.annotation.Nullable + private String eventDisplay; + /** * Describes the object in which the action was taken on */ @@ -69,6 +74,8 @@ public enum ItemTypeEnum { API_KEY("ApiKey"), + BROWSER_IP_POLICY("BrowserIpPolicy"), + CATALOG("Catalog"), CATALOG_ENTITY("CatalogEntity"), @@ -171,6 +178,8 @@ public enum ItemTypeEnum { MEMBERSHIP("Membership"), + OAUTH_APPLICATION("OauthApplication"), + ON_CALL_ROLE("OnCallRole"), PLAYBOOK("Playbook"), @@ -311,7 +320,7 @@ public Audit event(@jakarta.annotation.Nonnull String event) { } /** - * Describes the action that was taken. + * The raw stored action that was taken. Rows written before IR-6875 may carry a trailing `!` for status transitions (e.g. `mark_as_resolved!`); prefer `event_display` for presentation. * @return event */ @jakarta.annotation.Nonnull @@ -324,6 +333,25 @@ public void setEvent(@jakarta.annotation.Nonnull String event) { } + public Audit eventDisplay(@jakarta.annotation.Nullable String eventDisplay) { + this.eventDisplay = eventDisplay; + return this; + } + + /** + * Human-friendly display name for the action, normalized so a status change reads the same regardless of the surface it came from + * @return eventDisplay + */ + @jakarta.annotation.Nullable + public String getEventDisplay() { + return eventDisplay; + } + + public void setEventDisplay(@jakarta.annotation.Nullable String eventDisplay) { + this.eventDisplay = eventDisplay; + } + + public Audit itemType(@jakarta.annotation.Nullable ItemTypeEnum itemType) { this.itemType = itemType; return this; @@ -601,6 +629,7 @@ public boolean equals(Object o) { } Audit audit = (Audit) o; return Objects.equals(this.event, audit.event) && + Objects.equals(this.eventDisplay, audit.eventDisplay) && Objects.equals(this.itemType, audit.itemType) && Objects.equals(this.itemTypeDisplay, audit.itemTypeDisplay) && Objects.equals(this._object, audit._object) && @@ -623,7 +652,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(event, itemType, itemTypeDisplay, _object, objectChanges, userId, userName, userEmail, ipAddress, userAgent, requestId, sessionId, createdAt, itemId, id); + return Objects.hash(event, eventDisplay, itemType, itemTypeDisplay, _object, objectChanges, userId, userName, userEmail, ipAddress, userAgent, requestId, sessionId, createdAt, itemId, id); } private static int hashCodeNullable(JsonNullable a) { @@ -638,6 +667,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Audit {\n"); sb.append(" event: ").append(toIndentedString(event)).append("\n"); + sb.append(" eventDisplay: ").append(toIndentedString(eventDisplay)).append("\n"); sb.append(" itemType: ").append(toIndentedString(itemType)).append("\n"); sb.append(" itemTypeDisplay: ").append(toIndentedString(itemTypeDisplay)).append("\n"); sb.append(" _object: ").append(toIndentedString(_object)).append("\n"); @@ -675,6 +705,7 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("event"); + openapiFields.add("event_display"); openapiFields.add("item_type"); openapiFields.add("item_type_display"); openapiFields.add("object"); @@ -727,6 +758,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("event").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `event` to be a primitive type in the JSON string but got `%s`", jsonObj.get("event").toString())); } + if ((jsonObj.get("event_display") != null && !jsonObj.get("event_display").isJsonNull()) && !jsonObj.get("event_display").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `event_display` to be a primitive type in the JSON string but got `%s`", jsonObj.get("event_display").toString())); + } if ((jsonObj.get("item_type") != null && !jsonObj.get("item_type").isJsonNull()) && !jsonObj.get("item_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `item_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("item_type").toString())); } diff --git a/src/main/java/com/rootly/client/model/AuditsList.java b/src/main/java/com/rootly/client/model/AuditsList.java index 8e64b9b3..4b3b2dd6 100644 --- a/src/main/java/com/rootly/client/model/AuditsList.java +++ b/src/main/java/com/rootly/client/model/AuditsList.java @@ -54,7 +54,7 @@ /** * AuditsList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuditsList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AuditsListDataInner.java b/src/main/java/com/rootly/client/model/AuditsListDataInner.java index be160eab..a695d2eb 100644 --- a/src/main/java/com/rootly/client/model/AuditsListDataInner.java +++ b/src/main/java/com/rootly/client/model/AuditsListDataInner.java @@ -49,7 +49,7 @@ /** * AuditsListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuditsListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Authorization.java b/src/main/java/com/rootly/client/model/Authorization.java index 6645c5eb..73918891 100644 --- a/src/main/java/com/rootly/client/model/Authorization.java +++ b/src/main/java/com/rootly/client/model/Authorization.java @@ -50,7 +50,7 @@ /** * Authorization */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Authorization { public static final String SERIALIZED_NAME_AUTHORIZABLE_ID = "authorizable_id"; @SerializedName(SERIALIZED_NAME_AUTHORIZABLE_ID) diff --git a/src/main/java/com/rootly/client/model/AuthorizationList.java b/src/main/java/com/rootly/client/model/AuthorizationList.java index 4e338d0a..3b822dfe 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationList.java +++ b/src/main/java/com/rootly/client/model/AuthorizationList.java @@ -54,7 +54,7 @@ /** * AuthorizationList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuthorizationList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AuthorizationResponse.java b/src/main/java/com/rootly/client/model/AuthorizationResponse.java index 06cafa53..96e65389 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationResponse.java +++ b/src/main/java/com/rootly/client/model/AuthorizationResponse.java @@ -52,7 +52,7 @@ /** * AuthorizationResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuthorizationResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/AuthorizationResponseData.java b/src/main/java/com/rootly/client/model/AuthorizationResponseData.java index d931440a..14821362 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationResponseData.java +++ b/src/main/java/com/rootly/client/model/AuthorizationResponseData.java @@ -49,7 +49,7 @@ /** * AuthorizationResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuthorizationResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java index e6c5b742..e12f3751 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleOpsgenieTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleOpsgenieTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java index 052347df..6b9c34b4 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java @@ -60,7 +60,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRolePagerdutyTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(AutoAssignRolePagerdutyTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf.java index d5129882..2deea439 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf.java @@ -49,7 +49,7 @@ /** * AutoAssignRolePagerdutyTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRolePagerdutyTaskParamsAnyOf { public static final String SERIALIZED_NAME_SCHEDULE = "schedule"; @SerializedName(SERIALIZED_NAME_SCHEDULE) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf1.java b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf1.java index 00dbe200..15026b7a 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf1.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsAnyOf1.java @@ -49,7 +49,7 @@ /** * AutoAssignRolePagerdutyTaskParamsAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRolePagerdutyTaskParamsAnyOf1 { public static final String SERIALIZED_NAME_ESCALATION_POLICY = "escalation_policy"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java index 0ce8ee8d..2566cd77 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(AutoAssignRoleRootlyTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf.java index e1f412ae..c336c781 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParamsOneOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParamsOneOf { public static final String SERIALIZED_NAME_ESCALATION_POLICY_TARGET = "escalation_policy_target"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_TARGET) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf1.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf1.java index ba29204e..5041f858 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf1.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf1.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParamsOneOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParamsOneOf1 { public static final String SERIALIZED_NAME_SERVICE_TARGET = "service_target"; @SerializedName(SERIALIZED_NAME_SERVICE_TARGET) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf2.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf2.java index cb6f118f..7b9056fc 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf2.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf2.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParamsOneOf2 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParamsOneOf2 { public static final String SERIALIZED_NAME_USER_TARGET = "user_target"; @SerializedName(SERIALIZED_NAME_USER_TARGET) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf3.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf3.java index 2e358f18..0d142457 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf3.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf3.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParamsOneOf3 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParamsOneOf3 { public static final String SERIALIZED_NAME_GROUP_TARGET = "group_target"; @SerializedName(SERIALIZED_NAME_GROUP_TARGET) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf4.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf4.java index f59912d9..48abdb13 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf4.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsOneOf4.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParamsOneOf4 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParamsOneOf4 { public static final String SERIALIZED_NAME_SCHEDULE_TARGET = "schedule_target"; @SerializedName(SERIALIZED_NAME_SCHEDULE_TARGET) diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java index 6cd3d337..2401e0ed 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleVictorOpsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleVictorOpsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/BuiltinField.java b/src/main/java/com/rootly/client/model/BuiltinField.java index 73d31444..e45b76cb 100644 --- a/src/main/java/com/rootly/client/model/BuiltinField.java +++ b/src/main/java/com/rootly/client/model/BuiltinField.java @@ -48,7 +48,7 @@ /** * BuiltinField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BuiltinField { /** * Gets or Sets fieldSource diff --git a/src/main/java/com/rootly/client/model/BulkDeleteCatalogEntities422Response.java b/src/main/java/com/rootly/client/model/BulkDeleteCatalogEntities422Response.java index 67890cd6..eec700a0 100644 --- a/src/main/java/com/rootly/client/model/BulkDeleteCatalogEntities422Response.java +++ b/src/main/java/com/rootly/client/model/BulkDeleteCatalogEntities422Response.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDeleteCatalogEntities422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDeleteCatalogEntities422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDeleteEnvironments422Response.java b/src/main/java/com/rootly/client/model/BulkDeleteEnvironments422Response.java index 539bc70f..cd2c3753 100644 --- a/src/main/java/com/rootly/client/model/BulkDeleteEnvironments422Response.java +++ b/src/main/java/com/rootly/client/model/BulkDeleteEnvironments422Response.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDeleteEnvironments422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDeleteEnvironments422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDeleteFunctionalities422Response.java b/src/main/java/com/rootly/client/model/BulkDeleteFunctionalities422Response.java index 5cf291ed..75e779fb 100644 --- a/src/main/java/com/rootly/client/model/BulkDeleteFunctionalities422Response.java +++ b/src/main/java/com/rootly/client/model/BulkDeleteFunctionalities422Response.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDeleteFunctionalities422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDeleteFunctionalities422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDeleteGroups422Response.java b/src/main/java/com/rootly/client/model/BulkDeleteGroups422Response.java index e08ffc47..1c0dd1e7 100644 --- a/src/main/java/com/rootly/client/model/BulkDeleteGroups422Response.java +++ b/src/main/java/com/rootly/client/model/BulkDeleteGroups422Response.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDeleteGroups422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDeleteGroups422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDeleteServices422Response.java b/src/main/java/com/rootly/client/model/BulkDeleteServices422Response.java index 003b1904..33c1f0fd 100644 --- a/src/main/java/com/rootly/client/model/BulkDeleteServices422Response.java +++ b/src/main/java/com/rootly/client/model/BulkDeleteServices422Response.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDeleteServices422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDeleteServices422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntities.java b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntities.java index 894d710a..cf078820 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntities.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntities.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyCatalogEntities extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDestroyCatalogEntities.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf.java b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf.java index e1d77818..a0015dc2 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf.java @@ -50,7 +50,7 @@ /** * BulkDestroyCatalogEntitiesOneOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyCatalogEntitiesOneOf { public static final String SERIALIZED_NAME_EXTERNAL_IDS = "external_ids"; @SerializedName(SERIALIZED_NAME_EXTERNAL_IDS) diff --git a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf1.java b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf1.java index c052852c..ac7dbc59 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf1.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesOneOf1.java @@ -50,7 +50,7 @@ /** * BulkDestroyCatalogEntitiesOneOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyCatalogEntitiesOneOf1 { /** * Delete all entities with this managed_by value (web/admin_web not allowed). diff --git a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponse.java b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponse.java index 797d6d4c..e6685f04 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponse.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponse.java @@ -49,7 +49,7 @@ /** * BulkDestroyCatalogEntitiesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyCatalogEntitiesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponseData.java b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponseData.java index 78808035..d9fe9017 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponseData.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyCatalogEntitiesResponseData.java @@ -50,7 +50,7 @@ /** * BulkDestroyCatalogEntitiesResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyCatalogEntitiesResponseData { public static final String SERIALIZED_NAME_DELETED_EXTERNAL_IDS = "deleted_external_ids"; @SerializedName(SERIALIZED_NAME_DELETED_EXTERNAL_IDS) diff --git a/src/main/java/com/rootly/client/model/BulkDestroyEnvironments.java b/src/main/java/com/rootly/client/model/BulkDestroyEnvironments.java index 625d8b61..7fbd1815 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyEnvironments.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyEnvironments.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyEnvironments extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDestroyEnvironments.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsOneOf.java b/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsOneOf.java index bcbd9e30..c3de9733 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsOneOf.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsOneOf.java @@ -50,7 +50,7 @@ /** * BulkDestroyEnvironmentsOneOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyEnvironmentsOneOf { /** * Delete all records with this managed_by value (web/admin_web not allowed). diff --git a/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsResponse.java b/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsResponse.java index afe43d7e..fa230df7 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsResponse.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyEnvironmentsResponse.java @@ -49,7 +49,7 @@ /** * BulkDestroyEnvironmentsResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyEnvironmentsResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkDestroyFunctionalities.java b/src/main/java/com/rootly/client/model/BulkDestroyFunctionalities.java index a47db3e3..75e6c891 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyFunctionalities.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyFunctionalities.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyFunctionalities extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDestroyFunctionalities.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDestroyFunctionalitiesResponse.java b/src/main/java/com/rootly/client/model/BulkDestroyFunctionalitiesResponse.java index 5c9344f6..bb4de77e 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyFunctionalitiesResponse.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyFunctionalitiesResponse.java @@ -49,7 +49,7 @@ /** * BulkDestroyFunctionalitiesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyFunctionalitiesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkDestroyServices.java b/src/main/java/com/rootly/client/model/BulkDestroyServices.java index edcba97c..50a604c1 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyServices.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyServices.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyServices extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDestroyServices.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDestroyServicesResponse.java b/src/main/java/com/rootly/client/model/BulkDestroyServicesResponse.java index 4eb5e74f..ab9ea514 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyServicesResponse.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyServicesResponse.java @@ -49,7 +49,7 @@ /** * BulkDestroyServicesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyServicesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkDestroyTeams.java b/src/main/java/com/rootly/client/model/BulkDestroyTeams.java index cc4c63f7..5ecd8993 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyTeams.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyTeams.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyTeams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkDestroyTeams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkDestroyTeamsResponse.java b/src/main/java/com/rootly/client/model/BulkDestroyTeamsResponse.java index 2ba1d87d..c282349a 100644 --- a/src/main/java/com/rootly/client/model/BulkDestroyTeamsResponse.java +++ b/src/main/java/com/rootly/client/model/BulkDestroyTeamsResponse.java @@ -49,7 +49,7 @@ /** * BulkDestroyTeamsResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkDestroyTeamsResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities.java index 3edee8eb..a7f1702a 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities.java @@ -51,7 +51,7 @@ /** * BulkUpsertCatalogEntities */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntities { public static final String SERIALIZED_NAME_ENTITIES = "entities"; @SerializedName(SERIALIZED_NAME_ENTITIES) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities422Response.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities422Response.java index fe49a6c3..ac2982cf 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities422Response.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntities422Response.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntities422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkUpsertCatalogEntities422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInner.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInner.java index f6fa796f..ed716e2c 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInner.java @@ -52,7 +52,7 @@ /** * BulkUpsertCatalogEntitiesEntitiesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntitiesEntitiesInner { public static final String SERIALIZED_NAME_EXTERNAL_ID = "external_id"; @SerializedName(SERIALIZED_NAME_EXTERNAL_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInnerFieldsInner.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInnerFieldsInner.java index 43f4d22f..a9640de7 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInnerFieldsInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesEntitiesInnerFieldsInner.java @@ -48,7 +48,7 @@ /** * Each field entry must include either catalog_field_id or catalog_property_id. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntitiesEntitiesInnerFieldsInner { public static final String SERIALIZED_NAME_CATALOG_FIELD_ID = "catalog_field_id"; @SerializedName(SERIALIZED_NAME_CATALOG_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesError.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesError.java index bb4798b5..34214c8c 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesError.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesError.java @@ -51,7 +51,7 @@ /** * BulkUpsertCatalogEntitiesError */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntitiesError { public static final String SERIALIZED_NAME_ERRORS = "errors"; @SerializedName(SERIALIZED_NAME_ERRORS) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesErrorErrorsInner.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesErrorErrorsInner.java index b2fd33b3..87fe77b9 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesErrorErrorsInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesErrorErrorsInner.java @@ -50,7 +50,7 @@ /** * BulkUpsertCatalogEntitiesErrorErrorsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntitiesErrorErrorsInner { public static final String SERIALIZED_NAME_INDEX = "index"; @SerializedName(SERIALIZED_NAME_INDEX) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponse.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponse.java index a606e9a9..5dbad22d 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponse.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponse.java @@ -51,7 +51,7 @@ /** * BulkUpsertCatalogEntitiesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntitiesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponseDataInner.java b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponseDataInner.java index 9977a49d..62045ec4 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponseDataInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertCatalogEntitiesResponseDataInner.java @@ -49,7 +49,7 @@ /** * BulkUpsertCatalogEntitiesResponseDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertCatalogEntitiesResponseDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironments.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironments.java index d67810be..9c08689a 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironments.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironments.java @@ -51,7 +51,7 @@ /** * BulkUpsertEnvironments */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironments { public static final String SERIALIZED_NAME_ENTITIES = "entities"; @SerializedName(SERIALIZED_NAME_ENTITIES) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironments422Response.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironments422Response.java index f379980e..5a8640d8 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironments422Response.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironments422Response.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironments422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkUpsertEnvironments422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsEntitiesInner.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsEntitiesInner.java index 0a03ab74..c4263577 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsEntitiesInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsEntitiesInner.java @@ -52,7 +52,7 @@ /** * BulkUpsertEnvironmentsEntitiesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironmentsEntitiesInner { public static final String SERIALIZED_NAME_EXTERNAL_ID = "external_id"; @SerializedName(SERIALIZED_NAME_EXTERNAL_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsError.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsError.java index 61ca02cc..cd986764 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsError.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsError.java @@ -51,7 +51,7 @@ /** * BulkUpsertEnvironmentsError */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironmentsError { public static final String SERIALIZED_NAME_ERRORS = "errors"; @SerializedName(SERIALIZED_NAME_ERRORS) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsErrorErrorsInner.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsErrorErrorsInner.java index 7a2016a5..09bb943d 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsErrorErrorsInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsErrorErrorsInner.java @@ -50,7 +50,7 @@ /** * BulkUpsertEnvironmentsErrorErrorsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironmentsErrorErrorsInner { public static final String SERIALIZED_NAME_INDEX = "index"; @SerializedName(SERIALIZED_NAME_INDEX) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponse.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponse.java index 676cfc20..3c7766cb 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponse.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponse.java @@ -51,7 +51,7 @@ /** * BulkUpsertEnvironmentsResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironmentsResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponseDataInner.java b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponseDataInner.java index 4900b1d6..144cd148 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponseDataInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertEnvironmentsResponseDataInner.java @@ -49,7 +49,7 @@ /** * BulkUpsertEnvironmentsResponseDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertEnvironmentsResponseDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities.java b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities.java index 1266bf2a..eb93328c 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities.java @@ -51,7 +51,7 @@ /** * BulkUpsertFunctionalities */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertFunctionalities { public static final String SERIALIZED_NAME_ENTITIES = "entities"; @SerializedName(SERIALIZED_NAME_ENTITIES) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities422Response.java b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities422Response.java index 1b3ca47e..f8114156 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities422Response.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalities422Response.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertFunctionalities422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkUpsertFunctionalities422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesEntitiesInner.java b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesEntitiesInner.java index dd73ca97..c65d9c6d 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesEntitiesInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesEntitiesInner.java @@ -52,7 +52,7 @@ /** * BulkUpsertFunctionalitiesEntitiesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertFunctionalitiesEntitiesInner { public static final String SERIALIZED_NAME_EXTERNAL_ID = "external_id"; @SerializedName(SERIALIZED_NAME_EXTERNAL_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesError.java b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesError.java index b65f9e9b..edcd7fae 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesError.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesError.java @@ -51,7 +51,7 @@ /** * BulkUpsertFunctionalitiesError */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertFunctionalitiesError { public static final String SERIALIZED_NAME_ERRORS = "errors"; @SerializedName(SERIALIZED_NAME_ERRORS) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponse.java b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponse.java index 1f3cdc10..66d288c1 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponse.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponse.java @@ -51,7 +51,7 @@ /** * BulkUpsertFunctionalitiesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertFunctionalitiesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponseDataInner.java b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponseDataInner.java index c52a7caf..e28b122f 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponseDataInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertFunctionalitiesResponseDataInner.java @@ -49,7 +49,7 @@ /** * BulkUpsertFunctionalitiesResponseDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertFunctionalitiesResponseDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertGroups422Response.java b/src/main/java/com/rootly/client/model/BulkUpsertGroups422Response.java index 48e2eee5..0a900a8b 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertGroups422Response.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertGroups422Response.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertGroups422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkUpsertGroups422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkUpsertServices.java b/src/main/java/com/rootly/client/model/BulkUpsertServices.java index 0ec4950b..a6528b28 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertServices.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertServices.java @@ -51,7 +51,7 @@ /** * BulkUpsertServices */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertServices { public static final String SERIALIZED_NAME_ENTITIES = "entities"; @SerializedName(SERIALIZED_NAME_ENTITIES) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertServices422Response.java b/src/main/java/com/rootly/client/model/BulkUpsertServices422Response.java index f2ac1a7d..ffd88884 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertServices422Response.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertServices422Response.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertServices422Response extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(BulkUpsertServices422Response.class.getName()); diff --git a/src/main/java/com/rootly/client/model/BulkUpsertServicesEntitiesInner.java b/src/main/java/com/rootly/client/model/BulkUpsertServicesEntitiesInner.java index 61ddb08a..25af1c43 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertServicesEntitiesInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertServicesEntitiesInner.java @@ -52,7 +52,7 @@ /** * BulkUpsertServicesEntitiesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertServicesEntitiesInner { public static final String SERIALIZED_NAME_EXTERNAL_ID = "external_id"; @SerializedName(SERIALIZED_NAME_EXTERNAL_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertServicesError.java b/src/main/java/com/rootly/client/model/BulkUpsertServicesError.java index 7649e7f7..5685771b 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertServicesError.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertServicesError.java @@ -51,7 +51,7 @@ /** * BulkUpsertServicesError */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertServicesError { public static final String SERIALIZED_NAME_ERRORS = "errors"; @SerializedName(SERIALIZED_NAME_ERRORS) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertServicesResponse.java b/src/main/java/com/rootly/client/model/BulkUpsertServicesResponse.java index ebe53952..082733eb 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertServicesResponse.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertServicesResponse.java @@ -51,7 +51,7 @@ /** * BulkUpsertServicesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertServicesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertServicesResponseDataInner.java b/src/main/java/com/rootly/client/model/BulkUpsertServicesResponseDataInner.java index da1004d9..0dd2f0ad 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertServicesResponseDataInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertServicesResponseDataInner.java @@ -49,7 +49,7 @@ /** * BulkUpsertServicesResponseDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertServicesResponseDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertTeams.java b/src/main/java/com/rootly/client/model/BulkUpsertTeams.java index ac2a1df2..c2497915 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertTeams.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertTeams.java @@ -51,7 +51,7 @@ /** * BulkUpsertTeams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertTeams { public static final String SERIALIZED_NAME_ENTITIES = "entities"; @SerializedName(SERIALIZED_NAME_ENTITIES) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInner.java b/src/main/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInner.java index 013783f4..9a3c951d 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInner.java @@ -52,7 +52,7 @@ /** * BulkUpsertTeamsEntitiesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertTeamsEntitiesInner { public static final String SERIALIZED_NAME_EXTERNAL_ID = "external_id"; @SerializedName(SERIALIZED_NAME_EXTERNAL_ID) @@ -74,6 +74,65 @@ public class BulkUpsertTeamsEntitiesInner { @jakarta.annotation.Nullable private String publicDescription; + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + */ + @JsonAdapter(ScheduleOverridePolicyEnum.Adapter.class) + public enum ScheduleOverridePolicyEnum { + EVERYONE("everyone"), + + MEMBERS("members"), + + ADMINS("admins"); + + private String value; + + ScheduleOverridePolicyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScheduleOverridePolicyEnum fromValue(String value) { + for (ScheduleOverridePolicyEnum b : ScheduleOverridePolicyEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScheduleOverridePolicyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScheduleOverridePolicyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY = "schedule_override_policy"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY) + @jakarta.annotation.Nullable + private ScheduleOverridePolicyEnum scheduleOverridePolicy; + public static final String SERIALIZED_NAME_COLOR = "color"; @SerializedName(SERIALIZED_NAME_COLOR) @jakarta.annotation.Nullable @@ -223,6 +282,25 @@ public void setPublicDescription(@jakarta.annotation.Nullable String publicDescr } + public BulkUpsertTeamsEntitiesInner scheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + return this; + } + + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + * @return scheduleOverridePolicy + */ + @jakarta.annotation.Nullable + public ScheduleOverridePolicyEnum getScheduleOverridePolicy() { + return scheduleOverridePolicy; + } + + public void setScheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + } + + public BulkUpsertTeamsEntitiesInner color(@jakarta.annotation.Nullable String color) { this.color = color; return this; @@ -519,6 +597,7 @@ public boolean equals(Object o) { Objects.equals(this.name, bulkUpsertTeamsEntitiesInner.name) && Objects.equals(this.description, bulkUpsertTeamsEntitiesInner.description) && Objects.equals(this.publicDescription, bulkUpsertTeamsEntitiesInner.publicDescription) && + Objects.equals(this.scheduleOverridePolicy, bulkUpsertTeamsEntitiesInner.scheduleOverridePolicy) && Objects.equals(this.color, bulkUpsertTeamsEntitiesInner.color) && Objects.equals(this.position, bulkUpsertTeamsEntitiesInner.position) && Objects.equals(this.notifyEmails, bulkUpsertTeamsEntitiesInner.notifyEmails) && @@ -541,7 +620,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(externalId, name, description, publicDescription, color, position, notifyEmails, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, backstageId, cortexId, opslevelId, serviceNowCiSysId, alertsEmailEnabled, fields); + return Objects.hash(externalId, name, description, publicDescription, scheduleOverridePolicy, color, position, notifyEmails, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, backstageId, cortexId, opslevelId, serviceNowCiSysId, alertsEmailEnabled, fields); } private static int hashCodeNullable(JsonNullable a) { @@ -559,6 +638,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" publicDescription: ").append(toIndentedString(publicDescription)).append("\n"); + sb.append(" scheduleOverridePolicy: ").append(toIndentedString(scheduleOverridePolicy)).append("\n"); sb.append(" color: ").append(toIndentedString(color)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); @@ -599,6 +679,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("public_description"); + openapiFields.add("schedule_override_policy"); openapiFields.add("color"); openapiFields.add("position"); openapiFields.add("notify_emails"); @@ -659,6 +740,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("public_description") != null && !jsonObj.get("public_description").isJsonNull()) && !jsonObj.get("public_description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `public_description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("public_description").toString())); } + if ((jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) && !jsonObj.get("schedule_override_policy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_override_policy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("schedule_override_policy").toString())); + } + // validate the optional field `schedule_override_policy` + if (jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) { + ScheduleOverridePolicyEnum.validateJsonElement(jsonObj.get("schedule_override_policy")); + } if ((jsonObj.get("color") != null && !jsonObj.get("color").isJsonNull()) && !jsonObj.get("color").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `color` to be a primitive type in the JSON string but got `%s`", jsonObj.get("color").toString())); } diff --git a/src/main/java/com/rootly/client/model/BulkUpsertTeamsError.java b/src/main/java/com/rootly/client/model/BulkUpsertTeamsError.java index 7b857b5b..66418c35 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertTeamsError.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertTeamsError.java @@ -51,7 +51,7 @@ /** * BulkUpsertTeamsError */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertTeamsError { public static final String SERIALIZED_NAME_ERRORS = "errors"; @SerializedName(SERIALIZED_NAME_ERRORS) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponse.java b/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponse.java index beff87a5..7c460749 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponse.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponse.java @@ -51,7 +51,7 @@ /** * BulkUpsertTeamsResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertTeamsResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponseDataInner.java b/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponseDataInner.java index 2f4e0fcc..48273147 100644 --- a/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponseDataInner.java +++ b/src/main/java/com/rootly/client/model/BulkUpsertTeamsResponseDataInner.java @@ -49,7 +49,7 @@ /** * BulkUpsertTeamsResponseDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class BulkUpsertTeamsResponseDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java b/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java index 875bfd96..3f992561 100644 --- a/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java +++ b/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java @@ -50,7 +50,7 @@ /** * CallPeopleTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CallPeopleTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CancelIncident.java b/src/main/java/com/rootly/client/model/CancelIncident.java index 179fad64..c7838005 100644 --- a/src/main/java/com/rootly/client/model/CancelIncident.java +++ b/src/main/java/com/rootly/client/model/CancelIncident.java @@ -49,7 +49,7 @@ /** * CancelIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CancelIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CancelIncidentData.java b/src/main/java/com/rootly/client/model/CancelIncidentData.java index 5510a1e9..91c3c5e3 100644 --- a/src/main/java/com/rootly/client/model/CancelIncidentData.java +++ b/src/main/java/com/rootly/client/model/CancelIncidentData.java @@ -49,8 +49,13 @@ /** * CancelIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CancelIncidentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public CancelIncidentData() { } + public CancelIncidentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public CancelIncidentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } CancelIncidentData cancelIncidentData = (CancelIncidentData) o; - return Objects.equals(this.type, cancelIncidentData.type) && + return Objects.equals(this.id, cancelIncidentData.id) && + Objects.equals(this.type, cancelIncidentData.type) && Objects.equals(this.attributes, cancelIncidentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CancelIncidentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java index ffea39f1..ad273a50 100644 --- a/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java @@ -49,7 +49,7 @@ /** * CancelIncidentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CancelIncidentDataAttributes { public static final String SERIALIZED_NAME_CANCELLATION_MESSAGE = "cancellation_message"; @SerializedName(SERIALIZED_NAME_CANCELLATION_MESSAGE) diff --git a/src/main/java/com/rootly/client/model/Catalog.java b/src/main/java/com/rootly/client/model/Catalog.java index 2c46bcc6..5768ea81 100644 --- a/src/main/java/com/rootly/client/model/Catalog.java +++ b/src/main/java/com/rootly/client/model/Catalog.java @@ -49,7 +49,7 @@ /** * Catalog */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Catalog { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java index defc37e1..769c5efb 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java @@ -53,7 +53,7 @@ /** * CatalogChecklistTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogChecklistTemplate { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java index fcdebee5..274b61c1 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java @@ -49,7 +49,7 @@ /** * CatalogChecklistTemplateFieldsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogChecklistTemplateFieldsInner { /** * Source of the field diff --git a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java index b9a06d58..54ea49eb 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java @@ -54,7 +54,7 @@ /** * CatalogChecklistTemplateList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogChecklistTemplateList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java index 8d2bad32..9e1d7cf0 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java @@ -48,7 +48,7 @@ /** * CatalogChecklistTemplateOwnersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogChecklistTemplateOwnersInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java index a7b99efc..e4e69f3c 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java @@ -52,7 +52,7 @@ /** * CatalogChecklistTemplateResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogChecklistTemplateResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java index f06ec624..01fa6c43 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java @@ -49,7 +49,7 @@ /** * CatalogChecklistTemplateResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogChecklistTemplateResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntity.java b/src/main/java/com/rootly/client/model/CatalogEntity.java index 69445903..823e10f1 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntity.java +++ b/src/main/java/com/rootly/client/model/CatalogEntity.java @@ -52,7 +52,7 @@ /** * CatalogEntity */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntity { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java index 746e3aa2..9e7dc88d 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java @@ -53,7 +53,7 @@ /** * CatalogEntityChecklist */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklist { public static final String SERIALIZED_NAME_CATALOG_CHECKLIST_TEMPLATE_ID = "catalog_checklist_template_id"; @SerializedName(SERIALIZED_NAME_CATALOG_CHECKLIST_TEMPLATE_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java index 5256dcb1..eb7ec6c9 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistChecklistFieldsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistChecklistFieldsInner { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java index e358ef63..daf9b7a4 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistChecklistFieldsInnerData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistChecklistFieldsInnerData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java index a40a71b5..2eb91f97 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistChecklistFieldsInnerDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistChecklistFieldsInnerDataAttributes { public static final String SERIALIZED_NAME_CATALOG_ENTITY_CHECKLIST_ID = "catalog_entity_checklist_id"; @SerializedName(SERIALIZED_NAME_CATALOG_ENTITY_CHECKLIST_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java index 823545e2..5a2309ad 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistChecklistOwnersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistChecklistOwnersInner { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java index 8015d153..1413195d 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistChecklistOwnersInnerData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistChecklistOwnersInnerData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java index 437b207c..fc8af004 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java @@ -48,7 +48,7 @@ /** * CatalogEntityChecklistChecklistOwnersInnerDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistChecklistOwnersInnerDataAttributes { public static final String SERIALIZED_NAME_CATALOG_ENTITY_CHECKLIST_ID = "catalog_entity_checklist_id"; @SerializedName(SERIALIZED_NAME_CATALOG_ENTITY_CHECKLIST_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java index 08bb8ed1..91a875b9 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java @@ -54,7 +54,7 @@ /** * CatalogEntityChecklistList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java index dd33b952..947b6a62 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java @@ -52,7 +52,7 @@ /** * CatalogEntityChecklistResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java index 7efc34e1..362febaf 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityChecklistResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityList.java b/src/main/java/com/rootly/client/model/CatalogEntityList.java index 3870ac88..b919c469 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityList.java @@ -54,7 +54,7 @@ /** * CatalogEntityList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityProperty.java b/src/main/java/com/rootly/client/model/CatalogEntityProperty.java index 71c23a77..09332540 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityProperty.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityProperty.java @@ -50,7 +50,7 @@ * @deprecated */ @Deprecated -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityProperty { public static final String SERIALIZED_NAME_CATALOG_ENTITY_ID = "catalog_entity_id"; @SerializedName(SERIALIZED_NAME_CATALOG_ENTITY_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java b/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java index e95aed1d..c1f7f09c 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java @@ -56,7 +56,7 @@ * @deprecated */ @Deprecated -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityPropertyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java index 78057380..5dab1cfb 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java @@ -54,7 +54,7 @@ * @deprecated */ @Deprecated -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityPropertyResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponseData.java b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponseData.java index 0ceebcbd..09ef9689 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponseData.java @@ -49,7 +49,7 @@ /** * CatalogEntityPropertyResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityPropertyResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityResponse.java b/src/main/java/com/rootly/client/model/CatalogEntityResponse.java index 764007d5..92b6d007 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityResponse.java @@ -52,7 +52,7 @@ /** * CatalogEntityResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogEntityResponseData.java b/src/main/java/com/rootly/client/model/CatalogEntityResponseData.java index be66b392..3629c891 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityResponseData.java @@ -49,7 +49,7 @@ /** * CatalogEntityResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogField.java b/src/main/java/com/rootly/client/model/CatalogField.java index e8d876a5..6e311791 100644 --- a/src/main/java/com/rootly/client/model/CatalogField.java +++ b/src/main/java/com/rootly/client/model/CatalogField.java @@ -49,7 +49,7 @@ /** * CatalogField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogField { public static final String SERIALIZED_NAME_CATALOG_ID = "catalog_id"; @SerializedName(SERIALIZED_NAME_CATALOG_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogFieldList.java b/src/main/java/com/rootly/client/model/CatalogFieldList.java index 9c933b05..c19a19a6 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldList.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldList.java @@ -54,7 +54,7 @@ /** * CatalogFieldList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogFieldResponse.java b/src/main/java/com/rootly/client/model/CatalogFieldResponse.java index 520f797b..a7555ff2 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldResponse.java @@ -52,7 +52,7 @@ /** * CatalogFieldResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogFieldResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogFieldResponseData.java b/src/main/java/com/rootly/client/model/CatalogFieldResponseData.java index d71a35ba..551620f8 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldResponseData.java @@ -49,7 +49,7 @@ /** * CatalogFieldResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogFieldResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogList.java b/src/main/java/com/rootly/client/model/CatalogList.java index cdb20fff..e41ccb90 100644 --- a/src/main/java/com/rootly/client/model/CatalogList.java +++ b/src/main/java/com/rootly/client/model/CatalogList.java @@ -54,7 +54,7 @@ /** * CatalogList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogProperty.java b/src/main/java/com/rootly/client/model/CatalogProperty.java index 0aee1b57..e577b538 100644 --- a/src/main/java/com/rootly/client/model/CatalogProperty.java +++ b/src/main/java/com/rootly/client/model/CatalogProperty.java @@ -49,7 +49,7 @@ /** * CatalogProperty */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogProperty { public static final String SERIALIZED_NAME_CATALOG_ID = "catalog_id"; @SerializedName(SERIALIZED_NAME_CATALOG_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogPropertyList.java b/src/main/java/com/rootly/client/model/CatalogPropertyList.java index 99ef9716..177d5e7e 100644 --- a/src/main/java/com/rootly/client/model/CatalogPropertyList.java +++ b/src/main/java/com/rootly/client/model/CatalogPropertyList.java @@ -54,7 +54,7 @@ /** * CatalogPropertyList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogPropertyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java b/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java index bd3ddbcf..63ea690e 100644 --- a/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java @@ -52,7 +52,7 @@ /** * CatalogPropertyResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogPropertyResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java b/src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java index 1ba975fd..38a8ce57 100644 --- a/src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java @@ -49,7 +49,7 @@ /** * CatalogPropertyResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogPropertyResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CatalogResponse.java b/src/main/java/com/rootly/client/model/CatalogResponse.java index 4fd74d2a..24cda76e 100644 --- a/src/main/java/com/rootly/client/model/CatalogResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogResponse.java @@ -52,7 +52,7 @@ /** * CatalogResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CatalogResponseData.java b/src/main/java/com/rootly/client/model/CatalogResponseData.java index e15edfcb..c1ec42c9 100644 --- a/src/main/java/com/rootly/client/model/CatalogResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogResponseData.java @@ -49,7 +49,7 @@ /** * CatalogResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Cause.java b/src/main/java/com/rootly/client/model/Cause.java index db1d097a..0e16b5a5 100644 --- a/src/main/java/com/rootly/client/model/Cause.java +++ b/src/main/java/com/rootly/client/model/Cause.java @@ -52,7 +52,7 @@ /** * Cause */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Cause { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CauseList.java b/src/main/java/com/rootly/client/model/CauseList.java index 835bf3a9..a8f0a737 100644 --- a/src/main/java/com/rootly/client/model/CauseList.java +++ b/src/main/java/com/rootly/client/model/CauseList.java @@ -54,7 +54,7 @@ /** * CauseList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CauseList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CauseResponse.java b/src/main/java/com/rootly/client/model/CauseResponse.java index 9d95b79d..d2f89d58 100644 --- a/src/main/java/com/rootly/client/model/CauseResponse.java +++ b/src/main/java/com/rootly/client/model/CauseResponse.java @@ -52,7 +52,7 @@ /** * CauseResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CauseResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CauseResponseData.java b/src/main/java/com/rootly/client/model/CauseResponseData.java index 00fbb295..e3282686 100644 --- a/src/main/java/com/rootly/client/model/CauseResponseData.java +++ b/src/main/java/com/rootly/client/model/CauseResponseData.java @@ -49,7 +49,7 @@ /** * CauseResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CauseResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ChangeGoogleChatSpacePrivacyTaskParams.java b/src/main/java/com/rootly/client/model/ChangeGoogleChatSpacePrivacyTaskParams.java index b0a65eb0..9b6fa5f2 100644 --- a/src/main/java/com/rootly/client/model/ChangeGoogleChatSpacePrivacyTaskParams.java +++ b/src/main/java/com/rootly/client/model/ChangeGoogleChatSpacePrivacyTaskParams.java @@ -50,7 +50,7 @@ /** * ChangeGoogleChatSpacePrivacyTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ChangeGoogleChatSpacePrivacyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java b/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java index 14dde189..e4d436e3 100644 --- a/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java +++ b/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java @@ -49,7 +49,7 @@ /** * ChangeSlackChannelPrivacyTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ChangeSlackChannelPrivacyTaskParams { /** * Gets or Sets taskType @@ -168,6 +168,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private PrivacyEnum privacy; + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public ChangeSlackChannelPrivacyTaskParams() { } @@ -228,6 +238,44 @@ public void setPrivacy(@jakarta.annotation.Nonnull PrivacyEnum privacy) { } + public ChangeSlackChannelPrivacyTaskParams retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. + * @return retryCount + */ + @jakarta.annotation.Nullable + public Integer getRetryCount() { + return retryCount; + } + + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public ChangeSlackChannelPrivacyTaskParams retryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + return this; + } + + /** + * Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. + * @return retryWaitTime + */ + @jakarta.annotation.Nullable + public Integer getRetryWaitTime() { + return retryWaitTime; + } + + public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + } + + @Override public boolean equals(Object o) { @@ -240,12 +288,14 @@ public boolean equals(Object o) { ChangeSlackChannelPrivacyTaskParams changeSlackChannelPrivacyTaskParams = (ChangeSlackChannelPrivacyTaskParams) o; return Objects.equals(this.taskType, changeSlackChannelPrivacyTaskParams.taskType) && Objects.equals(this.channel, changeSlackChannelPrivacyTaskParams.channel) && - Objects.equals(this.privacy, changeSlackChannelPrivacyTaskParams.privacy); + Objects.equals(this.privacy, changeSlackChannelPrivacyTaskParams.privacy) && + Objects.equals(this.retryCount, changeSlackChannelPrivacyTaskParams.retryCount) && + Objects.equals(this.retryWaitTime, changeSlackChannelPrivacyTaskParams.retryWaitTime); } @Override public int hashCode() { - return Objects.hash(taskType, channel, privacy); + return Objects.hash(taskType, channel, privacy, retryCount, retryWaitTime); } @Override @@ -255,6 +305,8 @@ public String toString() { sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); sb.append(" channel: ").append(toIndentedString(channel)).append("\n"); sb.append(" privacy: ").append(toIndentedString(privacy)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -280,6 +332,8 @@ private String toIndentedString(Object o) { openapiFields.add("task_type"); openapiFields.add("channel"); openapiFields.add("privacy"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroup.java b/src/main/java/com/rootly/client/model/CommunicationsGroup.java index c405782c..54fdd800 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroup.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroup.java @@ -20,7 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CommunicationsGroupCommunicationExternalGroupMembersInner; -import com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +import com.rootly.client.model.CommunicationsGroupCommunicationGroupConditionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +53,7 @@ /** * CommunicationsGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsGroup { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -160,7 +160,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS = "communication_group_conditions"; @SerializedName(SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS) @jakarta.annotation.Nullable - private List communicationGroupConditions; + private List communicationGroupConditions; public static final String SERIALIZED_NAME_MEMBER_IDS = "member_ids"; @SerializedName(SERIALIZED_NAME_MEMBER_IDS) @@ -369,12 +369,12 @@ public void setUpdatedAt(@jakarta.annotation.Nonnull String updatedAt) { } - public CommunicationsGroup communicationGroupConditions(@jakarta.annotation.Nullable List communicationGroupConditions) { + public CommunicationsGroup communicationGroupConditions(@jakarta.annotation.Nullable List communicationGroupConditions) { this.communicationGroupConditions = communicationGroupConditions; return this; } - public CommunicationsGroup addCommunicationGroupConditionsItem(NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner communicationGroupConditionsItem) { + public CommunicationsGroup addCommunicationGroupConditionsItem(CommunicationsGroupCommunicationGroupConditionsInner communicationGroupConditionsItem) { if (this.communicationGroupConditions == null) { this.communicationGroupConditions = new ArrayList<>(); } @@ -387,11 +387,11 @@ public CommunicationsGroup addCommunicationGroupConditionsItem(NewCommunications * @return communicationGroupConditions */ @jakarta.annotation.Nullable - public List getCommunicationGroupConditions() { + public List getCommunicationGroupConditions() { return communicationGroupConditions; } - public void setCommunicationGroupConditions(@jakarta.annotation.Nullable List communicationGroupConditions) { + public void setCommunicationGroupConditions(@jakarta.annotation.Nullable List communicationGroupConditions) { this.communicationGroupConditions = communicationGroupConditions; } @@ -647,7 +647,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `communication_group_conditions` (array) for (int i = 0; i < jsonArraycommunicationGroupConditions.size(); i++) { - NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.validateJsonElement(jsonArraycommunicationGroupConditions.get(i)); + CommunicationsGroupCommunicationGroupConditionsInner.validateJsonElement(jsonArraycommunicationGroupConditions.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java index 134f6d76..3a687393 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java @@ -48,7 +48,7 @@ /** * CommunicationsGroupCommunicationExternalGroupMembersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsGroupCommunicationExternalGroupMembersInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInner.java b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInner.java new file mode 100644 index 00000000..53ebb5ca --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInner.java @@ -0,0 +1,477 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * CommunicationsGroupCommunicationGroupConditionsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsGroupCommunicationGroupConditionsInner { + /** + * Property type + */ + @JsonAdapter(PropertyTypeEnum.Adapter.class) + public enum PropertyTypeEnum { + SERVICE("service"), + + SEVERITY("severity"), + + FUNCTIONALITY("functionality"), + + GROUP("group"), + + INCIDENT_TYPE("incident_type"); + + private String value; + + PropertyTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PropertyTypeEnum fromValue(String value) { + for (PropertyTypeEnum b : PropertyTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PropertyTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PropertyTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PropertyTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PropertyTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PROPERTY_TYPE = "property_type"; + @SerializedName(SERIALIZED_NAME_PROPERTY_TYPE) + @jakarta.annotation.Nullable + private PropertyTypeEnum propertyType; + + public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; + @SerializedName(SERIALIZED_NAME_SERVICE_IDS) + @jakarta.annotation.Nullable + private List serviceIds; + + public static final String SERIALIZED_NAME_SEVERITY_IDS = "severity_ids"; + @SerializedName(SERIALIZED_NAME_SEVERITY_IDS) + @jakarta.annotation.Nullable + private List severityIds; + + public static final String SERIALIZED_NAME_FUNCTIONALITY_IDS = "functionality_ids"; + @SerializedName(SERIALIZED_NAME_FUNCTIONALITY_IDS) + @jakarta.annotation.Nullable + private List functionalityIds; + + public static final String SERIALIZED_NAME_GROUP_IDS = "group_ids"; + @SerializedName(SERIALIZED_NAME_GROUP_IDS) + @jakarta.annotation.Nullable + private List groupIds; + + public static final String SERIALIZED_NAME_INCIDENT_TYPE_IDS = "incident_type_ids"; + @SerializedName(SERIALIZED_NAME_INCIDENT_TYPE_IDS) + @jakarta.annotation.Nullable + private List incidentTypeIds; + + public CommunicationsGroupCommunicationGroupConditionsInner() { + } + + public CommunicationsGroupCommunicationGroupConditionsInner propertyType(@jakarta.annotation.Nullable PropertyTypeEnum propertyType) { + this.propertyType = propertyType; + return this; + } + + /** + * Property type + * @return propertyType + */ + @jakarta.annotation.Nullable + public PropertyTypeEnum getPropertyType() { + return propertyType; + } + + public void setPropertyType(@jakarta.annotation.Nullable PropertyTypeEnum propertyType) { + this.propertyType = propertyType; + } + + + public CommunicationsGroupCommunicationGroupConditionsInner serviceIds(@jakarta.annotation.Nullable List serviceIds) { + this.serviceIds = serviceIds; + return this; + } + + public CommunicationsGroupCommunicationGroupConditionsInner addServiceIdsItem(String serviceIdsItem) { + if (this.serviceIds == null) { + this.serviceIds = new ArrayList<>(); + } + this.serviceIds.add(serviceIdsItem); + return this; + } + + /** + * Array of service IDs + * @return serviceIds + */ + @jakarta.annotation.Nullable + public List getServiceIds() { + return serviceIds; + } + + public void setServiceIds(@jakarta.annotation.Nullable List serviceIds) { + this.serviceIds = serviceIds; + } + + + public CommunicationsGroupCommunicationGroupConditionsInner severityIds(@jakarta.annotation.Nullable List severityIds) { + this.severityIds = severityIds; + return this; + } + + public CommunicationsGroupCommunicationGroupConditionsInner addSeverityIdsItem(String severityIdsItem) { + if (this.severityIds == null) { + this.severityIds = new ArrayList<>(); + } + this.severityIds.add(severityIdsItem); + return this; + } + + /** + * Array of severity IDs + * @return severityIds + */ + @jakarta.annotation.Nullable + public List getSeverityIds() { + return severityIds; + } + + public void setSeverityIds(@jakarta.annotation.Nullable List severityIds) { + this.severityIds = severityIds; + } + + + public CommunicationsGroupCommunicationGroupConditionsInner functionalityIds(@jakarta.annotation.Nullable List functionalityIds) { + this.functionalityIds = functionalityIds; + return this; + } + + public CommunicationsGroupCommunicationGroupConditionsInner addFunctionalityIdsItem(String functionalityIdsItem) { + if (this.functionalityIds == null) { + this.functionalityIds = new ArrayList<>(); + } + this.functionalityIds.add(functionalityIdsItem); + return this; + } + + /** + * Array of functionality IDs + * @return functionalityIds + */ + @jakarta.annotation.Nullable + public List getFunctionalityIds() { + return functionalityIds; + } + + public void setFunctionalityIds(@jakarta.annotation.Nullable List functionalityIds) { + this.functionalityIds = functionalityIds; + } + + + public CommunicationsGroupCommunicationGroupConditionsInner groupIds(@jakarta.annotation.Nullable List groupIds) { + this.groupIds = groupIds; + return this; + } + + public CommunicationsGroupCommunicationGroupConditionsInner addGroupIdsItem(String groupIdsItem) { + if (this.groupIds == null) { + this.groupIds = new ArrayList<>(); + } + this.groupIds.add(groupIdsItem); + return this; + } + + /** + * Array of group IDs + * @return groupIds + */ + @jakarta.annotation.Nullable + public List getGroupIds() { + return groupIds; + } + + public void setGroupIds(@jakarta.annotation.Nullable List groupIds) { + this.groupIds = groupIds; + } + + + public CommunicationsGroupCommunicationGroupConditionsInner incidentTypeIds(@jakarta.annotation.Nullable List incidentTypeIds) { + this.incidentTypeIds = incidentTypeIds; + return this; + } + + public CommunicationsGroupCommunicationGroupConditionsInner addIncidentTypeIdsItem(String incidentTypeIdsItem) { + if (this.incidentTypeIds == null) { + this.incidentTypeIds = new ArrayList<>(); + } + this.incidentTypeIds.add(incidentTypeIdsItem); + return this; + } + + /** + * Array of incident type IDs + * @return incidentTypeIds + */ + @jakarta.annotation.Nullable + public List getIncidentTypeIds() { + return incidentTypeIds; + } + + public void setIncidentTypeIds(@jakarta.annotation.Nullable List incidentTypeIds) { + this.incidentTypeIds = incidentTypeIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsGroupCommunicationGroupConditionsInner communicationsGroupCommunicationGroupConditionsInner = (CommunicationsGroupCommunicationGroupConditionsInner) o; + return Objects.equals(this.propertyType, communicationsGroupCommunicationGroupConditionsInner.propertyType) && + Objects.equals(this.serviceIds, communicationsGroupCommunicationGroupConditionsInner.serviceIds) && + Objects.equals(this.severityIds, communicationsGroupCommunicationGroupConditionsInner.severityIds) && + Objects.equals(this.functionalityIds, communicationsGroupCommunicationGroupConditionsInner.functionalityIds) && + Objects.equals(this.groupIds, communicationsGroupCommunicationGroupConditionsInner.groupIds) && + Objects.equals(this.incidentTypeIds, communicationsGroupCommunicationGroupConditionsInner.incidentTypeIds); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(propertyType, serviceIds, severityIds, functionalityIds, groupIds, incidentTypeIds); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsGroupCommunicationGroupConditionsInner {\n"); + sb.append(" propertyType: ").append(toIndentedString(propertyType)).append("\n"); + sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); + sb.append(" severityIds: ").append(toIndentedString(severityIds)).append("\n"); + sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); + sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); + sb.append(" incidentTypeIds: ").append(toIndentedString(incidentTypeIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("property_type"); + openapiFields.add("service_ids"); + openapiFields.add("severity_ids"); + openapiFields.add("functionality_ids"); + openapiFields.add("group_ids"); + openapiFields.add("incident_type_ids"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to CommunicationsGroupCommunicationGroupConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsGroupCommunicationGroupConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsGroupCommunicationGroupConditionsInner is not found in the empty JSON string", CommunicationsGroupCommunicationGroupConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsGroupCommunicationGroupConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsGroupCommunicationGroupConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("property_type") != null && !jsonObj.get("property_type").isJsonNull()) && !jsonObj.get("property_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property_type").toString())); + } + // validate the optional field `property_type` + if (jsonObj.get("property_type") != null && !jsonObj.get("property_type").isJsonNull()) { + PropertyTypeEnum.validateJsonElement(jsonObj.get("property_type")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("service_ids") != null && !jsonObj.get("service_ids").isJsonNull() && !jsonObj.get("service_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `service_ids` to be an array in the JSON string but got `%s`", jsonObj.get("service_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("severity_ids") != null && !jsonObj.get("severity_ids").isJsonNull() && !jsonObj.get("severity_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `severity_ids` to be an array in the JSON string but got `%s`", jsonObj.get("severity_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("functionality_ids") != null && !jsonObj.get("functionality_ids").isJsonNull() && !jsonObj.get("functionality_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `functionality_ids` to be an array in the JSON string but got `%s`", jsonObj.get("functionality_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("group_ids") != null && !jsonObj.get("group_ids").isJsonNull() && !jsonObj.get("group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_type_ids") != null && !jsonObj.get("incident_type_ids").isJsonNull() && !jsonObj.get("incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_type_ids").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsGroupCommunicationGroupConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsGroupCommunicationGroupConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsGroupCommunicationGroupConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsGroupCommunicationGroupConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsGroupCommunicationGroupConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsGroupCommunicationGroupConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsGroupCommunicationGroupConditionsInner + * @throws IOException if the JSON string is invalid with respect to CommunicationsGroupCommunicationGroupConditionsInner + */ + public static CommunicationsGroupCommunicationGroupConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsGroupCommunicationGroupConditionsInner.class); + } + + /** + * Convert an instance of CommunicationsGroupCommunicationGroupConditionsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java b/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java index 2ac53c2d..1434fdee 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java @@ -52,7 +52,7 @@ /** * CommunicationsGroupResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsGroupResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java index b277e89c..f6a0547e 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java @@ -49,7 +49,7 @@ /** * CommunicationsGroupResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsGroupResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java b/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java index 1e34f004..9a9b216c 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java @@ -54,7 +54,7 @@ /** * CommunicationsGroupsResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsGroupsResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsStage.java b/src/main/java/com/rootly/client/model/CommunicationsStage.java index 8a56704a..d85baf3c 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsStage.java +++ b/src/main/java/com/rootly/client/model/CommunicationsStage.java @@ -49,7 +49,7 @@ /** * CommunicationsStage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsStage { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java b/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java index 614121f0..50c243b1 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java @@ -52,7 +52,7 @@ /** * CommunicationsStageResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsStageResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java index b1803e66..649eef13 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java +++ b/src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java @@ -49,7 +49,7 @@ /** * CommunicationsStageResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsStageResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java b/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java index f43d8105..50e0ec51 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java @@ -54,7 +54,7 @@ /** * CommunicationsStagesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsStagesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplate.java b/src/main/java/com/rootly/client/model/CommunicationsTemplate.java index d5a9ea64..bf94c972 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplate.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplate.java @@ -53,7 +53,7 @@ /** * CommunicationsTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplate { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java index 5ff7fd88..fd7c11ba 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java @@ -49,7 +49,7 @@ /** * CommunicationsTemplateCommunicationTemplateStagesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateCommunicationTemplateStagesInner { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java index 86414bc8..4ec35db0 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java @@ -49,7 +49,7 @@ /** * CommunicationsTemplateCommunicationTemplateStagesInnerData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateCommunicationTemplateStagesInnerData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java index d6e1712a..94e68cb6 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java @@ -51,7 +51,7 @@ /** * CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes { public static final String SERIALIZED_NAME_EMAIL_BODY = "email_body"; @SerializedName(SERIALIZED_NAME_EMAIL_BODY) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java index 1085350d..2e7a8409 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java @@ -48,7 +48,7 @@ /** * CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java index 27a61bc4..37ff6b23 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java @@ -48,7 +48,7 @@ /** * CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java index 79455829..1b52145f 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java @@ -48,7 +48,7 @@ /** * CommunicationsTemplateCommunicationType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateCommunicationType { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java index 9af7841d..be9cd9fe 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java @@ -52,7 +52,7 @@ /** * CommunicationsTemplateResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java index 3de59462..a8b57da4 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java @@ -49,7 +49,7 @@ /** * CommunicationsTemplateResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplateResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java index 93b55f35..7808fd40 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java @@ -54,7 +54,7 @@ /** * CommunicationsTemplatesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTemplatesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsType.java b/src/main/java/com/rootly/client/model/CommunicationsType.java index 5a876088..3da046bc 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsType.java +++ b/src/main/java/com/rootly/client/model/CommunicationsType.java @@ -49,7 +49,7 @@ /** * CommunicationsType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsType { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java index d399a7e0..2816ee4c 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java @@ -52,7 +52,7 @@ /** * CommunicationsTypeResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTypeResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java index 2708129f..ea315cdd 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java @@ -49,7 +49,7 @@ /** * CommunicationsTypeResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTypeResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java index eb00492d..50c7695e 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java @@ -54,7 +54,7 @@ /** * CommunicationsTypesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsTypesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java b/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java index ed8c70e0..f42aae5f 100644 --- a/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java @@ -50,7 +50,7 @@ /** * CreateAirtableTableRecordTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateAirtableTableRecordTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java index badf525f..b37b52cf 100644 --- a/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java @@ -49,7 +49,7 @@ /** * CreateAnthropicChatCompletionTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateAnthropicChatCompletionTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java index fd89ad17..54d3ee87 100644 --- a/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java +++ b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java @@ -48,7 +48,7 @@ /** * The Anthropic model. eg: claude-3-5-sonnet-20241022 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateAnthropicChatCompletionTaskParamsModel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java index 2eaaa778..b8cd8a5a 100644 --- a/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java @@ -52,7 +52,7 @@ /** * CreateAsanaSubtaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateAsanaSubtaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java index 64e1dfc8..3351788d 100644 --- a/src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java @@ -52,7 +52,7 @@ /** * CreateAsanaTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateAsanaTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java index 32eb7a5b..02e183df 100644 --- a/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java @@ -51,7 +51,7 @@ /** * CreateClickupTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateClickupTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java index 7af0fae1..dd9c294d 100644 --- a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java @@ -50,7 +50,7 @@ /** * CreateCodaPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateCodaPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java index bea7e203..57a722d9 100644 --- a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java +++ b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java @@ -48,7 +48,7 @@ /** * The Coda doc object with id and name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateCodaPageTaskParamsDoc { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java index eafab0ab..9d5d1723 100644 --- a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java +++ b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java @@ -48,7 +48,7 @@ /** * CreateCodaPageTaskParamsTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateCodaPageTaskParamsTemplate { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java b/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java index f6bba3a9..cc82f3a8 100644 --- a/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java @@ -50,7 +50,7 @@ /** * CreateConfluencePageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateConfluencePageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java b/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java index fcd8050f..327845e0 100644 --- a/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java +++ b/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java @@ -48,7 +48,7 @@ /** * Specify integration id if you have more than one Confluence instance */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateConfluencePageTaskParamsIntegration { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java b/src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java index b52ba7a2..5569cc99 100644 --- a/src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java @@ -49,7 +49,7 @@ /** * CreateDatadogNotebookTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateDatadogNotebookTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java index 1baa8fba..8b8b6021 100644 --- a/src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java @@ -49,7 +49,7 @@ /** * CreateDropboxPaperPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateDropboxPaperPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.java index 69a97bd1..058088e6 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.java @@ -49,7 +49,7 @@ /** * CreateEdgeConnectorActionRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorActionRequest { public static final String SERIALIZED_NAME_ACTION = "action"; @SerializedName(SERIALIZED_NAME_ACTION) diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java index fbe3a6d1..fa90236d 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java @@ -49,7 +49,7 @@ /** * CreateEdgeConnectorActionRequestAction */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorActionRequestAction { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java index c2d07491..f48c9713 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java @@ -51,7 +51,7 @@ /** * CreateEdgeConnectorActionRequestActionMetadata */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorActionRequestActionMetadata { public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java index 569bd134..d1b82d39 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java @@ -50,7 +50,7 @@ /** * CreateEdgeConnectorActionRequestActionMetadataParametersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorActionRequestActionMetadataParametersInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java index 2f6c9cdb..5ea2d7cd 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java @@ -49,7 +49,7 @@ /** * CreateEdgeConnectorRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorRequest { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java index 5ca23d10..e3fc9063 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java @@ -49,7 +49,7 @@ /** * CreateEdgeConnectorRequestData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorRequestData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java index bf854d0a..4553b185 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -51,7 +52,7 @@ /** * CreateEdgeConnectorRequestDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorRequestDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -125,6 +126,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subscriptions = new ArrayList<>(); + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_FILTERS = "filters"; @SerializedName(SERIALIZED_NAME_FILTERS) @jakarta.annotation.Nullable @@ -217,6 +223,33 @@ public void setSubscriptions(@jakarta.annotation.Nullable List subscript } + public CreateEdgeConnectorRequestDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public CreateEdgeConnectorRequestDataAttributes addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams (groups) that own this connector + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + public CreateEdgeConnectorRequestDataAttributes filters(@jakarta.annotation.Nullable CreateEdgeConnectorRequestDataAttributesFilters filters) { this.filters = filters; return this; @@ -250,12 +283,13 @@ public boolean equals(Object o) { Objects.equals(this.description, createEdgeConnectorRequestDataAttributes.description) && Objects.equals(this.status, createEdgeConnectorRequestDataAttributes.status) && Objects.equals(this.subscriptions, createEdgeConnectorRequestDataAttributes.subscriptions) && + Objects.equals(this.ownerGroupIds, createEdgeConnectorRequestDataAttributes.ownerGroupIds) && Objects.equals(this.filters, createEdgeConnectorRequestDataAttributes.filters); } @Override public int hashCode() { - return Objects.hash(name, description, status, subscriptions, filters); + return Objects.hash(name, description, status, subscriptions, ownerGroupIds, filters); } @Override @@ -266,6 +300,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" subscriptions: ").append(toIndentedString(subscriptions)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); sb.append("}"); return sb.toString(); @@ -293,6 +328,7 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("status"); openapiFields.add("subscriptions"); + openapiFields.add("owner_group_ids"); openapiFields.add("filters"); // a set of required properties/fields (JSON key names) @@ -345,6 +381,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("subscriptions") != null && !jsonObj.get("subscriptions").isJsonNull() && !jsonObj.get("subscriptions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `subscriptions` to be an array in the JSON string but got `%s`", jsonObj.get("subscriptions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } // validate the optional field `filters` if (jsonObj.get("filters") != null && !jsonObj.get("filters").isJsonNull()) { CreateEdgeConnectorRequestDataAttributesFilters.validateJsonElement(jsonObj.get("filters")); diff --git a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesFilters.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesFilters.java index 0874f369..126dc307 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesFilters.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesFilters.java @@ -50,7 +50,7 @@ /** * Event filters. OR within dimension, AND across dimensions. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorRequestDataAttributesFilters { public static final String SERIALIZED_NAME_GROUP_IDS = "group_ids"; @SerializedName(SERIALIZED_NAME_GROUP_IDS) diff --git a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java index 84262510..2f7f734d 100644 --- a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java @@ -53,7 +53,7 @@ /** * CreateGithubIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGithubIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java index 7105b7bd..ce666fde 100644 --- a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java +++ b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java @@ -48,7 +48,7 @@ /** * The issue type */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGithubIssueTaskParamsIssueType { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java index baa89863..f0f796e8 100644 --- a/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java @@ -49,7 +49,7 @@ /** * CreateGitlabIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGitlabIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java index ccae8f39..a89e749e 100644 --- a/src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java @@ -52,7 +52,7 @@ /** * CreateGoToMeetingTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoToMeetingTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java index 19052d08..c075cfa0 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java @@ -52,7 +52,7 @@ /** * CreateGoogleCalendarEventTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleCalendarEventTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoogleChatSpaceTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleChatSpaceTaskParams.java index b6925957..3ac6189c 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleChatSpaceTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleChatSpaceTaskParams.java @@ -48,7 +48,7 @@ /** * CreateGoogleChatSpaceTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleChatSpaceTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java index 2f4d888e..adbbe473 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java @@ -49,7 +49,7 @@ /** * CreateGoogleDocsPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleDocsPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java index af8eaa4b..33351c23 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java @@ -49,7 +49,7 @@ /** * CreateGoogleDocsPermissionsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleDocsPermissionsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java index dddb43f9..41e4deb7 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java @@ -49,7 +49,7 @@ /** * CreateGoogleGeminiChatCompletionTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleGeminiChatCompletionTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java index 8ebda47c..9b0715d6 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java @@ -48,7 +48,7 @@ /** * The Gemini model. eg: gemini-2.0-flash */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleGeminiChatCompletionTaskParamsModel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java index 34117542..5f8aed75 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java @@ -52,7 +52,7 @@ /** * CreateGoogleMeetingTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleMeetingTaskParams { /** * Gets or Sets taskType @@ -256,6 +256,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List postToSlackChannels = new ArrayList<>(); + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public CreateGoogleMeetingTaskParams() { } @@ -419,6 +429,44 @@ public void setPostToSlackChannels(@jakarta.annotation.Nullable List boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -445,7 +495,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(taskType, summary, description, conferenceSolutionKey, recordMeeting, recordingMode, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, summary, description, conferenceSolutionKey, recordMeeting, recordingMode, postToIncidentTimeline, postToSlackChannels, retryCount, retryWaitTime); } private static int hashCodeNullable(JsonNullable a) { @@ -467,6 +517,8 @@ public String toString() { sb.append(" recordingMode: ").append(toIndentedString(recordingMode)).append("\n"); sb.append(" postToIncidentTimeline: ").append(toIndentedString(postToIncidentTimeline)).append("\n"); sb.append(" postToSlackChannels: ").append(toIndentedString(postToSlackChannels)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -497,6 +549,8 @@ private String toIndentedString(Object o) { openapiFields.add("recording_mode"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java index a3feb178..5ef745c2 100644 --- a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java @@ -50,7 +50,7 @@ /** * CreateIncidentPostmortemTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateIncidentPostmortemTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java index 718e68e6..63656168 100644 --- a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java +++ b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java @@ -48,7 +48,7 @@ /** * Retrospective template to use */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateIncidentPostmortemTaskParamsTemplate { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateIncidentTaskParams.java b/src/main/java/com/rootly/client/model/CreateIncidentTaskParams.java index 5ecc2769..bee0efa9 100644 --- a/src/main/java/com/rootly/client/model/CreateIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateIncidentTaskParams.java @@ -51,7 +51,7 @@ /** * CreateIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java index b9186867..3f22c755 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java @@ -53,7 +53,7 @@ /** * CreateJiraIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJiraIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegration.java b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegration.java index 52b4d67b..930db26f 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegration.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegration.java @@ -48,7 +48,7 @@ /** * Specify integration id if you have more than one Jira instance */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJiraIssueTaskParamsIntegration { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java index 8bda67ea..0f3dd1c7 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java @@ -48,7 +48,7 @@ /** * The issue type id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJiraIssueTaskParamsIssueType { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java index e7e5b52a..17593add 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java @@ -48,7 +48,7 @@ /** * The priority id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJiraIssueTaskParamsPriority { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java index 0a8c65d1..6bcf2e35 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java @@ -48,7 +48,7 @@ /** * The status id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJiraIssueTaskParamsStatus { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java index 8f594cd7..d1c3fc42 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java @@ -53,7 +53,7 @@ /** * CreateJiraSubtaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJiraSubtaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java b/src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java index 399d33a3..6a6313c7 100644 --- a/src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java @@ -52,7 +52,7 @@ /** * CreateJsmopsAlertTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateJsmopsAlertTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java b/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java index 724dd5a9..76b53646 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java @@ -48,7 +48,7 @@ /** * CreateLinearIssueCommentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateLinearIssueCommentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java index 410244b3..4be366ef 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java @@ -56,7 +56,7 @@ /** * CreateLinearIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateLinearIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java index 71ea581d..9b0dcd3f 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java @@ -48,7 +48,7 @@ /** * The project id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateLinearIssueTaskParamsProject { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java index dbe9c72a..a05e1679 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java @@ -48,7 +48,7 @@ /** * The state id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateLinearIssueTaskParamsState { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java index 7cb3696e..374f79c3 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java @@ -48,7 +48,7 @@ /** * The team id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateLinearIssueTaskParamsTeam { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java index 71ba29b6..b5cc38c5 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java @@ -54,7 +54,7 @@ /** * CreateLinearSubtaskIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateLinearSubtaskIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java index 5a398eaa..f1d19312 100644 --- a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java @@ -49,7 +49,7 @@ /** * CreateMicrosoftTeamsChannelTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMicrosoftTeamsChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java index 94ec90d1..2fd1b9d1 100644 --- a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java @@ -52,7 +52,7 @@ /** * CreateMicrosoftTeamsChatTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMicrosoftTeamsChatTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java index 86814167..9bb5cac9 100644 --- a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java @@ -48,7 +48,7 @@ /** * CreateMicrosoftTeamsChatTaskParamsMembersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMicrosoftTeamsChatTaskParamsMembersInner { public static final String SERIALIZED_NAME_EMAIL = "email"; @SerializedName(SERIALIZED_NAME_EMAIL) diff --git a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java index 6ffc5132..7eb6a74e 100644 --- a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java @@ -52,7 +52,7 @@ /** * CreateMicrosoftTeamsMeetingTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMicrosoftTeamsMeetingTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java index 9eaaf203..dfca6a3b 100644 --- a/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java @@ -50,7 +50,7 @@ /** * CreateMistralChatCompletionTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMistralChatCompletionTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java index 60eaa6a5..e2941acc 100644 --- a/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java +++ b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java @@ -48,7 +48,7 @@ /** * The Mistral model. eg: mistral-large-latest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMistralChatCompletionTaskParamsModel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java index 5468dcc0..7be061dd 100644 --- a/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java @@ -50,7 +50,7 @@ /** * CreateMotionTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMotionTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java index da0af834..3d462cb5 100644 --- a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java @@ -49,7 +49,7 @@ /** * CreateNotionPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateNotionPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java index 70eafb89..fa87cdd0 100644 --- a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java +++ b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java @@ -48,7 +48,7 @@ /** * The parent page id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateNotionPageTaskParamsParentPage { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java index c75b8f43..4f825d80 100644 --- a/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java @@ -50,7 +50,7 @@ /** * CreateOpenaiChatCompletionTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateOpenaiChatCompletionTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java index 411cee9c..1085a8d2 100644 --- a/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java +++ b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java @@ -48,7 +48,7 @@ /** * The OpenAI model. eg: gpt-5-nano */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateOpenaiChatCompletionTaskParamsModel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java b/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java index f9321b66..eb97ddeb 100644 --- a/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java @@ -52,7 +52,7 @@ /** * CreateOpsgenieAlertTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateOpsgenieAlertTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java b/src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java index e1bcf552..6ecb91ef 100644 --- a/src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java @@ -52,7 +52,7 @@ /** * CreateOutlookEventTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateOutlookEventTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java b/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java index 64d24e0e..df497775 100644 --- a/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java @@ -48,7 +48,7 @@ /** * CreatePagerdutyStatusUpdateTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreatePagerdutyStatusUpdateTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreatePagertreeAlertTaskParams.java b/src/main/java/com/rootly/client/model/CreatePagertreeAlertTaskParams.java index 211e348d..2f1d1c2a 100644 --- a/src/main/java/com/rootly/client/model/CreatePagertreeAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreatePagertreeAlertTaskParams.java @@ -51,7 +51,7 @@ /** * CreatePagertreeAlertTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreatePagertreeAlertTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateQuipPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateQuipPageTaskParams.java index 6ec92ef4..321fb9a7 100644 --- a/src/main/java/com/rootly/client/model/CreateQuipPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateQuipPageTaskParams.java @@ -48,7 +48,7 @@ /** * CreateQuipPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateQuipPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParams.java b/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParams.java index b7890b6d..34f415c8 100644 --- a/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParams.java @@ -51,7 +51,7 @@ /** * CreateServiceNowIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateServiceNowIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletion.java b/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletion.java index 00338438..c4615bab 100644 --- a/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletion.java +++ b/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletion.java @@ -48,7 +48,7 @@ /** * The completion id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateServiceNowIncidentTaskParamsCompletion { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java index 83854ee2..f6d879bc 100644 --- a/src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java @@ -49,7 +49,7 @@ /** * CreateSharepointPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateSharepointPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java index 41e2ac6f..1c91f1f3 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java @@ -60,7 +60,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateShortcutStoryTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(CreateShortcutStoryTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf.java index 8cbce732..1eccc0a7 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf.java @@ -49,7 +49,7 @@ /** * CreateShortcutStoryTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateShortcutStoryTaskParamsAnyOf { public static final String SERIALIZED_NAME_PROJECT = "project"; @SerializedName(SERIALIZED_NAME_PROJECT) diff --git a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf1.java b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf1.java index 025836b5..4eda1c5f 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf1.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParamsAnyOf1.java @@ -49,7 +49,7 @@ /** * CreateShortcutStoryTaskParamsAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateShortcutStoryTaskParamsAnyOf1 { public static final String SERIALIZED_NAME_WORKFLOW_STATE = "workflow_state"; @SerializedName(SERIALIZED_NAME_WORKFLOW_STATE) diff --git a/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java index 6137d423..8bb5aa01 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java @@ -49,7 +49,7 @@ /** * CreateShortcutTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateShortcutTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParams.java b/src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParams.java new file mode 100644 index 00000000..efcb5338 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParams.java @@ -0,0 +1,414 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Create a canvas in a Slack channel, preserving an existing canvas. The connected Slack app must have Canvas permissions. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateSlackCanvasTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_SLACK_CANVAS("create_slack_canvas"); + + private String value; + + TaskTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TaskTypeEnum fromValue(String value) { + for (TaskTypeEnum b : TaskTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TaskTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TaskTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TaskTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TaskTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TASK_TYPE = "task_type"; + @SerializedName(SERIALIZED_NAME_TASK_TYPE) + @jakarta.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_CHANNEL = "channel"; + @SerializedName(SERIALIZED_NAME_CHANNEL) + @jakarta.annotation.Nonnull + private CreateSlackCanvasTaskParamsChannel channel; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @jakarta.annotation.Nonnull + private String title; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @jakarta.annotation.Nonnull + private String content; + + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + + public CreateSlackCanvasTaskParams() { + } + + public CreateSlackCanvasTaskParams taskType(@jakarta.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @jakarta.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@jakarta.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateSlackCanvasTaskParams channel(@jakarta.annotation.Nonnull CreateSlackCanvasTaskParamsChannel channel) { + this.channel = channel; + return this; + } + + /** + * Get channel + * @return channel + */ + @jakarta.annotation.Nonnull + public CreateSlackCanvasTaskParamsChannel getChannel() { + return channel; + } + + public void setChannel(@jakarta.annotation.Nonnull CreateSlackCanvasTaskParamsChannel channel) { + this.channel = channel; + } + + + public CreateSlackCanvasTaskParams title(@jakarta.annotation.Nonnull String title) { + this.title = title; + return this; + } + + /** + * The canvas title. Supports Liquid variables. + * @return title + */ + @jakarta.annotation.Nonnull + public String getTitle() { + return title; + } + + public void setTitle(@jakarta.annotation.Nonnull String title) { + this.title = title; + } + + + public CreateSlackCanvasTaskParams content(@jakarta.annotation.Nonnull String content) { + this.content = content; + return this; + } + + /** + * The initial canvas content in Markdown. Supports Liquid variables. An existing channel canvas is preserved. + * @return content + */ + @jakarta.annotation.Nonnull + public String getContent() { + return content; + } + + public void setContent(@jakarta.annotation.Nonnull String content) { + this.content = content; + } + + + public CreateSlackCanvasTaskParams retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. + * @return retryCount + */ + @jakarta.annotation.Nullable + public Integer getRetryCount() { + return retryCount; + } + + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public CreateSlackCanvasTaskParams retryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + return this; + } + + /** + * Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. + * @return retryWaitTime + */ + @jakarta.annotation.Nullable + public Integer getRetryWaitTime() { + return retryWaitTime; + } + + public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateSlackCanvasTaskParams createSlackCanvasTaskParams = (CreateSlackCanvasTaskParams) o; + return Objects.equals(this.taskType, createSlackCanvasTaskParams.taskType) && + Objects.equals(this.channel, createSlackCanvasTaskParams.channel) && + Objects.equals(this.title, createSlackCanvasTaskParams.title) && + Objects.equals(this.content, createSlackCanvasTaskParams.content) && + Objects.equals(this.retryCount, createSlackCanvasTaskParams.retryCount) && + Objects.equals(this.retryWaitTime, createSlackCanvasTaskParams.retryWaitTime); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, channel, title, content, retryCount, retryWaitTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateSlackCanvasTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" channel: ").append(toIndentedString(channel)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("task_type"); + openapiFields.add("channel"); + openapiFields.add("title"); + openapiFields.add("content"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("channel"); + openapiRequiredFields.add("title"); + openapiRequiredFields.add("content"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to CreateSlackCanvasTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateSlackCanvasTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateSlackCanvasTaskParams is not found in the empty JSON string", CreateSlackCanvasTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateSlackCanvasTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateSlackCanvasTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateSlackCanvasTaskParams.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) && !jsonObj.get("task_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `task_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("task_type").toString())); + } + // validate the optional field `task_type` + if (jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) { + TaskTypeEnum.validateJsonElement(jsonObj.get("task_type")); + } + // validate the required field `channel` + CreateSlackCanvasTaskParamsChannel.validateJsonElement(jsonObj.get("channel")); + if (!jsonObj.get("title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString())); + } + if (!jsonObj.get("content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateSlackCanvasTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateSlackCanvasTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateSlackCanvasTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateSlackCanvasTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateSlackCanvasTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateSlackCanvasTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateSlackCanvasTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateSlackCanvasTaskParams + */ + public static CreateSlackCanvasTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateSlackCanvasTaskParams.class); + } + + /** + * Convert an instance of CreateSlackCanvasTaskParams to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannel.java b/src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannel.java new file mode 100644 index 00000000..c81b352c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannel.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Slack channel containing the canvas. Channel IDs support Liquid variables. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateSlackCanvasTaskParamsChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public CreateSlackCanvasTaskParamsChannel() { + } + + public CreateSlackCanvasTaskParamsChannel id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID. + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public CreateSlackCanvasTaskParamsChannel name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Channel display name. + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateSlackCanvasTaskParamsChannel createSlackCanvasTaskParamsChannel = (CreateSlackCanvasTaskParamsChannel) o; + return Objects.equals(this.id, createSlackCanvasTaskParamsChannel.id) && + Objects.equals(this.name, createSlackCanvasTaskParamsChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateSlackCanvasTaskParamsChannel {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("name"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to CreateSlackCanvasTaskParamsChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateSlackCanvasTaskParamsChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateSlackCanvasTaskParamsChannel is not found in the empty JSON string", CreateSlackCanvasTaskParamsChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateSlackCanvasTaskParamsChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateSlackCanvasTaskParamsChannel` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateSlackCanvasTaskParamsChannel.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateSlackCanvasTaskParamsChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateSlackCanvasTaskParamsChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateSlackCanvasTaskParamsChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateSlackCanvasTaskParamsChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateSlackCanvasTaskParamsChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateSlackCanvasTaskParamsChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateSlackCanvasTaskParamsChannel + * @throws IOException if the JSON string is invalid with respect to CreateSlackCanvasTaskParamsChannel + */ + public static CreateSlackCanvasTaskParamsChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateSlackCanvasTaskParamsChannel.class); + } + + /** + * Convert an instance of CreateSlackCanvasTaskParamsChannel to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java b/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java index 4404160e..3eea2f62 100644 --- a/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java @@ -49,7 +49,7 @@ /** * CreateSlackChannelTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateSlackChannelTaskParams { /** * Gets or Sets taskType @@ -175,6 +175,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private PrivateEnum _private = PrivateEnum.AUTO; + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public CreateSlackChannelTaskParams() { } @@ -254,6 +264,44 @@ public void setPrivate(@jakarta.annotation.Nullable PrivateEnum _private) { } + public CreateSlackChannelTaskParams retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. + * @return retryCount + */ + @jakarta.annotation.Nullable + public Integer getRetryCount() { + return retryCount; + } + + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public CreateSlackChannelTaskParams retryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + return this; + } + + /** + * Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. + * @return retryWaitTime + */ + @jakarta.annotation.Nullable + public Integer getRetryWaitTime() { + return retryWaitTime; + } + + public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + } + + @Override public boolean equals(Object o) { @@ -267,12 +315,14 @@ public boolean equals(Object o) { return Objects.equals(this.taskType, createSlackChannelTaskParams.taskType) && Objects.equals(this.workspace, createSlackChannelTaskParams.workspace) && Objects.equals(this.title, createSlackChannelTaskParams.title) && - Objects.equals(this._private, createSlackChannelTaskParams._private); + Objects.equals(this._private, createSlackChannelTaskParams._private) && + Objects.equals(this.retryCount, createSlackChannelTaskParams.retryCount) && + Objects.equals(this.retryWaitTime, createSlackChannelTaskParams.retryWaitTime); } @Override public int hashCode() { - return Objects.hash(taskType, workspace, title, _private); + return Objects.hash(taskType, workspace, title, _private, retryCount, retryWaitTime); } @Override @@ -283,6 +333,8 @@ public String toString() { sb.append(" workspace: ").append(toIndentedString(workspace)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" _private: ").append(toIndentedString(_private)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -309,6 +361,8 @@ private String toIndentedString(Object o) { openapiFields.add("workspace"); openapiFields.add("title"); openapiFields.add("private"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java b/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java index 2a765852..264ecae8 100644 --- a/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java @@ -48,7 +48,7 @@ /** * CreateSubIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateSubIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java index c747596f..1d5cc738 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java @@ -54,7 +54,7 @@ /** * CreateTrelloCardTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateTrelloCardTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java index 62d9f178..820aae55 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java @@ -48,7 +48,7 @@ /** * The archivation id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateTrelloCardTaskParamsArchivation { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java index 58de6311..b65e9d21 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java @@ -48,7 +48,7 @@ /** * The board id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateTrelloCardTaskParamsBoard { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java index f9a77679..86bdcbea 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java @@ -48,7 +48,7 @@ /** * The list id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateTrelloCardTaskParamsList { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java index 0464226a..ef34edf6 100644 --- a/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java @@ -49,7 +49,7 @@ /** * CreateWatsonxChatCompletionTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateWatsonxChatCompletionTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java index 49f03e03..a851e684 100644 --- a/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java +++ b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java @@ -48,7 +48,7 @@ /** * The WatsonX model. eg: ibm/granite-3-b8b-instruct */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateWatsonxChatCompletionTaskParamsModel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java index 30449a2c..632fd08d 100644 --- a/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java @@ -52,7 +52,7 @@ /** * CreateWebexMeetingTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateWebexMeetingTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java b/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java index 47e2d75d..98d9a7e5 100644 --- a/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java @@ -48,7 +48,7 @@ /** * CreateZendeskJiraLinkTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateZendeskJiraLinkTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java b/src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java index 0b376adb..0746af0c 100644 --- a/src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java @@ -51,7 +51,7 @@ /** * CreateZendeskTicketTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateZendeskTicketTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateZoomMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateZoomMeetingTaskParams.java index f4ecd9e1..81461ae6 100644 --- a/src/main/java/com/rootly/client/model/CreateZoomMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateZoomMeetingTaskParams.java @@ -52,7 +52,7 @@ /** * CreateZoomMeetingTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateZoomMeetingTaskParams { /** * Gets or Sets taskType @@ -269,6 +269,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List postToSlackChannels = new ArrayList<>(); + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public CreateZoomMeetingTaskParams() { } @@ -497,6 +507,44 @@ public void setPostToSlackChannels(@jakarta.annotation.Nullable List boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -526,7 +576,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(taskType, topic, password, createAsEmail, alternativeHosts, autoRecording, recordMeeting, recordingMode, enableZoomBotAutoJoin, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, topic, password, createAsEmail, alternativeHosts, autoRecording, recordMeeting, recordingMode, enableZoomBotAutoJoin, postToIncidentTimeline, postToSlackChannels, retryCount, retryWaitTime); } private static int hashCodeNullable(JsonNullable a) { @@ -551,6 +601,8 @@ public String toString() { sb.append(" enableZoomBotAutoJoin: ").append(toIndentedString(enableZoomBotAutoJoin)).append("\n"); sb.append(" postToIncidentTimeline: ").append(toIndentedString(postToIncidentTimeline)).append("\n"); sb.append(" postToSlackChannels: ").append(toIndentedString(postToSlackChannels)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -584,6 +636,8 @@ private String toIndentedString(Object o) { openapiFields.add("enable_zoom_bot_auto_join"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/CustomField.java b/src/main/java/com/rootly/client/model/CustomField.java index 0eee6684..17d58149 100644 --- a/src/main/java/com/rootly/client/model/CustomField.java +++ b/src/main/java/com/rootly/client/model/CustomField.java @@ -48,7 +48,7 @@ /** * CustomField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomField { /** * Gets or Sets fieldSource diff --git a/src/main/java/com/rootly/client/model/CustomFieldList.java b/src/main/java/com/rootly/client/model/CustomFieldList.java index 64d1736b..56a68663 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldList.java +++ b/src/main/java/com/rootly/client/model/CustomFieldList.java @@ -54,7 +54,7 @@ /** * CustomFieldList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CustomFieldOption.java b/src/main/java/com/rootly/client/model/CustomFieldOption.java index 0b9079b8..b0669000 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOption.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOption.java @@ -48,7 +48,7 @@ /** * CustomFieldOption */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldOption { public static final String SERIALIZED_NAME_CUSTOM_FIELD_ID = "custom_field_id"; @SerializedName(SERIALIZED_NAME_CUSTOM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/CustomFieldOptionList.java b/src/main/java/com/rootly/client/model/CustomFieldOptionList.java index b52ba8e2..3c183da5 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionList.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionList.java @@ -54,7 +54,7 @@ /** * CustomFieldOptionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldOptionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java b/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java index dc1fd4e2..f8ce8d57 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java @@ -52,7 +52,7 @@ /** * CustomFieldOptionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldOptionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CustomFieldOptionResponseData.java b/src/main/java/com/rootly/client/model/CustomFieldOptionResponseData.java index 7f0e991f..b204d350 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionResponseData.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionResponseData.java @@ -49,7 +49,7 @@ /** * CustomFieldOptionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldOptionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CustomFieldResponse.java b/src/main/java/com/rootly/client/model/CustomFieldResponse.java index 0157b5dd..3d012d2b 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFieldResponse.java @@ -52,7 +52,7 @@ /** * CustomFieldResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CustomFieldResponseData.java b/src/main/java/com/rootly/client/model/CustomFieldResponseData.java index f0701492..bb7105ce 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/CustomFieldResponseData.java @@ -49,7 +49,7 @@ /** * CustomFieldResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/CustomForm.java b/src/main/java/com/rootly/client/model/CustomForm.java index 1f45c4b1..61e47f3f 100644 --- a/src/main/java/com/rootly/client/model/CustomForm.java +++ b/src/main/java/com/rootly/client/model/CustomForm.java @@ -49,7 +49,7 @@ /** * CustomForm */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomForm { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CustomFormList.java b/src/main/java/com/rootly/client/model/CustomFormList.java index 8519b412..5261cb3f 100644 --- a/src/main/java/com/rootly/client/model/CustomFormList.java +++ b/src/main/java/com/rootly/client/model/CustomFormList.java @@ -54,7 +54,7 @@ /** * CustomFormList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFormList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CustomFormResponse.java b/src/main/java/com/rootly/client/model/CustomFormResponse.java index 30e3dd21..d438b010 100644 --- a/src/main/java/com/rootly/client/model/CustomFormResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFormResponse.java @@ -52,7 +52,7 @@ /** * CustomFormResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFormResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/CustomFormResponseData.java b/src/main/java/com/rootly/client/model/CustomFormResponseData.java index c7c3c74a..ba54a4e0 100644 --- a/src/main/java/com/rootly/client/model/CustomFormResponseData.java +++ b/src/main/java/com/rootly/client/model/CustomFormResponseData.java @@ -49,7 +49,7 @@ /** * CustomFormResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFormResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Dashboard.java b/src/main/java/com/rootly/client/model/Dashboard.java index 5efa322a..e9d4f5b1 100644 --- a/src/main/java/com/rootly/client/model/Dashboard.java +++ b/src/main/java/com/rootly/client/model/Dashboard.java @@ -49,7 +49,7 @@ /** * Dashboard */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Dashboard { public static final String SERIALIZED_NAME_TEAM_ID = "team_id"; @SerializedName(SERIALIZED_NAME_TEAM_ID) diff --git a/src/main/java/com/rootly/client/model/DashboardList.java b/src/main/java/com/rootly/client/model/DashboardList.java index 55670b11..b002a0c8 100644 --- a/src/main/java/com/rootly/client/model/DashboardList.java +++ b/src/main/java/com/rootly/client/model/DashboardList.java @@ -54,7 +54,7 @@ /** * DashboardList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/DashboardPanel.java b/src/main/java/com/rootly/client/model/DashboardPanel.java index da23ec06..05e19b7a 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanel.java +++ b/src/main/java/com/rootly/client/model/DashboardPanel.java @@ -53,7 +53,7 @@ /** * DashboardPanel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardPanel { public static final String SERIALIZED_NAME_DASHBOARD_ID = "dashboard_id"; @SerializedName(SERIALIZED_NAME_DASHBOARD_ID) diff --git a/src/main/java/com/rootly/client/model/DashboardPanelList.java b/src/main/java/com/rootly/client/model/DashboardPanelList.java index 2e609984..4595d578 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelList.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelList.java @@ -54,7 +54,7 @@ /** * DashboardPanelList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardPanelList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/DashboardPanelResponse.java b/src/main/java/com/rootly/client/model/DashboardPanelResponse.java index 073df325..effa6524 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelResponse.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelResponse.java @@ -52,7 +52,7 @@ /** * DashboardPanelResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardPanelResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/DashboardPanelResponseData.java b/src/main/java/com/rootly/client/model/DashboardPanelResponseData.java index 4056a629..b0677762 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelResponseData.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelResponseData.java @@ -49,7 +49,7 @@ /** * DashboardPanelResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardPanelResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/DashboardResponse.java b/src/main/java/com/rootly/client/model/DashboardResponse.java index edc2fd05..1d13bd9d 100644 --- a/src/main/java/com/rootly/client/model/DashboardResponse.java +++ b/src/main/java/com/rootly/client/model/DashboardResponse.java @@ -52,7 +52,7 @@ /** * DashboardResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/DashboardResponseData.java b/src/main/java/com/rootly/client/model/DashboardResponseData.java index 3da724ee..feeaaffa 100644 --- a/src/main/java/com/rootly/client/model/DashboardResponseData.java +++ b/src/main/java/com/rootly/client/model/DashboardResponseData.java @@ -49,7 +49,7 @@ /** * DashboardResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/DeferralWindow.java b/src/main/java/com/rootly/client/model/DeferralWindow.java new file mode 100644 index 00000000..2b263dd6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/DeferralWindow.java @@ -0,0 +1,1010 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.DeferralWindowTimeBlocksInner; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * DeferralWindow + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class DeferralWindow { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + DEFERRAL_WINDOW("deferral_window"); + + private String value; + + RuleTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) + @jakarta.annotation.Nonnull + private RuleTypeEnum ruleType; + + /** + * Time zone for the deferral window + */ + @JsonAdapter(TimeZoneEnum.Adapter.class) + public enum TimeZoneEnum { + INTERNATIONAL_DATE_LINE_WEST("International Date Line West"), + + ETC_GMT_12("Etc/GMT+12"), + + AMERICAN_SAMOA("American Samoa"), + + PACIFIC_PAGO_PAGO("Pacific/Pago_Pago"), + + MIDWAY_ISLAND("Midway Island"), + + PACIFIC_MIDWAY("Pacific/Midway"), + + HAWAII("Hawaii"), + + PACIFIC_HONOLULU("Pacific/Honolulu"), + + ALASKA("Alaska"), + + AMERICA_JUNEAU("America/Juneau"), + + PACIFIC_TIME_US_CANADA_("Pacific Time (US & Canada)"), + + AMERICA_LOS_ANGELES("America/Los_Angeles"), + + TIJUANA("Tijuana"), + + AMERICA_TIJUANA("America/Tijuana"), + + ARIZONA("Arizona"), + + AMERICA_PHOENIX("America/Phoenix"), + + MAZATLAN("Mazatlan"), + + AMERICA_MAZATLAN("America/Mazatlan"), + + MOUNTAIN_TIME_US_CANADA_("Mountain Time (US & Canada)"), + + AMERICA_DENVER("America/Denver"), + + CENTRAL_AMERICA("Central America"), + + AMERICA_GUATEMALA("America/Guatemala"), + + CENTRAL_TIME_US_CANADA_("Central Time (US & Canada)"), + + AMERICA_CHICAGO("America/Chicago"), + + CHIHUAHUA("Chihuahua"), + + AMERICA_CHIHUAHUA("America/Chihuahua"), + + GUADALAJARA("Guadalajara"), + + AMERICA_MEXICO_CITY("America/Mexico_City"), + + MEXICO_CITY("Mexico City"), + + MONTERREY("Monterrey"), + + AMERICA_MONTERREY("America/Monterrey"), + + SASKATCHEWAN("Saskatchewan"), + + AMERICA_REGINA("America/Regina"), + + BOGOTA("Bogota"), + + AMERICA_BOGOTA("America/Bogota"), + + EASTERN_TIME_US_CANADA_("Eastern Time (US & Canada)"), + + AMERICA_NEW_YORK("America/New_York"), + + INDIANA_EAST_("Indiana (East)"), + + AMERICA_INDIANA_INDIANAPOLIS("America/Indiana/Indianapolis"), + + LIMA("Lima"), + + AMERICA_LIMA("America/Lima"), + + QUITO("Quito"), + + ATLANTIC_TIME_CANADA_("Atlantic Time (Canada)"), + + AMERICA_HALIFAX("America/Halifax"), + + CARACAS("Caracas"), + + AMERICA_CARACAS("America/Caracas"), + + GEORGETOWN("Georgetown"), + + AMERICA_GUYANA("America/Guyana"), + + LA_PAZ("La Paz"), + + AMERICA_LA_PAZ("America/La_Paz"), + + PUERTO_RICO("Puerto Rico"), + + AMERICA_PUERTO_RICO("America/Puerto_Rico"), + + SANTIAGO("Santiago"), + + AMERICA_SANTIAGO("America/Santiago"), + + NEWFOUNDLAND("Newfoundland"), + + AMERICA_ST_JOHNS("America/St_Johns"), + + ASUNCION("Asuncion"), + + AMERICA_ASUNCION("America/Asuncion"), + + BRASILIA("Brasilia"), + + AMERICA_SAO_PAULO("America/Sao_Paulo"), + + BUENOS_AIRES("Buenos Aires"), + + AMERICA_ARGENTINA_BUENOS_AIRES("America/Argentina/Buenos_Aires"), + + MONTEVIDEO("Montevideo"), + + AMERICA_MONTEVIDEO("America/Montevideo"), + + GREENLAND("Greenland"), + + AMERICA_NUUK("America/Nuuk"), + + MID_ATLANTIC("Mid-Atlantic"), + + ATLANTIC_SOUTH_GEORGIA("Atlantic/South_Georgia"), + + AZORES("Azores"), + + ATLANTIC_AZORES("Atlantic/Azores"), + + CAPE_VERDE_IS_("Cape Verde Is."), + + ATLANTIC_CAPE_VERDE("Atlantic/Cape_Verde"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + MONROVIA("Monrovia"), + + AFRICA_MONROVIA("Africa/Monrovia"), + + UTC("UTC"), + + ETC_UTC("Etc/UTC"), + + AMSTERDAM("Amsterdam"), + + EUROPE_AMSTERDAM("Europe/Amsterdam"), + + BELGRADE("Belgrade"), + + EUROPE_BELGRADE("Europe/Belgrade"), + + BERLIN("Berlin"), + + EUROPE_BERLIN("Europe/Berlin"), + + BERN("Bern"), + + EUROPE_ZURICH("Europe/Zurich"), + + BRATISLAVA("Bratislava"), + + EUROPE_BRATISLAVA("Europe/Bratislava"), + + BRUSSELS("Brussels"), + + EUROPE_BRUSSELS("Europe/Brussels"), + + BUDAPEST("Budapest"), + + EUROPE_BUDAPEST("Europe/Budapest"), + + COPENHAGEN("Copenhagen"), + + EUROPE_COPENHAGEN("Europe/Copenhagen"), + + DUBLIN("Dublin"), + + EUROPE_DUBLIN("Europe/Dublin"), + + LJUBLJANA("Ljubljana"), + + EUROPE_LJUBLJANA("Europe/Ljubljana"), + + MADRID("Madrid"), + + EUROPE_MADRID("Europe/Madrid"), + + PARIS("Paris"), + + EUROPE_PARIS("Europe/Paris"), + + PRAGUE("Prague"), + + EUROPE_PRAGUE("Europe/Prague"), + + ROME("Rome"), + + EUROPE_ROME("Europe/Rome"), + + SARAJEVO("Sarajevo"), + + EUROPE_SARAJEVO("Europe/Sarajevo"), + + SKOPJE("Skopje"), + + EUROPE_SKOPJE("Europe/Skopje"), + + STOCKHOLM("Stockholm"), + + EUROPE_STOCKHOLM("Europe/Stockholm"), + + VIENNA("Vienna"), + + EUROPE_VIENNA("Europe/Vienna"), + + WARSAW("Warsaw"), + + EUROPE_WARSAW("Europe/Warsaw"), + + WEST_CENTRAL_AFRICA("West Central Africa"), + + AFRICA_ALGIERS("Africa/Algiers"), + + ZAGREB("Zagreb"), + + EUROPE_ZAGREB("Europe/Zagreb"), + + ZURICH("Zurich"), + + ATHENS("Athens"), + + EUROPE_ATHENS("Europe/Athens"), + + BUCHAREST("Bucharest"), + + EUROPE_BUCHAREST("Europe/Bucharest"), + + CAIRO("Cairo"), + + AFRICA_CAIRO("Africa/Cairo"), + + HARARE("Harare"), + + AFRICA_HARARE("Africa/Harare"), + + HELSINKI("Helsinki"), + + EUROPE_HELSINKI("Europe/Helsinki"), + + JERUSALEM("Jerusalem"), + + ASIA_JERUSALEM("Asia/Jerusalem"), + + KALININGRAD("Kaliningrad"), + + EUROPE_KALININGRAD("Europe/Kaliningrad"), + + KYIV("Kyiv"), + + EUROPE_KYIV("Europe/Kyiv"), + + PRETORIA("Pretoria"), + + AFRICA_JOHANNESBURG("Africa/Johannesburg"), + + RIGA("Riga"), + + EUROPE_RIGA("Europe/Riga"), + + SOFIA("Sofia"), + + EUROPE_SOFIA("Europe/Sofia"), + + TALLINN("Tallinn"), + + EUROPE_TALLINN("Europe/Tallinn"), + + VILNIUS("Vilnius"), + + EUROPE_VILNIUS("Europe/Vilnius"), + + BAGHDAD("Baghdad"), + + ASIA_BAGHDAD("Asia/Baghdad"), + + ISTANBUL("Istanbul"), + + EUROPE_ISTANBUL("Europe/Istanbul"), + + KUWAIT("Kuwait"), + + ASIA_KUWAIT("Asia/Kuwait"), + + MINSK("Minsk"), + + EUROPE_MINSK("Europe/Minsk"), + + MOSCOW("Moscow"), + + EUROPE_MOSCOW("Europe/Moscow"), + + NAIROBI("Nairobi"), + + AFRICA_NAIROBI("Africa/Nairobi"), + + RIYADH("Riyadh"), + + ASIA_RIYADH("Asia/Riyadh"), + + ST_PETERSBURG("St. Petersburg"), + + VOLGOGRAD("Volgograd"), + + EUROPE_VOLGOGRAD("Europe/Volgograd"), + + TEHRAN("Tehran"), + + ASIA_TEHRAN("Asia/Tehran"), + + ABU_DHABI("Abu Dhabi"), + + ASIA_MUSCAT("Asia/Muscat"), + + BAKU("Baku"), + + ASIA_BAKU("Asia/Baku"), + + MUSCAT("Muscat"), + + SAMARA("Samara"), + + EUROPE_SAMARA("Europe/Samara"), + + TBILISI("Tbilisi"), + + ASIA_TBILISI("Asia/Tbilisi"), + + YEREVAN("Yerevan"), + + ASIA_YEREVAN("Asia/Yerevan"), + + KABUL("Kabul"), + + ASIA_KABUL("Asia/Kabul"), + + ALMATY("Almaty"), + + ASIA_ALMATY("Asia/Almaty"), + + ASTANA("Astana"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + MUMBAI("Mumbai"), + + NEW_DELHI("New Delhi"), + + SRI_JAYAWARDENEPURA("Sri Jayawardenepura"), + + ASIA_COLOMBO("Asia/Colombo"), + + KATHMANDU("Kathmandu"), + + ASIA_KATHMANDU("Asia/Kathmandu"), + + DHAKA("Dhaka"), + + ASIA_DHAKA("Asia/Dhaka"), + + URUMQI("Urumqi"), + + ASIA_URUMQI("Asia/Urumqi"), + + RANGOON("Rangoon"), + + ASIA_YANGON("Asia/Yangon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + JAKARTA("Jakarta"), + + ASIA_JAKARTA("Asia/Jakarta"), + + KRASNOYARSK("Krasnoyarsk"), + + ASIA_KRASNOYARSK("Asia/Krasnoyarsk"), + + NOVOSIBIRSK("Novosibirsk"), + + ASIA_NOVOSIBIRSK("Asia/Novosibirsk"), + + BEIJING("Beijing"), + + ASIA_SHANGHAI("Asia/Shanghai"), + + CHONGQING("Chongqing"), + + ASIA_CHONGQING("Asia/Chongqing"), + + HONG_KONG("Hong Kong"), + + ASIA_HONG_KONG("Asia/Hong_Kong"), + + IRKUTSK("Irkutsk"), + + ASIA_IRKUTSK("Asia/Irkutsk"), + + KUALA_LUMPUR("Kuala Lumpur"), + + ASIA_KUALA_LUMPUR("Asia/Kuala_Lumpur"), + + PERTH("Perth"), + + AUSTRALIA_PERTH("Australia/Perth"), + + SINGAPORE("Singapore"), + + ASIA_SINGAPORE("Asia/Singapore"), + + TAIPEI("Taipei"), + + ASIA_TAIPEI("Asia/Taipei"), + + ULAANBAATAR("Ulaanbaatar"), + + ASIA_ULAANBAATAR("Asia/Ulaanbaatar"), + + OSAKA("Osaka"), + + ASIA_TOKYO("Asia/Tokyo"), + + SAPPORO("Sapporo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + YAKUTSK("Yakutsk"), + + ASIA_YAKUTSK("Asia/Yakutsk"), + + ADELAIDE("Adelaide"), + + AUSTRALIA_ADELAIDE("Australia/Adelaide"), + + DARWIN("Darwin"), + + AUSTRALIA_DARWIN("Australia/Darwin"), + + BRISBANE("Brisbane"), + + AUSTRALIA_BRISBANE("Australia/Brisbane"), + + CANBERRA("Canberra"), + + AUSTRALIA_CANBERRA("Australia/Canberra"), + + GUAM("Guam"), + + PACIFIC_GUAM("Pacific/Guam"), + + HOBART("Hobart"), + + AUSTRALIA_HOBART("Australia/Hobart"), + + MELBOURNE("Melbourne"), + + AUSTRALIA_MELBOURNE("Australia/Melbourne"), + + PORT_MORESBY("Port Moresby"), + + PACIFIC_PORT_MORESBY("Pacific/Port_Moresby"), + + SYDNEY("Sydney"), + + AUSTRALIA_SYDNEY("Australia/Sydney"), + + VLADIVOSTOK("Vladivostok"), + + ASIA_VLADIVOSTOK("Asia/Vladivostok"), + + MAGADAN("Magadan"), + + ASIA_MAGADAN("Asia/Magadan"), + + NEW_CALEDONIA("New Caledonia"), + + PACIFIC_NOUMEA("Pacific/Noumea"), + + SOLOMON_IS_("Solomon Is."), + + PACIFIC_GUADALCANAL("Pacific/Guadalcanal"), + + SREDNEKOLYMSK("Srednekolymsk"), + + ASIA_SREDNEKOLYMSK("Asia/Srednekolymsk"), + + AUCKLAND("Auckland"), + + PACIFIC_AUCKLAND("Pacific/Auckland"), + + FIJI("Fiji"), + + PACIFIC_FIJI("Pacific/Fiji"), + + KAMCHATKA("Kamchatka"), + + ASIA_KAMCHATKA("Asia/Kamchatka"), + + MARSHALL_IS_("Marshall Is."), + + PACIFIC_MAJURO("Pacific/Majuro"), + + WELLINGTON("Wellington"), + + CHATHAM_IS_("Chatham Is."), + + PACIFIC_CHATHAM("Pacific/Chatham"), + + NUKU_ALOFA("Nuku'alofa"), + + PACIFIC_TONGATAPU("Pacific/Tongatapu"), + + SAMOA("Samoa"), + + PACIFIC_APIA("Pacific/Apia"), + + TOKELAU_IS_("Tokelau Is."), + + PACIFIC_FAKAOFO("Pacific/Fakaofo"), + + AMERICA_ADAK("America/Adak"), + + AMERICA_ATKA("America/Atka"), + + US_ALEUTIAN("US/Aleutian"), + + AMERICA_VANCOUVER("America/Vancouver"), + + CANADA_PACIFIC("Canada/Pacific"), + + AMERICA_MIQUELON("America/Miquelon"), + + AUSTRALIA_EUCLA("Australia/Eucla"), + + AUSTRALIA_LHI("Australia/LHI"), + + AUSTRALIA_LORD_HOWE("Australia/Lord_Howe"), + + CHILE_EASTER_ISLAND("Chile/EasterIsland"), + + PACIFIC_EASTER("Pacific/Easter"), + + PACIFIC_GAMBIER("Pacific/Gambier"), + + PACIFIC_PITCAIRN("Pacific/Pitcairn"), + + PACIFIC_MARQUESAS("Pacific/Marquesas"), + + PACIFIC_KIRITIMATI("Pacific/Kiritimati"), + + PACIFIC_NORFOLK("Pacific/Norfolk"), + + ASIA_RANGOON("Asia/Rangoon"), + + EUROPE_KIEV("Europe/Kiev"); + + private String value; + + TimeZoneEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeZoneEnum fromValue(String value) { + for (TimeZoneEnum b : TimeZoneEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TimeZoneEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeZoneEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeZoneEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TimeZoneEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @jakarta.annotation.Nonnull + private TimeZoneEnum timeZone; + + public static final String SERIALIZED_NAME_TIME_BLOCKS = "time_blocks"; + @SerializedName(SERIALIZED_NAME_TIME_BLOCKS) + @jakarta.annotation.Nonnull + private List timeBlocks = new ArrayList<>(); + + public DeferralWindow() { + } + + public DeferralWindow ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public DeferralWindow timeZone(@jakarta.annotation.Nonnull TimeZoneEnum timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * Time zone for the deferral window + * @return timeZone + */ + @jakarta.annotation.Nonnull + public TimeZoneEnum getTimeZone() { + return timeZone; + } + + public void setTimeZone(@jakarta.annotation.Nonnull TimeZoneEnum timeZone) { + this.timeZone = timeZone; + } + + + public DeferralWindow timeBlocks(@jakarta.annotation.Nonnull List timeBlocks) { + this.timeBlocks = timeBlocks; + return this; + } + + public DeferralWindow addTimeBlocksItem(DeferralWindowTimeBlocksInner timeBlocksItem) { + if (this.timeBlocks == null) { + this.timeBlocks = new ArrayList<>(); + } + this.timeBlocks.add(timeBlocksItem); + return this; + } + + /** + * Time windows during which alerts are deferred + * @return timeBlocks + */ + @jakarta.annotation.Nonnull + public List getTimeBlocks() { + return timeBlocks; + } + + public void setTimeBlocks(@jakarta.annotation.Nonnull List timeBlocks) { + this.timeBlocks = timeBlocks; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeferralWindow deferralWindow = (DeferralWindow) o; + return Objects.equals(this.ruleType, deferralWindow.ruleType) && + Objects.equals(this.timeZone, deferralWindow.timeZone) && + Objects.equals(this.timeBlocks, deferralWindow.timeBlocks); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, timeZone, timeBlocks); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeferralWindow {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); + sb.append(" timeBlocks: ").append(toIndentedString(timeBlocks)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("rule_type"); + openapiFields.add("time_zone"); + openapiFields.add("time_blocks"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("time_zone"); + openapiRequiredFields.add("time_blocks"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to DeferralWindow + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!DeferralWindow.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in DeferralWindow is not found in the empty JSON string", DeferralWindow.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!DeferralWindow.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `DeferralWindow` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : DeferralWindow.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); + } + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + if (!jsonObj.get("time_zone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_zone").toString())); + } + // validate the required field `time_zone` + TimeZoneEnum.validateJsonElement(jsonObj.get("time_zone")); + // ensure the json data is an array + if (!jsonObj.get("time_blocks").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `time_blocks` to be an array in the JSON string but got `%s`", jsonObj.get("time_blocks").toString())); + } + + JsonArray jsonArraytimeBlocks = jsonObj.getAsJsonArray("time_blocks"); + // validate the required field `time_blocks` (array) + for (int i = 0; i < jsonArraytimeBlocks.size(); i++) { + DeferralWindowTimeBlocksInner.validateJsonElement(jsonArraytimeBlocks.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!DeferralWindow.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'DeferralWindow' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(DeferralWindow.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, DeferralWindow value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public DeferralWindow read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of DeferralWindow given an JSON string + * + * @param jsonString JSON string + * @return An instance of DeferralWindow + * @throws IOException if the JSON string is invalid with respect to DeferralWindow + */ + public static DeferralWindow fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, DeferralWindow.class); + } + + /** + * Convert an instance of DeferralWindow to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/DeferralWindowTimeBlocksInner.java b/src/main/java/com/rootly/client/model/DeferralWindowTimeBlocksInner.java new file mode 100644 index 00000000..32889fe5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/DeferralWindowTimeBlocksInner.java @@ -0,0 +1,541 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * DeferralWindowTimeBlocksInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class DeferralWindowTimeBlocksInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_MONDAY = "monday"; + @SerializedName(SERIALIZED_NAME_MONDAY) + @jakarta.annotation.Nullable + private Boolean monday = false; + + public static final String SERIALIZED_NAME_TUESDAY = "tuesday"; + @SerializedName(SERIALIZED_NAME_TUESDAY) + @jakarta.annotation.Nullable + private Boolean tuesday = false; + + public static final String SERIALIZED_NAME_WEDNESDAY = "wednesday"; + @SerializedName(SERIALIZED_NAME_WEDNESDAY) + @jakarta.annotation.Nullable + private Boolean wednesday = false; + + public static final String SERIALIZED_NAME_THURSDAY = "thursday"; + @SerializedName(SERIALIZED_NAME_THURSDAY) + @jakarta.annotation.Nullable + private Boolean thursday = false; + + public static final String SERIALIZED_NAME_FRIDAY = "friday"; + @SerializedName(SERIALIZED_NAME_FRIDAY) + @jakarta.annotation.Nullable + private Boolean friday = false; + + public static final String SERIALIZED_NAME_SATURDAY = "saturday"; + @SerializedName(SERIALIZED_NAME_SATURDAY) + @jakarta.annotation.Nullable + private Boolean saturday = false; + + public static final String SERIALIZED_NAME_SUNDAY = "sunday"; + @SerializedName(SERIALIZED_NAME_SUNDAY) + @jakarta.annotation.Nullable + private Boolean sunday = false; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nullable + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nullable + private String endTime; + + public static final String SERIALIZED_NAME_ALL_DAY = "all_day"; + @SerializedName(SERIALIZED_NAME_ALL_DAY) + @jakarta.annotation.Nullable + private Boolean allDay = false; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @jakarta.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_ENDS_NEXT_DAY = "ends_next_day"; + @SerializedName(SERIALIZED_NAME_ENDS_NEXT_DAY) + @jakarta.annotation.Nullable + private Boolean endsNextDay; + + public DeferralWindowTimeBlocksInner() { + } + + public DeferralWindowTimeBlocksInner( + String id, + Boolean endsNextDay + ) { + this(); + this.id = id; + this.endsNextDay = endsNextDay; + } + + /** + * Unique ID of the time block + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + + + public DeferralWindowTimeBlocksInner monday(@jakarta.annotation.Nullable Boolean monday) { + this.monday = monday; + return this; + } + + /** + * Get monday + * @return monday + */ + @jakarta.annotation.Nullable + public Boolean getMonday() { + return monday; + } + + public void setMonday(@jakarta.annotation.Nullable Boolean monday) { + this.monday = monday; + } + + + public DeferralWindowTimeBlocksInner tuesday(@jakarta.annotation.Nullable Boolean tuesday) { + this.tuesday = tuesday; + return this; + } + + /** + * Get tuesday + * @return tuesday + */ + @jakarta.annotation.Nullable + public Boolean getTuesday() { + return tuesday; + } + + public void setTuesday(@jakarta.annotation.Nullable Boolean tuesday) { + this.tuesday = tuesday; + } + + + public DeferralWindowTimeBlocksInner wednesday(@jakarta.annotation.Nullable Boolean wednesday) { + this.wednesday = wednesday; + return this; + } + + /** + * Get wednesday + * @return wednesday + */ + @jakarta.annotation.Nullable + public Boolean getWednesday() { + return wednesday; + } + + public void setWednesday(@jakarta.annotation.Nullable Boolean wednesday) { + this.wednesday = wednesday; + } + + + public DeferralWindowTimeBlocksInner thursday(@jakarta.annotation.Nullable Boolean thursday) { + this.thursday = thursday; + return this; + } + + /** + * Get thursday + * @return thursday + */ + @jakarta.annotation.Nullable + public Boolean getThursday() { + return thursday; + } + + public void setThursday(@jakarta.annotation.Nullable Boolean thursday) { + this.thursday = thursday; + } + + + public DeferralWindowTimeBlocksInner friday(@jakarta.annotation.Nullable Boolean friday) { + this.friday = friday; + return this; + } + + /** + * Get friday + * @return friday + */ + @jakarta.annotation.Nullable + public Boolean getFriday() { + return friday; + } + + public void setFriday(@jakarta.annotation.Nullable Boolean friday) { + this.friday = friday; + } + + + public DeferralWindowTimeBlocksInner saturday(@jakarta.annotation.Nullable Boolean saturday) { + this.saturday = saturday; + return this; + } + + /** + * Get saturday + * @return saturday + */ + @jakarta.annotation.Nullable + public Boolean getSaturday() { + return saturday; + } + + public void setSaturday(@jakarta.annotation.Nullable Boolean saturday) { + this.saturday = saturday; + } + + + public DeferralWindowTimeBlocksInner sunday(@jakarta.annotation.Nullable Boolean sunday) { + this.sunday = sunday; + return this; + } + + /** + * Get sunday + * @return sunday + */ + @jakarta.annotation.Nullable + public Boolean getSunday() { + return sunday; + } + + public void setSunday(@jakarta.annotation.Nullable Boolean sunday) { + this.sunday = sunday; + } + + + public DeferralWindowTimeBlocksInner startTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Formatted as HH:MM + * @return startTime + */ + @jakarta.annotation.Nullable + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + } + + + public DeferralWindowTimeBlocksInner endTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Formatted as HH:MM + * @return endTime + */ + @jakarta.annotation.Nullable + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + } + + + public DeferralWindowTimeBlocksInner allDay(@jakarta.annotation.Nullable Boolean allDay) { + this.allDay = allDay; + return this; + } + + /** + * Get allDay + * @return allDay + */ + @jakarta.annotation.Nullable + public Boolean getAllDay() { + return allDay; + } + + public void setAllDay(@jakarta.annotation.Nullable Boolean allDay) { + this.allDay = allDay; + } + + + public DeferralWindowTimeBlocksInner position(@jakarta.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Order of this time block, starting at 1. Defaults to the block's 1-based position in time_blocks when omitted. + * @return position + */ + @jakarta.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@jakarta.annotation.Nullable Integer position) { + this.position = position; + } + + + /** + * Whether the window crosses midnight. Derived from start_time and end_time; accepted and ignored on write. + * @return endsNextDay + */ + @jakarta.annotation.Nullable + public Boolean getEndsNextDay() { + return endsNextDay; + } + + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeferralWindowTimeBlocksInner deferralWindowTimeBlocksInner = (DeferralWindowTimeBlocksInner) o; + return Objects.equals(this.id, deferralWindowTimeBlocksInner.id) && + Objects.equals(this.monday, deferralWindowTimeBlocksInner.monday) && + Objects.equals(this.tuesday, deferralWindowTimeBlocksInner.tuesday) && + Objects.equals(this.wednesday, deferralWindowTimeBlocksInner.wednesday) && + Objects.equals(this.thursday, deferralWindowTimeBlocksInner.thursday) && + Objects.equals(this.friday, deferralWindowTimeBlocksInner.friday) && + Objects.equals(this.saturday, deferralWindowTimeBlocksInner.saturday) && + Objects.equals(this.sunday, deferralWindowTimeBlocksInner.sunday) && + Objects.equals(this.startTime, deferralWindowTimeBlocksInner.startTime) && + Objects.equals(this.endTime, deferralWindowTimeBlocksInner.endTime) && + Objects.equals(this.allDay, deferralWindowTimeBlocksInner.allDay) && + Objects.equals(this.position, deferralWindowTimeBlocksInner.position) && + Objects.equals(this.endsNextDay, deferralWindowTimeBlocksInner.endsNextDay); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(id, monday, tuesday, wednesday, thursday, friday, saturday, sunday, startTime, endTime, allDay, position, endsNextDay); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeferralWindowTimeBlocksInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" monday: ").append(toIndentedString(monday)).append("\n"); + sb.append(" tuesday: ").append(toIndentedString(tuesday)).append("\n"); + sb.append(" wednesday: ").append(toIndentedString(wednesday)).append("\n"); + sb.append(" thursday: ").append(toIndentedString(thursday)).append("\n"); + sb.append(" friday: ").append(toIndentedString(friday)).append("\n"); + sb.append(" saturday: ").append(toIndentedString(saturday)).append("\n"); + sb.append(" sunday: ").append(toIndentedString(sunday)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" allDay: ").append(toIndentedString(allDay)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" endsNextDay: ").append(toIndentedString(endsNextDay)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("monday"); + openapiFields.add("tuesday"); + openapiFields.add("wednesday"); + openapiFields.add("thursday"); + openapiFields.add("friday"); + openapiFields.add("saturday"); + openapiFields.add("sunday"); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + openapiFields.add("all_day"); + openapiFields.add("position"); + openapiFields.add("ends_next_day"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to DeferralWindowTimeBlocksInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!DeferralWindowTimeBlocksInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in DeferralWindowTimeBlocksInner is not found in the empty JSON string", DeferralWindowTimeBlocksInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!DeferralWindowTimeBlocksInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `DeferralWindowTimeBlocksInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if ((jsonObj.get("start_time") != null && !jsonObj.get("start_time").isJsonNull()) && !jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if ((jsonObj.get("end_time") != null && !jsonObj.get("end_time").isJsonNull()) && !jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!DeferralWindowTimeBlocksInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'DeferralWindowTimeBlocksInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(DeferralWindowTimeBlocksInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, DeferralWindowTimeBlocksInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public DeferralWindowTimeBlocksInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of DeferralWindowTimeBlocksInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of DeferralWindowTimeBlocksInner + * @throws IOException if the JSON string is invalid with respect to DeferralWindowTimeBlocksInner + */ + public static DeferralWindowTimeBlocksInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, DeferralWindowTimeBlocksInner.class); + } + + /** + * Convert an instance of DeferralWindowTimeBlocksInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java index 1a021c59..9da6c24f 100644 --- a/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java +++ b/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java @@ -49,7 +49,7 @@ /** * DeleteAlertRoute200Response */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DeleteAlertRoute200Response { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java index 18bd1ca1..969a7b5c 100644 --- a/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java +++ b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java @@ -49,7 +49,7 @@ /** * DeleteAlertRoute200ResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DeleteAlertRoute200ResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java index 7fd6cf8a..3d118577 100644 --- a/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java @@ -48,7 +48,7 @@ /** * DeleteAlertRoute200ResponseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DeleteAlertRoute200ResponseDataAttributes { public static final String SERIALIZED_NAME_DELETED = "deleted"; @SerializedName(SERIALIZED_NAME_DELETED) diff --git a/src/main/java/com/rootly/client/model/DuplicateIncident.java b/src/main/java/com/rootly/client/model/DuplicateIncident.java index 2137187e..0413111c 100644 --- a/src/main/java/com/rootly/client/model/DuplicateIncident.java +++ b/src/main/java/com/rootly/client/model/DuplicateIncident.java @@ -49,7 +49,7 @@ /** * DuplicateIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DuplicateIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/DuplicateIncidentData.java b/src/main/java/com/rootly/client/model/DuplicateIncidentData.java index 624ff78d..3edd1346 100644 --- a/src/main/java/com/rootly/client/model/DuplicateIncidentData.java +++ b/src/main/java/com/rootly/client/model/DuplicateIncidentData.java @@ -49,7 +49,7 @@ /** * DuplicateIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DuplicateIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java index a2afdc8c..0d99deed 100644 --- a/src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java @@ -49,7 +49,7 @@ /** * DuplicateIncidentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DuplicateIncidentDataAttributes { public static final String SERIALIZED_NAME_DUPLICATE_INCIDENT_ID = "duplicate_incident_id"; @SerializedName(SERIALIZED_NAME_DUPLICATE_INCIDENT_ID) diff --git a/src/main/java/com/rootly/client/model/EdgeConnector.java b/src/main/java/com/rootly/client/model/EdgeConnector.java index 2f65b9a4..19e36ffd 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnector.java +++ b/src/main/java/com/rootly/client/model/EdgeConnector.java @@ -49,7 +49,7 @@ /** * EdgeConnector */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnector { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EdgeConnectorAction.java b/src/main/java/com/rootly/client/model/EdgeConnectorAction.java index 661d55e7..ea1cc16a 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorAction.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorAction.java @@ -49,7 +49,7 @@ /** * EdgeConnectorAction */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorAction { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EdgeConnectorActionData.java b/src/main/java/com/rootly/client/model/EdgeConnectorActionData.java index 78bc263e..859b3dd9 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorActionData.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorActionData.java @@ -50,7 +50,7 @@ /** * EdgeConnectorActionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorActionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java index ff954af2..f4168359 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java @@ -53,7 +53,7 @@ /** * EdgeConnectorActionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorActionDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java index 04ad7d7c..d9e44a4d 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java @@ -51,7 +51,7 @@ /** * EdgeConnectorActionDataAttributesParametersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorActionDataAttributesParametersInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/EdgeConnectorData.java b/src/main/java/com/rootly/client/model/EdgeConnectorData.java index 8194f02b..4038824f 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorData.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorData.java @@ -50,7 +50,7 @@ /** * EdgeConnectorData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java b/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java index 22b9ea4f..34d48f3e 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -52,7 +53,7 @@ /** * EdgeConnectorDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -126,6 +127,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subscriptions = new ArrayList<>(); + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_LAST_POLL_AT = "last_poll_at"; @SerializedName(SERIALIZED_NAME_LAST_POLL_AT) @jakarta.annotation.Nullable @@ -258,6 +264,33 @@ public void setSubscriptions(@jakarta.annotation.Nullable List subscript } + public EdgeConnectorDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public EdgeConnectorDataAttributes addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams (groups) that own this connector. Empty means the connector is not scoped to a team + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + public EdgeConnectorDataAttributes lastPollAt(@jakarta.annotation.Nullable OffsetDateTime lastPollAt) { this.lastPollAt = lastPollAt; return this; @@ -443,6 +476,7 @@ public boolean equals(Object o) { Objects.equals(this.description, edgeConnectorDataAttributes.description) && Objects.equals(this.status, edgeConnectorDataAttributes.status) && Objects.equals(this.subscriptions, edgeConnectorDataAttributes.subscriptions) && + Objects.equals(this.ownerGroupIds, edgeConnectorDataAttributes.ownerGroupIds) && Objects.equals(this.lastPollAt, edgeConnectorDataAttributes.lastPollAt) && Objects.equals(this.online, edgeConnectorDataAttributes.online) && Objects.equals(this.deliveriesCount, edgeConnectorDataAttributes.deliveriesCount) && @@ -460,7 +494,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, status, subscriptions, lastPollAt, online, deliveriesCount, deliveriesQueuedCount, deliveriesRunningCount, deliveriesCompletedCount, deliveriesFailedCount, createdAt, updatedAt); + return Objects.hash(name, description, status, subscriptions, ownerGroupIds, lastPollAt, online, deliveriesCount, deliveriesQueuedCount, deliveriesRunningCount, deliveriesCompletedCount, deliveriesFailedCount, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -478,6 +512,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" subscriptions: ").append(toIndentedString(subscriptions)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" lastPollAt: ").append(toIndentedString(lastPollAt)).append("\n"); sb.append(" online: ").append(toIndentedString(online)).append("\n"); sb.append(" deliveriesCount: ").append(toIndentedString(deliveriesCount)).append("\n"); @@ -513,6 +548,7 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("status"); openapiFields.add("subscriptions"); + openapiFields.add("owner_group_ids"); openapiFields.add("last_poll_at"); openapiFields.add("online"); openapiFields.add("deliveries_count"); @@ -572,6 +608,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("subscriptions") != null && !jsonObj.get("subscriptions").isJsonNull() && !jsonObj.get("subscriptions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `subscriptions` to be an array in the JSON string but got `%s`", jsonObj.get("subscriptions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/Environment.java b/src/main/java/com/rootly/client/model/Environment.java index 5fabd5ab..ca9e87a1 100644 --- a/src/main/java/com/rootly/client/model/Environment.java +++ b/src/main/java/com/rootly/client/model/Environment.java @@ -19,9 +19,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -54,7 +54,7 @@ /** * Environment */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Environment { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -166,12 +166,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @jakarta.annotation.Nullable - private List slackChannels; + private List slackChannels; public static final String SERIALIZED_NAME_SLACK_ALIASES = "slack_aliases"; @SerializedName(SERIALIZED_NAME_SLACK_ALIASES) @jakarta.annotation.Nullable - private List slackAliases; + private List slackAliases; public static final String SERIALIZED_NAME_PROPERTIES = "properties"; @SerializedName(SERIALIZED_NAME_PROPERTIES) @@ -369,12 +369,12 @@ public void setPosition(@jakarta.annotation.Nullable Integer position) { } - public Environment slackChannels(@jakarta.annotation.Nullable List slackChannels) { + public Environment slackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; } - public Environment addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner slackChannelsItem) { + public Environment addSlackChannelsItem(EnvironmentSlackChannelsInner slackChannelsItem) { if (this.slackChannels == null) { this.slackChannels = new ArrayList<>(); } @@ -387,21 +387,21 @@ public Environment addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannel * @return slackChannels */ @jakarta.annotation.Nullable - public List getSlackChannels() { + public List getSlackChannels() { return slackChannels; } - public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { + public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; } - public Environment slackAliases(@jakarta.annotation.Nullable List slackAliases) { + public Environment slackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; return this; } - public Environment addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner slackAliasesItem) { + public Environment addSlackAliasesItem(EnvironmentSlackAliasesInner slackAliasesItem) { if (this.slackAliases == null) { this.slackAliases = new ArrayList<>(); } @@ -414,11 +414,11 @@ public Environment addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesI * @return slackAliases */ @jakarta.annotation.Nullable - public List getSlackAliases() { + public List getSlackAliases() { return slackAliases; } - public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { + public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; } @@ -659,7 +659,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_channels` (array) for (int i = 0; i < jsonArrayslackChannels.size(); i++) { - NewEnvironmentDataAttributesSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); + EnvironmentSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); }; } } @@ -673,7 +673,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_aliases` (array) for (int i = 0; i < jsonArrayslackAliases.size(); i++) { - NewEnvironmentDataAttributesSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); + EnvironmentSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/EnvironmentList.java b/src/main/java/com/rootly/client/model/EnvironmentList.java index ffad3780..70f7529c 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentList.java +++ b/src/main/java/com/rootly/client/model/EnvironmentList.java @@ -54,7 +54,7 @@ /** * EnvironmentList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EnvironmentList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EnvironmentResponse.java b/src/main/java/com/rootly/client/model/EnvironmentResponse.java index f7dfc52d..26b64d5a 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentResponse.java +++ b/src/main/java/com/rootly/client/model/EnvironmentResponse.java @@ -52,7 +52,7 @@ /** * EnvironmentResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EnvironmentResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EnvironmentResponseData.java b/src/main/java/com/rootly/client/model/EnvironmentResponseData.java index 50354999..28aefdd1 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentResponseData.java +++ b/src/main/java/com/rootly/client/model/EnvironmentResponseData.java @@ -49,7 +49,7 @@ /** * EnvironmentResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EnvironmentResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/EnvironmentSlackAliasesInner.java b/src/main/java/com/rootly/client/model/EnvironmentSlackAliasesInner.java new file mode 100644 index 00000000..76435427 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EnvironmentSlackAliasesInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * EnvironmentSlackAliasesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EnvironmentSlackAliasesInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public EnvironmentSlackAliasesInner() { + } + + public EnvironmentSlackAliasesInner id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Slack alias ID + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public EnvironmentSlackAliasesInner name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Slack alias name + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentSlackAliasesInner environmentSlackAliasesInner = (EnvironmentSlackAliasesInner) o; + return Objects.equals(this.id, environmentSlackAliasesInner.id) && + Objects.equals(this.name, environmentSlackAliasesInner.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EnvironmentSlackAliasesInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("name"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to EnvironmentSlackAliasesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EnvironmentSlackAliasesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EnvironmentSlackAliasesInner is not found in the empty JSON string", EnvironmentSlackAliasesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EnvironmentSlackAliasesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EnvironmentSlackAliasesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EnvironmentSlackAliasesInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EnvironmentSlackAliasesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EnvironmentSlackAliasesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EnvironmentSlackAliasesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EnvironmentSlackAliasesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EnvironmentSlackAliasesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EnvironmentSlackAliasesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of EnvironmentSlackAliasesInner + * @throws IOException if the JSON string is invalid with respect to EnvironmentSlackAliasesInner + */ + public static EnvironmentSlackAliasesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EnvironmentSlackAliasesInner.class); + } + + /** + * Convert an instance of EnvironmentSlackAliasesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/EnvironmentSlackChannelsInner.java b/src/main/java/com/rootly/client/model/EnvironmentSlackChannelsInner.java new file mode 100644 index 00000000..bf9ceb4e --- /dev/null +++ b/src/main/java/com/rootly/client/model/EnvironmentSlackChannelsInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * EnvironmentSlackChannelsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EnvironmentSlackChannelsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public EnvironmentSlackChannelsInner() { + } + + public EnvironmentSlackChannelsInner id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public EnvironmentSlackChannelsInner name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentSlackChannelsInner environmentSlackChannelsInner = (EnvironmentSlackChannelsInner) o; + return Objects.equals(this.id, environmentSlackChannelsInner.id) && + Objects.equals(this.name, environmentSlackChannelsInner.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EnvironmentSlackChannelsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("name"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to EnvironmentSlackChannelsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EnvironmentSlackChannelsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EnvironmentSlackChannelsInner is not found in the empty JSON string", EnvironmentSlackChannelsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EnvironmentSlackChannelsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EnvironmentSlackChannelsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EnvironmentSlackChannelsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EnvironmentSlackChannelsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EnvironmentSlackChannelsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EnvironmentSlackChannelsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EnvironmentSlackChannelsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EnvironmentSlackChannelsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EnvironmentSlackChannelsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of EnvironmentSlackChannelsInner + * @throws IOException if the JSON string is invalid with respect to EnvironmentSlackChannelsInner + */ + public static EnvironmentSlackChannelsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EnvironmentSlackChannelsInner.class); + } + + /** + * Convert an instance of EnvironmentSlackChannelsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ErrorsList.java b/src/main/java/com/rootly/client/model/ErrorsList.java index f3061bd7..a126f756 100644 --- a/src/main/java/com/rootly/client/model/ErrorsList.java +++ b/src/main/java/com/rootly/client/model/ErrorsList.java @@ -51,7 +51,7 @@ /** * ErrorsList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ErrorsList { public static final String SERIALIZED_NAME_ERRORS = "errors"; @SerializedName(SERIALIZED_NAME_ERRORS) diff --git a/src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java b/src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java index 387a9dac..f53fc9e0 100644 --- a/src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java +++ b/src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java @@ -49,7 +49,7 @@ /** * ErrorsListErrorsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ErrorsListErrorsInner { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/EscalateAlert.java b/src/main/java/com/rootly/client/model/EscalateAlert.java index e005548f..2ccb9ba6 100644 --- a/src/main/java/com/rootly/client/model/EscalateAlert.java +++ b/src/main/java/com/rootly/client/model/EscalateAlert.java @@ -49,7 +49,7 @@ /** * EscalateAlert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalateAlert { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalateAlertData.java b/src/main/java/com/rootly/client/model/EscalateAlertData.java index 668a41fc..3ed6ae84 100644 --- a/src/main/java/com/rootly/client/model/EscalateAlertData.java +++ b/src/main/java/com/rootly/client/model/EscalateAlertData.java @@ -49,7 +49,7 @@ /** * EscalateAlertData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalateAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java b/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java index 584d21a5..c803b7a4 100644 --- a/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java @@ -19,8 +19,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import java.io.IOException; import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -48,7 +50,7 @@ /** * EscalateAlertDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalateAlertDataAttributes { public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) @@ -60,6 +62,11 @@ public class EscalateAlertDataAttributes { @jakarta.annotation.Nullable private Integer escalationPolicyLevel; + public static final String SERIALIZED_NAME_ACTOR = "actor"; + @SerializedName(SERIALIZED_NAME_ACTOR) + @jakarta.annotation.Nullable + private NewAlertDataAttributesActor actor; + public EscalateAlertDataAttributes() { } @@ -102,6 +109,25 @@ public void setEscalationPolicyLevel(@jakarta.annotation.Nullable Integer escala } + public EscalateAlertDataAttributes actor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + return this; + } + + /** + * Get actor + * @return actor + */ + @jakarta.annotation.Nullable + public NewAlertDataAttributesActor getActor() { + return actor; + } + + public void setActor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + } + + @Override public boolean equals(Object o) { @@ -113,12 +139,24 @@ public boolean equals(Object o) { } EscalateAlertDataAttributes escalateAlertDataAttributes = (EscalateAlertDataAttributes) o; return Objects.equals(this.escalationPolicyId, escalateAlertDataAttributes.escalationPolicyId) && - Objects.equals(this.escalationPolicyLevel, escalateAlertDataAttributes.escalationPolicyLevel); + Objects.equals(this.escalationPolicyLevel, escalateAlertDataAttributes.escalationPolicyLevel) && + Objects.equals(this.actor, escalateAlertDataAttributes.actor); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); } @Override public int hashCode() { - return Objects.hash(escalationPolicyId, escalationPolicyLevel); + return Objects.hash(escalationPolicyId, escalationPolicyLevel, actor); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -127,6 +165,7 @@ public String toString() { sb.append("class EscalateAlertDataAttributes {\n"); sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); sb.append(" escalationPolicyLevel: ").append(toIndentedString(escalationPolicyLevel)).append("\n"); + sb.append(" actor: ").append(toIndentedString(actor)).append("\n"); sb.append("}"); return sb.toString(); } @@ -151,6 +190,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("escalation_policy_id"); openapiFields.add("escalation_policy_level"); + openapiFields.add("actor"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -180,6 +220,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("escalation_policy_id") != null && !jsonObj.get("escalation_policy_id").isJsonNull()) && !jsonObj.get("escalation_policy_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `escalation_policy_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("escalation_policy_id").toString())); } + // validate the optional field `actor` + if (jsonObj.get("actor") != null && !jsonObj.get("actor").isJsonNull()) { + NewAlertDataAttributesActor.validateJsonElement(jsonObj.get("actor")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/EscalationPolicy.java b/src/main/java/com/rootly/client/model/EscalationPolicy.java index 365aa6aa..733d5322 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicy.java @@ -19,7 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyDataAttributesBusinessHours; +import com.rootly.client.model.EscalationPolicyBusinessHours; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +52,7 @@ /** * EscalationPolicy */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicy { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -93,7 +93,7 @@ public class EscalationPolicy { @Deprecated @SerializedName(SERIALIZED_NAME_BUSINESS_HOURS) @jakarta.annotation.Nullable - private NewEscalationPolicyDataAttributesBusinessHours businessHours; + private EscalationPolicyBusinessHours businessHours; public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @@ -258,7 +258,7 @@ public void setServiceIds(@jakarta.annotation.Nullable List serviceIds) @Deprecated - public EscalationPolicy businessHours(@jakarta.annotation.Nullable NewEscalationPolicyDataAttributesBusinessHours businessHours) { + public EscalationPolicy businessHours(@jakarta.annotation.Nullable EscalationPolicyBusinessHours businessHours) { this.businessHours = businessHours; return this; } @@ -270,12 +270,12 @@ public EscalationPolicy businessHours(@jakarta.annotation.Nullable NewEscalation */ @Deprecated @jakarta.annotation.Nullable - public NewEscalationPolicyDataAttributesBusinessHours getBusinessHours() { + public EscalationPolicyBusinessHours getBusinessHours() { return businessHours; } @Deprecated - public void setBusinessHours(@jakarta.annotation.Nullable NewEscalationPolicyDataAttributesBusinessHours businessHours) { + public void setBusinessHours(@jakarta.annotation.Nullable EscalationPolicyBusinessHours businessHours) { this.businessHours = businessHours; } @@ -454,7 +454,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the optional field `business_hours` if (jsonObj.get("business_hours") != null && !jsonObj.get("business_hours").isJsonNull()) { - NewEscalationPolicyDataAttributesBusinessHours.validateJsonElement(jsonObj.get("business_hours")); + EscalationPolicyBusinessHours.validateJsonElement(jsonObj.get("business_hours")); } if ((jsonObj.get("created_at") != null && !jsonObj.get("created_at").isJsonNull()) && !jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyBusinessHours.java b/src/main/java/com/rootly/client/model/EscalationPolicyBusinessHours.java new file mode 100644 index 00000000..06af6e5d --- /dev/null +++ b/src/main/java/com/rootly/client/model/EscalationPolicyBusinessHours.java @@ -0,0 +1,1049 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * EscalationPolicyBusinessHours + * @deprecated + */ +@Deprecated +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EscalationPolicyBusinessHours { + /** + * Time zone for business hours + */ + @JsonAdapter(TimeZoneEnum.Adapter.class) + public enum TimeZoneEnum { + INTERNATIONAL_DATE_LINE_WEST("International Date Line West"), + + ETC_GMT_12("Etc/GMT+12"), + + AMERICAN_SAMOA("American Samoa"), + + PACIFIC_PAGO_PAGO("Pacific/Pago_Pago"), + + MIDWAY_ISLAND("Midway Island"), + + PACIFIC_MIDWAY("Pacific/Midway"), + + HAWAII("Hawaii"), + + PACIFIC_HONOLULU("Pacific/Honolulu"), + + ALASKA("Alaska"), + + AMERICA_JUNEAU("America/Juneau"), + + PACIFIC_TIME_US_CANADA_("Pacific Time (US & Canada)"), + + AMERICA_LOS_ANGELES("America/Los_Angeles"), + + TIJUANA("Tijuana"), + + AMERICA_TIJUANA("America/Tijuana"), + + ARIZONA("Arizona"), + + AMERICA_PHOENIX("America/Phoenix"), + + MAZATLAN("Mazatlan"), + + AMERICA_MAZATLAN("America/Mazatlan"), + + MOUNTAIN_TIME_US_CANADA_("Mountain Time (US & Canada)"), + + AMERICA_DENVER("America/Denver"), + + CENTRAL_AMERICA("Central America"), + + AMERICA_GUATEMALA("America/Guatemala"), + + CENTRAL_TIME_US_CANADA_("Central Time (US & Canada)"), + + AMERICA_CHICAGO("America/Chicago"), + + CHIHUAHUA("Chihuahua"), + + AMERICA_CHIHUAHUA("America/Chihuahua"), + + GUADALAJARA("Guadalajara"), + + AMERICA_MEXICO_CITY("America/Mexico_City"), + + MEXICO_CITY("Mexico City"), + + MONTERREY("Monterrey"), + + AMERICA_MONTERREY("America/Monterrey"), + + SASKATCHEWAN("Saskatchewan"), + + AMERICA_REGINA("America/Regina"), + + BOGOTA("Bogota"), + + AMERICA_BOGOTA("America/Bogota"), + + EASTERN_TIME_US_CANADA_("Eastern Time (US & Canada)"), + + AMERICA_NEW_YORK("America/New_York"), + + INDIANA_EAST_("Indiana (East)"), + + AMERICA_INDIANA_INDIANAPOLIS("America/Indiana/Indianapolis"), + + LIMA("Lima"), + + AMERICA_LIMA("America/Lima"), + + QUITO("Quito"), + + ATLANTIC_TIME_CANADA_("Atlantic Time (Canada)"), + + AMERICA_HALIFAX("America/Halifax"), + + CARACAS("Caracas"), + + AMERICA_CARACAS("America/Caracas"), + + GEORGETOWN("Georgetown"), + + AMERICA_GUYANA("America/Guyana"), + + LA_PAZ("La Paz"), + + AMERICA_LA_PAZ("America/La_Paz"), + + PUERTO_RICO("Puerto Rico"), + + AMERICA_PUERTO_RICO("America/Puerto_Rico"), + + SANTIAGO("Santiago"), + + AMERICA_SANTIAGO("America/Santiago"), + + NEWFOUNDLAND("Newfoundland"), + + AMERICA_ST_JOHNS("America/St_Johns"), + + ASUNCION("Asuncion"), + + AMERICA_ASUNCION("America/Asuncion"), + + BRASILIA("Brasilia"), + + AMERICA_SAO_PAULO("America/Sao_Paulo"), + + BUENOS_AIRES("Buenos Aires"), + + AMERICA_ARGENTINA_BUENOS_AIRES("America/Argentina/Buenos_Aires"), + + MONTEVIDEO("Montevideo"), + + AMERICA_MONTEVIDEO("America/Montevideo"), + + GREENLAND("Greenland"), + + AMERICA_NUUK("America/Nuuk"), + + MID_ATLANTIC("Mid-Atlantic"), + + ATLANTIC_SOUTH_GEORGIA("Atlantic/South_Georgia"), + + AZORES("Azores"), + + ATLANTIC_AZORES("Atlantic/Azores"), + + CAPE_VERDE_IS_("Cape Verde Is."), + + ATLANTIC_CAPE_VERDE("Atlantic/Cape_Verde"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + MONROVIA("Monrovia"), + + AFRICA_MONROVIA("Africa/Monrovia"), + + UTC("UTC"), + + ETC_UTC("Etc/UTC"), + + AMSTERDAM("Amsterdam"), + + EUROPE_AMSTERDAM("Europe/Amsterdam"), + + BELGRADE("Belgrade"), + + EUROPE_BELGRADE("Europe/Belgrade"), + + BERLIN("Berlin"), + + EUROPE_BERLIN("Europe/Berlin"), + + BERN("Bern"), + + EUROPE_ZURICH("Europe/Zurich"), + + BRATISLAVA("Bratislava"), + + EUROPE_BRATISLAVA("Europe/Bratislava"), + + BRUSSELS("Brussels"), + + EUROPE_BRUSSELS("Europe/Brussels"), + + BUDAPEST("Budapest"), + + EUROPE_BUDAPEST("Europe/Budapest"), + + COPENHAGEN("Copenhagen"), + + EUROPE_COPENHAGEN("Europe/Copenhagen"), + + DUBLIN("Dublin"), + + EUROPE_DUBLIN("Europe/Dublin"), + + LJUBLJANA("Ljubljana"), + + EUROPE_LJUBLJANA("Europe/Ljubljana"), + + MADRID("Madrid"), + + EUROPE_MADRID("Europe/Madrid"), + + PARIS("Paris"), + + EUROPE_PARIS("Europe/Paris"), + + PRAGUE("Prague"), + + EUROPE_PRAGUE("Europe/Prague"), + + ROME("Rome"), + + EUROPE_ROME("Europe/Rome"), + + SARAJEVO("Sarajevo"), + + EUROPE_SARAJEVO("Europe/Sarajevo"), + + SKOPJE("Skopje"), + + EUROPE_SKOPJE("Europe/Skopje"), + + STOCKHOLM("Stockholm"), + + EUROPE_STOCKHOLM("Europe/Stockholm"), + + VIENNA("Vienna"), + + EUROPE_VIENNA("Europe/Vienna"), + + WARSAW("Warsaw"), + + EUROPE_WARSAW("Europe/Warsaw"), + + WEST_CENTRAL_AFRICA("West Central Africa"), + + AFRICA_ALGIERS("Africa/Algiers"), + + ZAGREB("Zagreb"), + + EUROPE_ZAGREB("Europe/Zagreb"), + + ZURICH("Zurich"), + + ATHENS("Athens"), + + EUROPE_ATHENS("Europe/Athens"), + + BUCHAREST("Bucharest"), + + EUROPE_BUCHAREST("Europe/Bucharest"), + + CAIRO("Cairo"), + + AFRICA_CAIRO("Africa/Cairo"), + + HARARE("Harare"), + + AFRICA_HARARE("Africa/Harare"), + + HELSINKI("Helsinki"), + + EUROPE_HELSINKI("Europe/Helsinki"), + + JERUSALEM("Jerusalem"), + + ASIA_JERUSALEM("Asia/Jerusalem"), + + KALININGRAD("Kaliningrad"), + + EUROPE_KALININGRAD("Europe/Kaliningrad"), + + KYIV("Kyiv"), + + EUROPE_KYIV("Europe/Kyiv"), + + PRETORIA("Pretoria"), + + AFRICA_JOHANNESBURG("Africa/Johannesburg"), + + RIGA("Riga"), + + EUROPE_RIGA("Europe/Riga"), + + SOFIA("Sofia"), + + EUROPE_SOFIA("Europe/Sofia"), + + TALLINN("Tallinn"), + + EUROPE_TALLINN("Europe/Tallinn"), + + VILNIUS("Vilnius"), + + EUROPE_VILNIUS("Europe/Vilnius"), + + BAGHDAD("Baghdad"), + + ASIA_BAGHDAD("Asia/Baghdad"), + + ISTANBUL("Istanbul"), + + EUROPE_ISTANBUL("Europe/Istanbul"), + + KUWAIT("Kuwait"), + + ASIA_KUWAIT("Asia/Kuwait"), + + MINSK("Minsk"), + + EUROPE_MINSK("Europe/Minsk"), + + MOSCOW("Moscow"), + + EUROPE_MOSCOW("Europe/Moscow"), + + NAIROBI("Nairobi"), + + AFRICA_NAIROBI("Africa/Nairobi"), + + RIYADH("Riyadh"), + + ASIA_RIYADH("Asia/Riyadh"), + + ST_PETERSBURG("St. Petersburg"), + + VOLGOGRAD("Volgograd"), + + EUROPE_VOLGOGRAD("Europe/Volgograd"), + + TEHRAN("Tehran"), + + ASIA_TEHRAN("Asia/Tehran"), + + ABU_DHABI("Abu Dhabi"), + + ASIA_MUSCAT("Asia/Muscat"), + + BAKU("Baku"), + + ASIA_BAKU("Asia/Baku"), + + MUSCAT("Muscat"), + + SAMARA("Samara"), + + EUROPE_SAMARA("Europe/Samara"), + + TBILISI("Tbilisi"), + + ASIA_TBILISI("Asia/Tbilisi"), + + YEREVAN("Yerevan"), + + ASIA_YEREVAN("Asia/Yerevan"), + + KABUL("Kabul"), + + ASIA_KABUL("Asia/Kabul"), + + ALMATY("Almaty"), + + ASIA_ALMATY("Asia/Almaty"), + + ASTANA("Astana"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + MUMBAI("Mumbai"), + + NEW_DELHI("New Delhi"), + + SRI_JAYAWARDENEPURA("Sri Jayawardenepura"), + + ASIA_COLOMBO("Asia/Colombo"), + + KATHMANDU("Kathmandu"), + + ASIA_KATHMANDU("Asia/Kathmandu"), + + DHAKA("Dhaka"), + + ASIA_DHAKA("Asia/Dhaka"), + + URUMQI("Urumqi"), + + ASIA_URUMQI("Asia/Urumqi"), + + RANGOON("Rangoon"), + + ASIA_YANGON("Asia/Yangon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + JAKARTA("Jakarta"), + + ASIA_JAKARTA("Asia/Jakarta"), + + KRASNOYARSK("Krasnoyarsk"), + + ASIA_KRASNOYARSK("Asia/Krasnoyarsk"), + + NOVOSIBIRSK("Novosibirsk"), + + ASIA_NOVOSIBIRSK("Asia/Novosibirsk"), + + BEIJING("Beijing"), + + ASIA_SHANGHAI("Asia/Shanghai"), + + CHONGQING("Chongqing"), + + ASIA_CHONGQING("Asia/Chongqing"), + + HONG_KONG("Hong Kong"), + + ASIA_HONG_KONG("Asia/Hong_Kong"), + + IRKUTSK("Irkutsk"), + + ASIA_IRKUTSK("Asia/Irkutsk"), + + KUALA_LUMPUR("Kuala Lumpur"), + + ASIA_KUALA_LUMPUR("Asia/Kuala_Lumpur"), + + PERTH("Perth"), + + AUSTRALIA_PERTH("Australia/Perth"), + + SINGAPORE("Singapore"), + + ASIA_SINGAPORE("Asia/Singapore"), + + TAIPEI("Taipei"), + + ASIA_TAIPEI("Asia/Taipei"), + + ULAANBAATAR("Ulaanbaatar"), + + ASIA_ULAANBAATAR("Asia/Ulaanbaatar"), + + OSAKA("Osaka"), + + ASIA_TOKYO("Asia/Tokyo"), + + SAPPORO("Sapporo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + YAKUTSK("Yakutsk"), + + ASIA_YAKUTSK("Asia/Yakutsk"), + + ADELAIDE("Adelaide"), + + AUSTRALIA_ADELAIDE("Australia/Adelaide"), + + DARWIN("Darwin"), + + AUSTRALIA_DARWIN("Australia/Darwin"), + + BRISBANE("Brisbane"), + + AUSTRALIA_BRISBANE("Australia/Brisbane"), + + CANBERRA("Canberra"), + + AUSTRALIA_CANBERRA("Australia/Canberra"), + + GUAM("Guam"), + + PACIFIC_GUAM("Pacific/Guam"), + + HOBART("Hobart"), + + AUSTRALIA_HOBART("Australia/Hobart"), + + MELBOURNE("Melbourne"), + + AUSTRALIA_MELBOURNE("Australia/Melbourne"), + + PORT_MORESBY("Port Moresby"), + + PACIFIC_PORT_MORESBY("Pacific/Port_Moresby"), + + SYDNEY("Sydney"), + + AUSTRALIA_SYDNEY("Australia/Sydney"), + + VLADIVOSTOK("Vladivostok"), + + ASIA_VLADIVOSTOK("Asia/Vladivostok"), + + MAGADAN("Magadan"), + + ASIA_MAGADAN("Asia/Magadan"), + + NEW_CALEDONIA("New Caledonia"), + + PACIFIC_NOUMEA("Pacific/Noumea"), + + SOLOMON_IS_("Solomon Is."), + + PACIFIC_GUADALCANAL("Pacific/Guadalcanal"), + + SREDNEKOLYMSK("Srednekolymsk"), + + ASIA_SREDNEKOLYMSK("Asia/Srednekolymsk"), + + AUCKLAND("Auckland"), + + PACIFIC_AUCKLAND("Pacific/Auckland"), + + FIJI("Fiji"), + + PACIFIC_FIJI("Pacific/Fiji"), + + KAMCHATKA("Kamchatka"), + + ASIA_KAMCHATKA("Asia/Kamchatka"), + + MARSHALL_IS_("Marshall Is."), + + PACIFIC_MAJURO("Pacific/Majuro"), + + WELLINGTON("Wellington"), + + CHATHAM_IS_("Chatham Is."), + + PACIFIC_CHATHAM("Pacific/Chatham"), + + NUKU_ALOFA("Nuku'alofa"), + + PACIFIC_TONGATAPU("Pacific/Tongatapu"), + + SAMOA("Samoa"), + + PACIFIC_APIA("Pacific/Apia"), + + TOKELAU_IS_("Tokelau Is."), + + PACIFIC_FAKAOFO("Pacific/Fakaofo"), + + AMERICA_ADAK("America/Adak"), + + AMERICA_ATKA("America/Atka"), + + US_ALEUTIAN("US/Aleutian"), + + AMERICA_VANCOUVER("America/Vancouver"), + + CANADA_PACIFIC("Canada/Pacific"), + + AMERICA_MIQUELON("America/Miquelon"), + + AUSTRALIA_EUCLA("Australia/Eucla"), + + AUSTRALIA_LHI("Australia/LHI"), + + AUSTRALIA_LORD_HOWE("Australia/Lord_Howe"), + + CHILE_EASTER_ISLAND("Chile/EasterIsland"), + + PACIFIC_EASTER("Pacific/Easter"), + + PACIFIC_GAMBIER("Pacific/Gambier"), + + PACIFIC_PITCAIRN("Pacific/Pitcairn"), + + PACIFIC_MARQUESAS("Pacific/Marquesas"), + + PACIFIC_KIRITIMATI("Pacific/Kiritimati"), + + PACIFIC_NORFOLK("Pacific/Norfolk"), + + ASIA_RANGOON("Asia/Rangoon"), + + EUROPE_KIEV("Europe/Kiev"); + + private String value; + + TimeZoneEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeZoneEnum fromValue(String value) { + for (TimeZoneEnum b : TimeZoneEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TimeZoneEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeZoneEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeZoneEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TimeZoneEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @jakarta.annotation.Nullable + private TimeZoneEnum timeZone; + + /** + * Gets or Sets days + */ + @JsonAdapter(DaysEnum.Adapter.class) + public enum DaysEnum { + M("M"), + + T("T"), + + W("W"), + + R("R"), + + F("F"), + + U("U"), + + S("S"); + + private String value; + + DaysEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DaysEnum fromValue(String value) { + for (DaysEnum b : DaysEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DaysEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DaysEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DaysEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DaysEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DAYS = "days"; + @SerializedName(SERIALIZED_NAME_DAYS) + @jakarta.annotation.Nullable + private List days; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nullable + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nullable + private String endTime; + + public EscalationPolicyBusinessHours() { + } + + public EscalationPolicyBusinessHours timeZone(@jakarta.annotation.Nullable TimeZoneEnum timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * Time zone for business hours + * @return timeZone + */ + @jakarta.annotation.Nullable + public TimeZoneEnum getTimeZone() { + return timeZone; + } + + public void setTimeZone(@jakarta.annotation.Nullable TimeZoneEnum timeZone) { + this.timeZone = timeZone; + } + + + public EscalationPolicyBusinessHours days(@jakarta.annotation.Nullable List days) { + this.days = days; + return this; + } + + public EscalationPolicyBusinessHours addDaysItem(DaysEnum daysItem) { + if (this.days == null) { + this.days = new ArrayList<>(); + } + this.days.add(daysItem); + return this; + } + + /** + * Business days + * @return days + */ + @jakarta.annotation.Nullable + public List getDays() { + return days; + } + + public void setDays(@jakarta.annotation.Nullable List days) { + this.days = days; + } + + + public EscalationPolicyBusinessHours startTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Start time for business hours (HH:MM) + * @return startTime + */ + @jakarta.annotation.Nullable + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + } + + + public EscalationPolicyBusinessHours endTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + return this; + } + + /** + * End time for business hours (HH:MM) + * @return endTime + */ + @jakarta.annotation.Nullable + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalationPolicyBusinessHours escalationPolicyBusinessHours = (EscalationPolicyBusinessHours) o; + return Objects.equals(this.timeZone, escalationPolicyBusinessHours.timeZone) && + Objects.equals(this.days, escalationPolicyBusinessHours.days) && + Objects.equals(this.startTime, escalationPolicyBusinessHours.startTime) && + Objects.equals(this.endTime, escalationPolicyBusinessHours.endTime); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(timeZone, days, startTime, endTime); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalationPolicyBusinessHours {\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); + sb.append(" days: ").append(toIndentedString(days)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("time_zone"); + openapiFields.add("days"); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to EscalationPolicyBusinessHours + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EscalationPolicyBusinessHours.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EscalationPolicyBusinessHours is not found in the empty JSON string", EscalationPolicyBusinessHours.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EscalationPolicyBusinessHours.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EscalationPolicyBusinessHours` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("time_zone") != null && !jsonObj.get("time_zone").isJsonNull()) && !jsonObj.get("time_zone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_zone").toString())); + } + // validate the optional field `time_zone` + if (jsonObj.get("time_zone") != null && !jsonObj.get("time_zone").isJsonNull()) { + TimeZoneEnum.validateJsonElement(jsonObj.get("time_zone")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("days") != null && !jsonObj.get("days").isJsonNull() && !jsonObj.get("days").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `days` to be an array in the JSON string but got `%s`", jsonObj.get("days").toString())); + } + if ((jsonObj.get("start_time") != null && !jsonObj.get("start_time").isJsonNull()) && !jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if ((jsonObj.get("end_time") != null && !jsonObj.get("end_time").isJsonNull()) && !jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EscalationPolicyBusinessHours.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EscalationPolicyBusinessHours' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EscalationPolicyBusinessHours.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EscalationPolicyBusinessHours value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EscalationPolicyBusinessHours read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EscalationPolicyBusinessHours given an JSON string + * + * @param jsonString JSON string + * @return An instance of EscalationPolicyBusinessHours + * @throws IOException if the JSON string is invalid with respect to EscalationPolicyBusinessHours + */ + public static EscalationPolicyBusinessHours fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EscalationPolicyBusinessHours.class); + } + + /** + * Convert an instance of EscalationPolicyBusinessHours to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java index 1aa6f1f4..422bf4df 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java @@ -19,7 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner; +import com.rootly.client.model.EscalationPolicyLevelNotificationTargetParamsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +52,7 @@ /** * EscalationPolicyLevel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyLevel { public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) @@ -329,7 +329,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_NOTIFICATION_TARGET_PARAMS = "notification_target_params"; @SerializedName(SERIALIZED_NAME_NOTIFICATION_TARGET_PARAMS) @jakarta.annotation.Nonnull - private List notificationTargetParams = new ArrayList<>(); + private List notificationTargetParams = new ArrayList<>(); public EscalationPolicyLevel() { } @@ -562,12 +562,12 @@ public void setUpdatedAt(@jakarta.annotation.Nullable String updatedAt) { } - public EscalationPolicyLevel notificationTargetParams(@jakarta.annotation.Nonnull List notificationTargetParams) { + public EscalationPolicyLevel notificationTargetParams(@jakarta.annotation.Nonnull List notificationTargetParams) { this.notificationTargetParams = notificationTargetParams; return this; } - public EscalationPolicyLevel addNotificationTargetParamsItem(UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner notificationTargetParamsItem) { + public EscalationPolicyLevel addNotificationTargetParamsItem(EscalationPolicyLevelNotificationTargetParamsInner notificationTargetParamsItem) { if (this.notificationTargetParams == null) { this.notificationTargetParams = new ArrayList<>(); } @@ -580,11 +580,11 @@ public EscalationPolicyLevel addNotificationTargetParamsItem(UpdateEscalationPol * @return notificationTargetParams */ @jakarta.annotation.Nonnull - public List getNotificationTargetParams() { + public List getNotificationTargetParams() { return notificationTargetParams; } - public void setNotificationTargetParams(@jakarta.annotation.Nonnull List notificationTargetParams) { + public void setNotificationTargetParams(@jakarta.annotation.Nonnull List notificationTargetParams) { this.notificationTargetParams = notificationTargetParams; } @@ -767,7 +767,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti JsonArray jsonArraynotificationTargetParams = jsonObj.getAsJsonArray("notification_target_params"); // validate the required field `notification_target_params` (array) for (int i = 0; i < jsonArraynotificationTargetParams.size(); i++) { - UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.validateJsonElement(jsonArraynotificationTargetParams.get(i)); + EscalationPolicyLevelNotificationTargetParamsInner.validateJsonElement(jsonArraynotificationTargetParams.get(i)); }; } diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java index 0d857ea3..7dbe3f3d 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java @@ -54,7 +54,7 @@ /** * EscalationPolicyLevelList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyLevelList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java index c8177fde..1ceaeebd 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java @@ -49,7 +49,7 @@ /** * EscalationPolicyLevelListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyLevelListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInner.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInner.java new file mode 100644 index 00000000..a457b1d8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInner.java @@ -0,0 +1,407 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * EscalationPolicyLevelNotificationTargetParamsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EscalationPolicyLevelNotificationTargetParamsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * The type of the notification target + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + TEAM("team"), + + USER("user"), + + SCHEDULE("schedule"), + + SLACK_CHANNEL("slack_channel"), + + MICROSOFT_TEAMS_CHANNEL("microsoft_teams_channel"), + + SERVICE("service"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + /** + * For targets with type=team, controls whether to notify admins, all team members, or escalate to team EP. + */ + @JsonAdapter(TeamMembersEnum.Adapter.class) + public enum TeamMembersEnum { + ALL("all"), + + ADMINS("admins"), + + ESCALATE("escalate"); + + private String value; + + TeamMembersEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TeamMembersEnum fromValue(String value) { + for (TeamMembersEnum b : TeamMembersEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TeamMembersEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TeamMembersEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TeamMembersEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TeamMembersEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TEAM_MEMBERS = "team_members"; + @SerializedName(SERIALIZED_NAME_TEAM_MEMBERS) + @jakarta.annotation.Nullable + private TeamMembersEnum teamMembers; + + public EscalationPolicyLevelNotificationTargetParamsInner() { + } + + public EscalationPolicyLevelNotificationTargetParamsInner id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * The ID of notification target + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public EscalationPolicyLevelNotificationTargetParamsInner type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of the notification target + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public EscalationPolicyLevelNotificationTargetParamsInner teamMembers(@jakarta.annotation.Nullable TeamMembersEnum teamMembers) { + this.teamMembers = teamMembers; + return this; + } + + /** + * For targets with type=team, controls whether to notify admins, all team members, or escalate to team EP. + * @return teamMembers + */ + @jakarta.annotation.Nullable + public TeamMembersEnum getTeamMembers() { + return teamMembers; + } + + public void setTeamMembers(@jakarta.annotation.Nullable TeamMembersEnum teamMembers) { + this.teamMembers = teamMembers; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalationPolicyLevelNotificationTargetParamsInner escalationPolicyLevelNotificationTargetParamsInner = (EscalationPolicyLevelNotificationTargetParamsInner) o; + return Objects.equals(this.id, escalationPolicyLevelNotificationTargetParamsInner.id) && + Objects.equals(this.type, escalationPolicyLevelNotificationTargetParamsInner.type) && + Objects.equals(this.teamMembers, escalationPolicyLevelNotificationTargetParamsInner.teamMembers); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, teamMembers); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalationPolicyLevelNotificationTargetParamsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" teamMembers: ").append(toIndentedString(teamMembers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("team_members"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to EscalationPolicyLevelNotificationTargetParamsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EscalationPolicyLevelNotificationTargetParamsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EscalationPolicyLevelNotificationTargetParamsInner is not found in the empty JSON string", EscalationPolicyLevelNotificationTargetParamsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EscalationPolicyLevelNotificationTargetParamsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EscalationPolicyLevelNotificationTargetParamsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EscalationPolicyLevelNotificationTargetParamsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + if ((jsonObj.get("team_members") != null && !jsonObj.get("team_members").isJsonNull()) && !jsonObj.get("team_members").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `team_members` to be a primitive type in the JSON string but got `%s`", jsonObj.get("team_members").toString())); + } + // validate the optional field `team_members` + if (jsonObj.get("team_members") != null && !jsonObj.get("team_members").isJsonNull()) { + TeamMembersEnum.validateJsonElement(jsonObj.get("team_members")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EscalationPolicyLevelNotificationTargetParamsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EscalationPolicyLevelNotificationTargetParamsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EscalationPolicyLevelNotificationTargetParamsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EscalationPolicyLevelNotificationTargetParamsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EscalationPolicyLevelNotificationTargetParamsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EscalationPolicyLevelNotificationTargetParamsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of EscalationPolicyLevelNotificationTargetParamsInner + * @throws IOException if the JSON string is invalid with respect to EscalationPolicyLevelNotificationTargetParamsInner + */ + public static EscalationPolicyLevelNotificationTargetParamsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EscalationPolicyLevelNotificationTargetParamsInner.class); + } + + /** + * Convert an instance of EscalationPolicyLevelNotificationTargetParamsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java index 072fe2b2..a9545fe6 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java @@ -52,7 +52,7 @@ /** * EscalationPolicyLevelResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyLevelResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java index 154bdc70..eb512f30 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java @@ -49,7 +49,7 @@ /** * EscalationPolicyLevelResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyLevelResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyList.java b/src/main/java/com/rootly/client/model/EscalationPolicyList.java index 62425499..17379c34 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyList.java @@ -54,7 +54,7 @@ /** * EscalationPolicyList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPath.java b/src/main/java/com/rootly/client/model/EscalationPolicyPath.java index eb8228f7..3c49d3ba 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPath.java @@ -19,8 +19,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EscalationPolicyPathTimeRestrictionsInner; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; -import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +54,7 @@ /** * EscalationPolicyPath */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPath { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -291,6 +292,68 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List rules = new ArrayList<>(); + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE_RULES = "notification_type_rules"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE_RULES) + @jakarta.annotation.Nullable + private List notificationTypeRules = new ArrayList<>(); + + /** + * Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. + */ + @JsonAdapter(NotificationTypeFallbackEnum.Adapter.class) + public enum NotificationTypeFallbackEnum { + AUDIBLE("audible"), + + QUIET("quiet"); + + private String value; + + NotificationTypeFallbackEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeFallbackEnum fromValue(String value) { + for (NotificationTypeFallbackEnum b : NotificationTypeFallbackEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeFallbackEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeFallbackEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeFallbackEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + NotificationTypeFallbackEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE_FALLBACK = "notification_type_fallback"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE_FALLBACK) + @jakarta.annotation.Nullable + private NotificationTypeFallbackEnum notificationTypeFallback = NotificationTypeFallbackEnum.AUDIBLE; + /** * Time zone used for time restrictions. */ @@ -440,6 +503,10 @@ public enum TimeRestrictionTimeZoneEnum { ATLANTIC_CAPE_VERDE("Atlantic/Cape_Verde"), + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + EDINBURGH("Edinburgh"), EUROPE_LONDON("Europe/London"), @@ -486,10 +553,6 @@ public enum TimeRestrictionTimeZoneEnum { EUROPE_BUDAPEST("Europe/Budapest"), - CASABLANCA("Casablanca"), - - AFRICA_CASABLANCA("Africa/Casablanca"), - COPENHAGEN("Copenhagen"), EUROPE_COPENHAGEN("Europe/Copenhagen"), @@ -578,7 +641,7 @@ public enum TimeRestrictionTimeZoneEnum { KYIV("Kyiv"), - EUROPE_KIEV("Europe/Kiev"), + EUROPE_KYIV("Europe/Kyiv"), PRETORIA("Pretoria"), @@ -712,7 +775,7 @@ public enum TimeRestrictionTimeZoneEnum { RANGOON("Rangoon"), - ASIA_RANGOON("Asia/Rangoon"), + ASIA_YANGON("Asia/Yangon"), BANGKOK("Bangkok"), @@ -904,7 +967,11 @@ public enum TimeRestrictionTimeZoneEnum { PACIFIC_KIRITIMATI("Pacific/Kiritimati"), - PACIFIC_NORFOLK("Pacific/Norfolk"); + PACIFIC_NORFOLK("Pacific/Norfolk"), + + ASIA_RANGOON("Asia/Rangoon"), + + EUROPE_KIEV("Europe/Kiev"); private String value; @@ -957,7 +1024,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_TIME_RESTRICTIONS = "time_restrictions"; @SerializedName(SERIALIZED_NAME_TIME_RESTRICTIONS) @jakarta.annotation.Nullable - private List timeRestrictions = new ArrayList<>(); + private List timeRestrictions = new ArrayList<>(); public EscalationPolicyPath() { } @@ -1196,7 +1263,7 @@ public EscalationPolicyPath retriggerTimeoutMinutes(@jakarta.annotation.Nullable } /** - * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, negative = never. + * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. * @return retriggerTimeoutMinutes */ @jakarta.annotation.Nullable @@ -1274,6 +1341,52 @@ public void setRules(@jakarta.annotation.Nullable List notificationTypeRules) { + this.notificationTypeRules = notificationTypeRules; + return this; + } + + public EscalationPolicyPath addNotificationTypeRulesItem(NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner notificationTypeRulesItem) { + if (this.notificationTypeRules == null) { + this.notificationTypeRules = new ArrayList<>(); + } + this.notificationTypeRules.add(notificationTypeRulesItem); + return this; + } + + /** + * Rules deciding whether an alert pages audible or quiet, evaluated in order — the first matching rule's notification_type wins, otherwise notification_type_fallback applies. When present, the path's notification_type is aligned to notification_type_fallback. Only available when notification type conditions are enabled for the team. + * @return notificationTypeRules + */ + @jakarta.annotation.Nullable + public List getNotificationTypeRules() { + return notificationTypeRules; + } + + public void setNotificationTypeRules(@jakarta.annotation.Nullable List notificationTypeRules) { + this.notificationTypeRules = notificationTypeRules; + } + + + public EscalationPolicyPath notificationTypeFallback(@jakarta.annotation.Nullable NotificationTypeFallbackEnum notificationTypeFallback) { + this.notificationTypeFallback = notificationTypeFallback; + return this; + } + + /** + * Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. + * @return notificationTypeFallback + */ + @jakarta.annotation.Nullable + public NotificationTypeFallbackEnum getNotificationTypeFallback() { + return notificationTypeFallback; + } + + public void setNotificationTypeFallback(@jakarta.annotation.Nullable NotificationTypeFallbackEnum notificationTypeFallback) { + this.notificationTypeFallback = notificationTypeFallback; + } + + public EscalationPolicyPath timeRestrictionTimeZone(@jakarta.annotation.Nullable TimeRestrictionTimeZoneEnum timeRestrictionTimeZone) { this.timeRestrictionTimeZone = timeRestrictionTimeZone; return this; @@ -1293,12 +1406,12 @@ public void setTimeRestrictionTimeZone(@jakarta.annotation.Nullable TimeRestrict } - public EscalationPolicyPath timeRestrictions(@jakarta.annotation.Nullable List timeRestrictions) { + public EscalationPolicyPath timeRestrictions(@jakarta.annotation.Nullable List timeRestrictions) { this.timeRestrictions = timeRestrictions; return this; } - public EscalationPolicyPath addTimeRestrictionsItem(UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner timeRestrictionsItem) { + public EscalationPolicyPath addTimeRestrictionsItem(EscalationPolicyPathTimeRestrictionsInner timeRestrictionsItem) { if (this.timeRestrictions == null) { this.timeRestrictions = new ArrayList<>(); } @@ -1311,11 +1424,11 @@ public EscalationPolicyPath addTimeRestrictionsItem(UpdateEscalationPolicyPathDa * @return timeRestrictions */ @jakarta.annotation.Nullable - public List getTimeRestrictions() { + public List getTimeRestrictions() { return timeRestrictions; } - public void setTimeRestrictions(@jakarta.annotation.Nullable List timeRestrictions) { + public void setTimeRestrictions(@jakarta.annotation.Nullable List timeRestrictions) { this.timeRestrictions = timeRestrictions; } @@ -1346,6 +1459,8 @@ public boolean equals(Object o) { Objects.equals(this.createdAt, escalationPolicyPath.createdAt) && Objects.equals(this.updatedAt, escalationPolicyPath.updatedAt) && Objects.equals(this.rules, escalationPolicyPath.rules) && + Objects.equals(this.notificationTypeRules, escalationPolicyPath.notificationTypeRules) && + Objects.equals(this.notificationTypeFallback, escalationPolicyPath.notificationTypeFallback) && Objects.equals(this.timeRestrictionTimeZone, escalationPolicyPath.timeRestrictionTimeZone) && Objects.equals(this.timeRestrictions, escalationPolicyPath.timeRestrictions); } @@ -1356,7 +1471,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, _default, notificationType, pathType, escalationPolicyId, afterDeferralBehavior, afterDeferralPathId, matchMode, position, repeat, repeatCount, initialDelay, retriggerTimeoutMinutes, createdAt, updatedAt, rules, timeRestrictionTimeZone, timeRestrictions); + return Objects.hash(name, _default, notificationType, pathType, escalationPolicyId, afterDeferralBehavior, afterDeferralPathId, matchMode, position, repeat, repeatCount, initialDelay, retriggerTimeoutMinutes, createdAt, updatedAt, rules, notificationTypeRules, notificationTypeFallback, timeRestrictionTimeZone, timeRestrictions); } private static int hashCodeNullable(JsonNullable a) { @@ -1386,6 +1501,8 @@ public String toString() { sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" notificationTypeRules: ").append(toIndentedString(notificationTypeRules)).append("\n"); + sb.append(" notificationTypeFallback: ").append(toIndentedString(notificationTypeFallback)).append("\n"); sb.append(" timeRestrictionTimeZone: ").append(toIndentedString(timeRestrictionTimeZone)).append("\n"); sb.append(" timeRestrictions: ").append(toIndentedString(timeRestrictions)).append("\n"); sb.append("}"); @@ -1426,6 +1543,8 @@ private String toIndentedString(Object o) { openapiFields.add("created_at"); openapiFields.add("updated_at"); openapiFields.add("rules"); + openapiFields.add("notification_type_rules"); + openapiFields.add("notification_type_fallback"); openapiFields.add("time_restriction_time_zone"); openapiFields.add("time_restrictions"); @@ -1520,6 +1639,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if (jsonObj.get("notification_type_rules") != null && !jsonObj.get("notification_type_rules").isJsonNull()) { + JsonArray jsonArraynotificationTypeRules = jsonObj.getAsJsonArray("notification_type_rules"); + if (jsonArraynotificationTypeRules != null) { + // ensure the json data is an array + if (!jsonObj.get("notification_type_rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type_rules` to be an array in the JSON string but got `%s`", jsonObj.get("notification_type_rules").toString())); + } + + // validate the optional field `notification_type_rules` (array) + for (int i = 0; i < jsonArraynotificationTypeRules.size(); i++) { + NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.validateJsonElement(jsonArraynotificationTypeRules.get(i)); + }; + } + } + if ((jsonObj.get("notification_type_fallback") != null && !jsonObj.get("notification_type_fallback").isJsonNull()) && !jsonObj.get("notification_type_fallback").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type_fallback` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_type_fallback").toString())); + } + // validate the optional field `notification_type_fallback` + if (jsonObj.get("notification_type_fallback") != null && !jsonObj.get("notification_type_fallback").isJsonNull()) { + NotificationTypeFallbackEnum.validateJsonElement(jsonObj.get("notification_type_fallback")); + } if ((jsonObj.get("time_restriction_time_zone") != null && !jsonObj.get("time_restriction_time_zone").isJsonNull()) && !jsonObj.get("time_restriction_time_zone").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `time_restriction_time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_restriction_time_zone").toString())); } @@ -1537,7 +1677,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `time_restrictions` (array) for (int i = 0; i < jsonArraytimeRestrictions.size(); i++) { - UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.validateJsonElement(jsonArraytimeRestrictions.get(i)); + EscalationPolicyPathTimeRestrictionsInner.validateJsonElement(jsonArraytimeRestrictions.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java index f608f40a..d965b80c 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java @@ -54,7 +54,7 @@ /** * EscalationPolicyPathList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPathList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java index b9a1aeec..3f0dd7df 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java @@ -49,7 +49,7 @@ /** * EscalationPolicyPathListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPathListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java index ddc89396..7a4ac0a9 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java @@ -52,7 +52,7 @@ /** * EscalationPolicyPathResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPathResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java index 64e75d7a..32a1ba22 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java @@ -49,7 +49,7 @@ /** * EscalationPolicyPathResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPathResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInner.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInner.java new file mode 100644 index 00000000..7e08fb16 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInner.java @@ -0,0 +1,428 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * EscalationPolicyPathTimeRestrictionsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EscalationPolicyPathTimeRestrictionsInner { + /** + * Gets or Sets startDay + */ + @JsonAdapter(StartDayEnum.Adapter.class) + public enum StartDayEnum { + MONDAY("monday"), + + TUESDAY("tuesday"), + + WEDNESDAY("wednesday"), + + THURSDAY("thursday"), + + FRIDAY("friday"), + + SATURDAY("saturday"), + + SUNDAY("sunday"); + + private String value; + + StartDayEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StartDayEnum fromValue(String value) { + for (StartDayEnum b : StartDayEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StartDayEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StartDayEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StartDayEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StartDayEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_START_DAY = "start_day"; + @SerializedName(SERIALIZED_NAME_START_DAY) + @jakarta.annotation.Nullable + private StartDayEnum startDay; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nullable + private String startTime; + + /** + * Gets or Sets endDay + */ + @JsonAdapter(EndDayEnum.Adapter.class) + public enum EndDayEnum { + MONDAY("monday"), + + TUESDAY("tuesday"), + + WEDNESDAY("wednesday"), + + THURSDAY("thursday"), + + FRIDAY("friday"), + + SATURDAY("saturday"), + + SUNDAY("sunday"); + + private String value; + + EndDayEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EndDayEnum fromValue(String value) { + for (EndDayEnum b : EndDayEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final EndDayEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EndDayEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EndDayEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + EndDayEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_END_DAY = "end_day"; + @SerializedName(SERIALIZED_NAME_END_DAY) + @jakarta.annotation.Nullable + private EndDayEnum endDay; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nullable + private String endTime; + + public EscalationPolicyPathTimeRestrictionsInner() { + } + + public EscalationPolicyPathTimeRestrictionsInner startDay(@jakarta.annotation.Nullable StartDayEnum startDay) { + this.startDay = startDay; + return this; + } + + /** + * Get startDay + * @return startDay + */ + @jakarta.annotation.Nullable + public StartDayEnum getStartDay() { + return startDay; + } + + public void setStartDay(@jakarta.annotation.Nullable StartDayEnum startDay) { + this.startDay = startDay; + } + + + public EscalationPolicyPathTimeRestrictionsInner startTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Formatted as HH:MM + * @return startTime + */ + @jakarta.annotation.Nullable + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + } + + + public EscalationPolicyPathTimeRestrictionsInner endDay(@jakarta.annotation.Nullable EndDayEnum endDay) { + this.endDay = endDay; + return this; + } + + /** + * Get endDay + * @return endDay + */ + @jakarta.annotation.Nullable + public EndDayEnum getEndDay() { + return endDay; + } + + public void setEndDay(@jakarta.annotation.Nullable EndDayEnum endDay) { + this.endDay = endDay; + } + + + public EscalationPolicyPathTimeRestrictionsInner endTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Formatted as HH:MM + * @return endTime + */ + @jakarta.annotation.Nullable + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalationPolicyPathTimeRestrictionsInner escalationPolicyPathTimeRestrictionsInner = (EscalationPolicyPathTimeRestrictionsInner) o; + return Objects.equals(this.startDay, escalationPolicyPathTimeRestrictionsInner.startDay) && + Objects.equals(this.startTime, escalationPolicyPathTimeRestrictionsInner.startTime) && + Objects.equals(this.endDay, escalationPolicyPathTimeRestrictionsInner.endDay) && + Objects.equals(this.endTime, escalationPolicyPathTimeRestrictionsInner.endTime); + } + + @Override + public int hashCode() { + return Objects.hash(startDay, startTime, endDay, endTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalationPolicyPathTimeRestrictionsInner {\n"); + sb.append(" startDay: ").append(toIndentedString(startDay)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endDay: ").append(toIndentedString(endDay)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("start_day"); + openapiFields.add("start_time"); + openapiFields.add("end_day"); + openapiFields.add("end_time"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to EscalationPolicyPathTimeRestrictionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EscalationPolicyPathTimeRestrictionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EscalationPolicyPathTimeRestrictionsInner is not found in the empty JSON string", EscalationPolicyPathTimeRestrictionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EscalationPolicyPathTimeRestrictionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EscalationPolicyPathTimeRestrictionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("start_day") != null && !jsonObj.get("start_day").isJsonNull()) && !jsonObj.get("start_day").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_day` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_day").toString())); + } + // validate the optional field `start_day` + if (jsonObj.get("start_day") != null && !jsonObj.get("start_day").isJsonNull()) { + StartDayEnum.validateJsonElement(jsonObj.get("start_day")); + } + if ((jsonObj.get("start_time") != null && !jsonObj.get("start_time").isJsonNull()) && !jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if ((jsonObj.get("end_day") != null && !jsonObj.get("end_day").isJsonNull()) && !jsonObj.get("end_day").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_day` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_day").toString())); + } + // validate the optional field `end_day` + if (jsonObj.get("end_day") != null && !jsonObj.get("end_day").isJsonNull()) { + EndDayEnum.validateJsonElement(jsonObj.get("end_day")); + } + if ((jsonObj.get("end_time") != null && !jsonObj.get("end_time").isJsonNull()) && !jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EscalationPolicyPathTimeRestrictionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EscalationPolicyPathTimeRestrictionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EscalationPolicyPathTimeRestrictionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EscalationPolicyPathTimeRestrictionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EscalationPolicyPathTimeRestrictionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EscalationPolicyPathTimeRestrictionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of EscalationPolicyPathTimeRestrictionsInner + * @throws IOException if the JSON string is invalid with respect to EscalationPolicyPathTimeRestrictionsInner + */ + public static EscalationPolicyPathTimeRestrictionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EscalationPolicyPathTimeRestrictionsInner.class); + } + + /** + * Convert an instance of EscalationPolicyPathTimeRestrictionsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java index a5a0b7d6..5a59c492 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java @@ -52,7 +52,7 @@ /** * EscalationPolicyResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java b/src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java index 93bf9a9d..8c36f8f5 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java @@ -49,7 +49,7 @@ /** * EscalationPolicyResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormField.java b/src/main/java/com/rootly/client/model/FormField.java index 2f5043d8..a5ff9a93 100644 --- a/src/main/java/com/rootly/client/model/FormField.java +++ b/src/main/java/com/rootly/client/model/FormField.java @@ -51,7 +51,7 @@ /** * FormField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormField { /** * The kind of the form field @@ -68,6 +68,8 @@ public enum KindEnum { RESOLUTION_MESSAGE("resolution_message"), + CANCELLATION_MESSAGE("cancellation_message"), + SEVERITY("severity"), ENVIRONMENTS("environments"), diff --git a/src/main/java/com/rootly/client/model/FormFieldList.java b/src/main/java/com/rootly/client/model/FormFieldList.java index 58a81a00..74f16812 100644 --- a/src/main/java/com/rootly/client/model/FormFieldList.java +++ b/src/main/java/com/rootly/client/model/FormFieldList.java @@ -54,7 +54,7 @@ /** * FormFieldList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldOption.java b/src/main/java/com/rootly/client/model/FormFieldOption.java index e231c061..b46057da 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOption.java +++ b/src/main/java/com/rootly/client/model/FormFieldOption.java @@ -48,7 +48,7 @@ /** * FormFieldOption */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOption { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldOptionList.java b/src/main/java/com/rootly/client/model/FormFieldOptionList.java index aee5f0ab..d0175ec4 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionList.java @@ -54,7 +54,7 @@ /** * FormFieldOptionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOptionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java b/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java index 2543d9bc..7a949a24 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java @@ -52,7 +52,7 @@ /** * FormFieldOptionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOptionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldOptionResponseData.java b/src/main/java/com/rootly/client/model/FormFieldOptionResponseData.java index 64e15c33..7c02dfcb 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionResponseData.java @@ -49,7 +49,7 @@ /** * FormFieldOptionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOptionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacement.java b/src/main/java/com/rootly/client/model/FormFieldPlacement.java index fe7b5357..301870ab 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacement.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacement.java @@ -48,7 +48,7 @@ /** * FormFieldPlacement */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacement { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java b/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java index 384f31ce..d442334e 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java @@ -50,7 +50,7 @@ /** * FormFieldPlacementCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementCondition { public static final String SERIALIZED_NAME_FORM_FIELD_PLACEMENT_ID = "form_field_placement_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_PLACEMENT_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java index 18a5ef58..b015c1a9 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java @@ -54,7 +54,7 @@ /** * FormFieldPlacementConditionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java index 8f194450..150c8d8b 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java @@ -52,7 +52,7 @@ /** * FormFieldPlacementConditionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementConditionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponseData.java b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponseData.java index d9bdecbc..bf18214f 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponseData.java @@ -49,7 +49,7 @@ /** * FormFieldPlacementConditionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementConditionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementList.java b/src/main/java/com/rootly/client/model/FormFieldPlacementList.java index 6e72f9f2..e467bd68 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementList.java @@ -54,7 +54,7 @@ /** * FormFieldPlacementList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java b/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java index a09c68db..255c8256 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java @@ -52,7 +52,7 @@ /** * FormFieldPlacementResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementResponseData.java b/src/main/java/com/rootly/client/model/FormFieldPlacementResponseData.java index e832c833..5dd5181a 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementResponseData.java @@ -49,7 +49,7 @@ /** * FormFieldPlacementResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldPosition.java b/src/main/java/com/rootly/client/model/FormFieldPosition.java index fbd0ec71..3059d52a 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPosition.java +++ b/src/main/java/com/rootly/client/model/FormFieldPosition.java @@ -48,7 +48,7 @@ /** * FormFieldPosition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPosition { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldPositionList.java b/src/main/java/com/rootly/client/model/FormFieldPositionList.java index 7aa542e4..3313be2e 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionList.java @@ -54,7 +54,7 @@ /** * FormFieldPositionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPositionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java b/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java index 88ca4656..9459b503 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java @@ -52,7 +52,7 @@ /** * FormFieldPositionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPositionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldPositionResponseData.java b/src/main/java/com/rootly/client/model/FormFieldPositionResponseData.java index 7a79698a..205726f9 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionResponseData.java @@ -49,7 +49,7 @@ /** * FormFieldPositionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPositionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormFieldResponse.java b/src/main/java/com/rootly/client/model/FormFieldResponse.java index e17c06b9..b490c33e 100644 --- a/src/main/java/com/rootly/client/model/FormFieldResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldResponse.java @@ -52,7 +52,7 @@ /** * FormFieldResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormFieldResponseData.java b/src/main/java/com/rootly/client/model/FormFieldResponseData.java index eb5a8865..fde619a5 100644 --- a/src/main/java/com/rootly/client/model/FormFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldResponseData.java @@ -49,7 +49,7 @@ /** * FormFieldResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormSet.java b/src/main/java/com/rootly/client/model/FormSet.java index a8edbf43..96cf661a 100644 --- a/src/main/java/com/rootly/client/model/FormSet.java +++ b/src/main/java/com/rootly/client/model/FormSet.java @@ -50,7 +50,7 @@ /** * FormSet */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSet { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/FormSetCondition.java b/src/main/java/com/rootly/client/model/FormSetCondition.java index 8764277d..92c25626 100644 --- a/src/main/java/com/rootly/client/model/FormSetCondition.java +++ b/src/main/java/com/rootly/client/model/FormSetCondition.java @@ -50,7 +50,7 @@ /** * FormSetCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetCondition { public static final String SERIALIZED_NAME_FORM_SET_ID = "form_set_id"; @SerializedName(SERIALIZED_NAME_FORM_SET_ID) diff --git a/src/main/java/com/rootly/client/model/FormSetConditionList.java b/src/main/java/com/rootly/client/model/FormSetConditionList.java index 541f17fd..52ee1932 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionList.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionList.java @@ -54,7 +54,7 @@ /** * FormSetConditionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormSetConditionResponse.java b/src/main/java/com/rootly/client/model/FormSetConditionResponse.java index 100b254d..38a4035a 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionResponse.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionResponse.java @@ -52,7 +52,7 @@ /** * FormSetConditionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetConditionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormSetConditionResponseData.java b/src/main/java/com/rootly/client/model/FormSetConditionResponseData.java index 1e521652..454239c5 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionResponseData.java @@ -49,7 +49,7 @@ /** * FormSetConditionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetConditionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/FormSetList.java b/src/main/java/com/rootly/client/model/FormSetList.java index 2a1b182d..402c5674 100644 --- a/src/main/java/com/rootly/client/model/FormSetList.java +++ b/src/main/java/com/rootly/client/model/FormSetList.java @@ -54,7 +54,7 @@ /** * FormSetList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormSetResponse.java b/src/main/java/com/rootly/client/model/FormSetResponse.java index 090e0c2f..a6560875 100644 --- a/src/main/java/com/rootly/client/model/FormSetResponse.java +++ b/src/main/java/com/rootly/client/model/FormSetResponse.java @@ -52,7 +52,7 @@ /** * FormSetResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FormSetResponseData.java b/src/main/java/com/rootly/client/model/FormSetResponseData.java index 305bd258..6feb1ecd 100644 --- a/src/main/java/com/rootly/client/model/FormSetResponseData.java +++ b/src/main/java/com/rootly/client/model/FormSetResponseData.java @@ -49,7 +49,7 @@ /** * FormSetResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Functionality.java b/src/main/java/com/rootly/client/model/Functionality.java index de11662e..94d0cc8b 100644 --- a/src/main/java/com/rootly/client/model/Functionality.java +++ b/src/main/java/com/rootly/client/model/Functionality.java @@ -19,9 +19,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -54,7 +54,7 @@ /** * Functionality */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Functionality { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -221,12 +221,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @jakarta.annotation.Nullable - private List slackChannels; + private List slackChannels; public static final String SERIALIZED_NAME_SLACK_ALIASES = "slack_aliases"; @SerializedName(SERIALIZED_NAME_SLACK_ALIASES) @jakarta.annotation.Nullable - private List slackAliases; + private List slackAliases; public static final String SERIALIZED_NAME_PROPERTIES = "properties"; @SerializedName(SERIALIZED_NAME_PROPERTIES) @@ -665,12 +665,12 @@ public void setEscalationPolicyId(@jakarta.annotation.Nullable String escalation } - public Functionality slackChannels(@jakarta.annotation.Nullable List slackChannels) { + public Functionality slackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; } - public Functionality addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner slackChannelsItem) { + public Functionality addSlackChannelsItem(EnvironmentSlackChannelsInner slackChannelsItem) { if (this.slackChannels == null) { this.slackChannels = new ArrayList<>(); } @@ -683,21 +683,21 @@ public Functionality addSlackChannelsItem(NewEnvironmentDataAttributesSlackChann * @return slackChannels */ @jakarta.annotation.Nullable - public List getSlackChannels() { + public List getSlackChannels() { return slackChannels; } - public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { + public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; } - public Functionality slackAliases(@jakarta.annotation.Nullable List slackAliases) { + public Functionality slackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; return this; } - public Functionality addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner slackAliasesItem) { + public Functionality addSlackAliasesItem(EnvironmentSlackAliasesInner slackAliasesItem) { if (this.slackAliases == null) { this.slackAliases = new ArrayList<>(); } @@ -710,11 +710,11 @@ public Functionality addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliase * @return slackAliases */ @jakarta.annotation.Nullable - public List getSlackAliases() { + public List getSlackAliases() { return slackAliases; } - public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { + public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; } @@ -1025,7 +1025,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_channels` (array) for (int i = 0; i < jsonArrayslackChannels.size(); i++) { - NewEnvironmentDataAttributesSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); + EnvironmentSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); }; } } @@ -1039,7 +1039,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_aliases` (array) for (int i = 0; i < jsonArrayslackAliases.size(); i++) { - NewEnvironmentDataAttributesSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); + EnvironmentSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/FunctionalityList.java b/src/main/java/com/rootly/client/model/FunctionalityList.java index 95d508ed..4ce76b57 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityList.java +++ b/src/main/java/com/rootly/client/model/FunctionalityList.java @@ -54,7 +54,7 @@ /** * FunctionalityList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FunctionalityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FunctionalityResponse.java b/src/main/java/com/rootly/client/model/FunctionalityResponse.java index 66abd8ad..db639405 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityResponse.java +++ b/src/main/java/com/rootly/client/model/FunctionalityResponse.java @@ -52,7 +52,7 @@ /** * FunctionalityResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FunctionalityResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/FunctionalityResponseData.java b/src/main/java/com/rootly/client/model/FunctionalityResponseData.java index f727e40b..9d7601b5 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityResponseData.java +++ b/src/main/java/com/rootly/client/model/FunctionalityResponseData.java @@ -49,7 +49,7 @@ /** * FunctionalityResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FunctionalityResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java b/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java index e7b5d05c..33e2316d 100644 --- a/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java +++ b/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java @@ -51,7 +51,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetAlertFieldIdParameter extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(GetAlertFieldIdParameter.class.getName()); diff --git a/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java b/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java index 5d60ee70..6163be5f 100644 --- a/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java @@ -52,7 +52,7 @@ /** * GetAlertsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetAlertsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java index 8afd3677..1a819edd 100644 --- a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGithubCommitsTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(GetGithubCommitsTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf.java index 157b3dd0..adc6b74d 100644 --- a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf.java @@ -50,7 +50,7 @@ /** * GetGithubCommitsTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGithubCommitsTaskParamsAnyOf { public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; @SerializedName(SERIALIZED_NAME_SERVICE_IDS) diff --git a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf1.java b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf1.java index 9fb9464a..1dd1a815 100644 --- a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf1.java +++ b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParamsAnyOf1.java @@ -50,7 +50,7 @@ /** * GetGithubCommitsTaskParamsAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGithubCommitsTaskParamsAnyOf1 { public static final String SERIALIZED_NAME_GITHUB_REPOSITORY_NAMES = "github_repository_names"; @SerializedName(SERIALIZED_NAME_GITHUB_REPOSITORY_NAMES) diff --git a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java index 78a68d2f..7a7c95fb 100644 --- a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGitlabCommitsTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(GetGitlabCommitsTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParamsAnyOf.java index 19542b73..fdd76fd4 100644 --- a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParamsAnyOf.java @@ -50,7 +50,7 @@ /** * GetGitlabCommitsTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGitlabCommitsTaskParamsAnyOf { public static final String SERIALIZED_NAME_GITLAB_REPOSITORY_NAMES = "gitlab_repository_names"; @SerializedName(SERIALIZED_NAME_GITLAB_REPOSITORY_NAMES) diff --git a/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java b/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java index 2d1ae6af..0d3cc76f 100644 --- a/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java @@ -52,7 +52,7 @@ /** * GetPulsesTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetPulsesTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java b/src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java index 7252e0cb..c7e790f1 100644 --- a/src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java +++ b/src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java @@ -48,7 +48,7 @@ /** * A hash where [id] is the task id of the parent task that sent a message, and [name] is the name of the parent task */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetPulsesTaskParamsParentMessageThreadTask { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/GetTeamIdParameter.java b/src/main/java/com/rootly/client/model/GetTeamIdParameter.java index 68886158..f7a7e3aa 100644 --- a/src/main/java/com/rootly/client/model/GetTeamIdParameter.java +++ b/src/main/java/com/rootly/client/model/GetTeamIdParameter.java @@ -51,7 +51,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetTeamIdParameter extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(GetTeamIdParameter.class.getName()); diff --git a/src/main/java/com/rootly/client/model/Heartbeat.java b/src/main/java/com/rootly/client/model/Heartbeat.java index 2a0901ab..0ff14ad0 100644 --- a/src/main/java/com/rootly/client/model/Heartbeat.java +++ b/src/main/java/com/rootly/client/model/Heartbeat.java @@ -51,7 +51,7 @@ /** * Heartbeat */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Heartbeat { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/HeartbeatList.java b/src/main/java/com/rootly/client/model/HeartbeatList.java index 9f1bc832..8c33a35c 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatList.java +++ b/src/main/java/com/rootly/client/model/HeartbeatList.java @@ -54,7 +54,7 @@ /** * HeartbeatList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HeartbeatList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/HeartbeatResponse.java b/src/main/java/com/rootly/client/model/HeartbeatResponse.java index 3b7efc86..0b903314 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatResponse.java +++ b/src/main/java/com/rootly/client/model/HeartbeatResponse.java @@ -52,7 +52,7 @@ /** * HeartbeatResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HeartbeatResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/HeartbeatResponseData.java b/src/main/java/com/rootly/client/model/HeartbeatResponseData.java index 40b9d194..fc98eb9f 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatResponseData.java +++ b/src/main/java/com/rootly/client/model/HeartbeatResponseData.java @@ -49,7 +49,7 @@ /** * HeartbeatResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HeartbeatResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/HttpClientTaskParams.java b/src/main/java/com/rootly/client/model/HttpClientTaskParams.java index d39b8dce..9e0a51a3 100644 --- a/src/main/java/com/rootly/client/model/HttpClientTaskParams.java +++ b/src/main/java/com/rootly/client/model/HttpClientTaskParams.java @@ -23,7 +23,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -51,7 +53,7 @@ /** * HttpClientTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HttpClientTaskParams { /** * Gets or Sets taskType @@ -228,6 +230,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private Integer retryWaitTime = 1; + public static final String SERIALIZED_NAME_EXPECTED_RESPONSE_HEADERS = "expected_response_headers"; + @SerializedName(SERIALIZED_NAME_EXPECTED_RESPONSE_HEADERS) + @jakarta.annotation.Nullable + private Map expectedResponseHeaders = new HashMap<>(); + + public static final String SERIALIZED_NAME_FOLLOW_REDIRECTS = "follow_redirects"; + @SerializedName(SERIALIZED_NAME_FOLLOW_REDIRECTS) + @jakarta.annotation.Nullable + private Boolean followRedirects = true; + public HttpClientTaskParams() { } @@ -486,6 +498,52 @@ public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) } + public HttpClientTaskParams expectedResponseHeaders(@jakarta.annotation.Nullable Map expectedResponseHeaders) { + this.expectedResponseHeaders = expectedResponseHeaders; + return this; + } + + public HttpClientTaskParams putExpectedResponseHeadersItem(String key, String expectedResponseHeadersItem) { + if (this.expectedResponseHeaders == null) { + this.expectedResponseHeaders = new HashMap<>(); + } + this.expectedResponseHeaders.put(key, expectedResponseHeadersItem); + return this; + } + + /** + * Map of valid HTTP header names to regexp patterns. Header names must use HTTP token characters. Task fails if any header value does not match its pattern (case-insensitive). Leave empty to skip validation. + * @return expectedResponseHeaders + */ + @jakarta.annotation.Nullable + public Map getExpectedResponseHeaders() { + return expectedResponseHeaders; + } + + public void setExpectedResponseHeaders(@jakarta.annotation.Nullable Map expectedResponseHeaders) { + this.expectedResponseHeaders = expectedResponseHeaders; + } + + + public HttpClientTaskParams followRedirects(@jakarta.annotation.Nullable Boolean followRedirects) { + this.followRedirects = followRedirects; + return this; + } + + /** + * Whether to follow HTTP 3xx redirects. Defaults to true. Set to false to treat redirect responses as-is. + * @return followRedirects + */ + @jakarta.annotation.Nullable + public Boolean getFollowRedirects() { + return followRedirects; + } + + public void setFollowRedirects(@jakarta.annotation.Nullable Boolean followRedirects) { + this.followRedirects = followRedirects; + } + + @Override public boolean equals(Object o) { @@ -508,12 +566,14 @@ public boolean equals(Object o) { Objects.equals(this.postToIncidentTimeline, httpClientTaskParams.postToIncidentTimeline) && Objects.equals(this.postToSlackChannels, httpClientTaskParams.postToSlackChannels) && Objects.equals(this.retryCount, httpClientTaskParams.retryCount) && - Objects.equals(this.retryWaitTime, httpClientTaskParams.retryWaitTime); + Objects.equals(this.retryWaitTime, httpClientTaskParams.retryWaitTime) && + Objects.equals(this.expectedResponseHeaders, httpClientTaskParams.expectedResponseHeaders) && + Objects.equals(this.followRedirects, httpClientTaskParams.followRedirects); } @Override public int hashCode() { - return Objects.hash(taskType, headers, params, body, url, eventUrl, eventMessage, method, succeedOnStatus, postToIncidentTimeline, postToSlackChannels, retryCount, retryWaitTime); + return Objects.hash(taskType, headers, params, body, url, eventUrl, eventMessage, method, succeedOnStatus, postToIncidentTimeline, postToSlackChannels, retryCount, retryWaitTime, expectedResponseHeaders, followRedirects); } @Override @@ -533,6 +593,8 @@ public String toString() { sb.append(" postToSlackChannels: ").append(toIndentedString(postToSlackChannels)).append("\n"); sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); + sb.append(" expectedResponseHeaders: ").append(toIndentedString(expectedResponseHeaders)).append("\n"); + sb.append(" followRedirects: ").append(toIndentedString(followRedirects)).append("\n"); sb.append("}"); return sb.toString(); } @@ -568,6 +630,8 @@ private String toIndentedString(Object o) { openapiFields.add("post_to_slack_channels"); openapiFields.add("retry_count"); openapiFields.add("retry_wait_time"); + openapiFields.add("expected_response_headers"); + openapiFields.add("follow_redirects"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/ImportMeetingRecording.java b/src/main/java/com/rootly/client/model/ImportMeetingRecording.java index 12a40523..a6a55b55 100644 --- a/src/main/java/com/rootly/client/model/ImportMeetingRecording.java +++ b/src/main/java/com/rootly/client/model/ImportMeetingRecording.java @@ -51,7 +51,7 @@ /** * ImportMeetingRecording */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ImportMeetingRecording { /** * Import source (currently only \"recall_desktop_sdk\") diff --git a/src/main/java/com/rootly/client/model/InTriageIncident.java b/src/main/java/com/rootly/client/model/InTriageIncident.java index 1d38019f..ceafd6d8 100644 --- a/src/main/java/com/rootly/client/model/InTriageIncident.java +++ b/src/main/java/com/rootly/client/model/InTriageIncident.java @@ -49,7 +49,7 @@ /** * InTriageIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InTriageIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/InTriageIncidentData.java b/src/main/java/com/rootly/client/model/InTriageIncidentData.java index eaf2073d..88716cd3 100644 --- a/src/main/java/com/rootly/client/model/InTriageIncidentData.java +++ b/src/main/java/com/rootly/client/model/InTriageIncidentData.java @@ -48,8 +48,13 @@ /** * InTriageIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InTriageIncidentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -108,6 +113,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public InTriageIncidentData() { } + public InTriageIncidentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public InTriageIncidentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -137,18 +161,20 @@ public boolean equals(Object o) { return false; } InTriageIncidentData inTriageIncidentData = (InTriageIncidentData) o; - return Objects.equals(this.type, inTriageIncidentData.type); + return Objects.equals(this.id, inTriageIncidentData.id) && + Objects.equals(this.type, inTriageIncidentData.type); } @Override public int hashCode() { - return Objects.hash(type); + return Objects.hash(id, type); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class InTriageIncidentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); @@ -172,6 +198,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); // a set of required properties/fields (JSON key names) @@ -207,6 +234,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/Incident.java b/src/main/java/com/rootly/client/model/Incident.java index 42de45ea..8e83e74b 100644 --- a/src/main/java/com/rootly/client/model/Incident.java +++ b/src/main/java/com/rootly/client/model/Incident.java @@ -23,8 +23,8 @@ import com.rootly.client.model.FunctionalityResponse; import com.rootly.client.model.IncidentTypeResponse; import com.rootly.client.model.IncidentZoomMeetingGlobalDialInNumbersInner; +import com.rootly.client.model.NullableSeverityResponse; import com.rootly.client.model.ServiceResponse; -import com.rootly.client.model.SeverityResponse; import com.rootly.client.model.TeamResponse; import java.io.IOException; import java.util.ArrayList; @@ -58,7 +58,7 @@ /** * Incident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Incident { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -138,7 +138,7 @@ public class Incident { public static final String SERIALIZED_NAME_SEVERITY = "severity"; @SerializedName(SERIALIZED_NAME_SEVERITY) @jakarta.annotation.Nullable - private SeverityResponse severity; + private NullableSeverityResponse severity; public static final String SERIALIZED_NAME_ENVIRONMENTS = "environments"; @SerializedName(SERIALIZED_NAME_ENVIRONMENTS) @@ -395,6 +395,11 @@ public class Incident { @jakarta.annotation.Nullable private String asanaTaskUrl; + public static final String SERIALIZED_NAME_LINEAR_ISSUE_KEY = "linear_issue_key"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_KEY) + @jakarta.annotation.Nullable + private String linearIssueKey; + public static final String SERIALIZED_NAME_LINEAR_ISSUE_ID = "linear_issue_id"; @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_ID) @jakarta.annotation.Nullable @@ -1078,21 +1083,21 @@ public void setUser(@jakarta.annotation.Nullable Object user) { } - public Incident severity(@jakarta.annotation.Nullable SeverityResponse severity) { + public Incident severity(@jakarta.annotation.Nullable NullableSeverityResponse severity) { this.severity = severity; return this; } /** - * The Severity of the incident + * Get severity * @return severity */ @jakarta.annotation.Nullable - public SeverityResponse getSeverity() { + public NullableSeverityResponse getSeverity() { return severity; } - public void setSeverity(@jakarta.annotation.Nullable SeverityResponse severity) { + public void setSeverity(@jakarta.annotation.Nullable NullableSeverityResponse severity) { this.severity = severity; } @@ -2114,6 +2119,25 @@ public void setAsanaTaskUrl(@jakarta.annotation.Nullable String asanaTaskUrl) { } + public Incident linearIssueKey(@jakarta.annotation.Nullable String linearIssueKey) { + this.linearIssueKey = linearIssueKey; + return this; + } + + /** + * Linear issue key + * @return linearIssueKey + */ + @jakarta.annotation.Nullable + public String getLinearIssueKey() { + return linearIssueKey; + } + + public void setLinearIssueKey(@jakarta.annotation.Nullable String linearIssueKey) { + this.linearIssueKey = linearIssueKey; + } + + public Incident linearIssueId(@jakarta.annotation.Nullable String linearIssueId) { this.linearIssueId = linearIssueId; return this; @@ -3491,6 +3515,7 @@ public boolean equals(Object o) { Objects.equals(this.gitlabIssueUrl, incident.gitlabIssueUrl) && Objects.equals(this.asanaTaskId, incident.asanaTaskId) && Objects.equals(this.asanaTaskUrl, incident.asanaTaskUrl) && + Objects.equals(this.linearIssueKey, incident.linearIssueKey) && Objects.equals(this.linearIssueId, incident.linearIssueId) && Objects.equals(this.linearIssueUrl, incident.linearIssueUrl) && Objects.equals(this.trelloCardId, incident.trelloCardId) && @@ -3567,7 +3592,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(id, sequentialId, title, kind, slug, parentIncidentId, duplicateIncidentId, summary, _private, source, status, url, shortUrl, publicTitle, user, severity, environments, incidentTypes, services, functionalities, groups, labels, slackChannelId, slackChannelName, slackChannelUrl, slackChannelShortUrl, slackChannelDeepLink, slackChannelArchived, slackLastMessageTs, zoomMeetingId, zoomMeetingStartUrl, zoomMeetingJoinUrl, zoomMeetingPassword, zoomMeetingPstnPassword, zoomMeetingH323Password, zoomMeetingGlobalDialInNumbers, googleDriveId, googleDriveParentId, googleDriveUrl, googleMeetingId, googleMeetingUrl, microsoftTeamsMeetingId, microsoftTeamsMeetingUrl, microsoftTeamsChannelId, microsoftTeamsChannelName, microsoftTeamsChannelUrl, microsoftTeamsChannelShortUrl, microsoftTeamsChatId, microsoftTeamsChatUrl, microsoftTeamsTeamId, googleChatSpaceId, googleChatSpaceName, googleChatSpaceUrl, googleChatSpaceShortUrl, googleChatSpaceArchived, googleChatSpaceDomainId, webexMeetingId, webexMeetingUrl, jiraIssueKey, jiraIssueId, jiraIssueUrl, githubIssueId, githubIssueUrl, gitlabIssueId, gitlabIssueUrl, asanaTaskId, asanaTaskUrl, linearIssueId, linearIssueUrl, trelloCardId, trelloCardUrl, zendeskTicketId, zendeskTicketUrl, pagerdutyIncidentId, pagerdutyIncidentNumber, pagerdutyIncidentUrl, opsgenieIncidentId, opsgenieIncidentUrl, opsgenieAlertId, opsgenieAlertUrl, serviceNowIncidentId, serviceNowIncidentKey, serviceNowIncidentUrl, mattermostChannelId, mattermostChannelName, mattermostChannelUrl, confluencePageId, confluencePageUrl, datadogNotebookId, datadogNotebookUrl, shortcutStoryId, shortcutStoryUrl, shortcutTaskId, shortcutTaskUrl, motionTaskId, motionTaskUrl, clickupTaskId, clickupTaskUrl, victorOpsIncidentId, victorOpsIncidentUrl, quipPageId, quipPageUrl, sharepointPageId, sharepointPageUrl, airtableBaseKey, airtableTableName, airtableRecordId, airtableRecordUrl, freshserviceTicketId, freshserviceTicketUrl, freshserviceTaskId, freshserviceTaskUrl, mitigationMessage, resolutionMessage, cancellationMessage, scheduledFor, scheduledUntil, mutedServiceIds, retrospectiveProgressStatus, inTriageBy, startedBy, mitigatedBy, resolvedBy, closedBy, cancelledBy, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt, createdAt, updatedAt); + return Objects.hash(id, sequentialId, title, kind, slug, parentIncidentId, duplicateIncidentId, summary, _private, source, status, url, shortUrl, publicTitle, user, severity, environments, incidentTypes, services, functionalities, groups, labels, slackChannelId, slackChannelName, slackChannelUrl, slackChannelShortUrl, slackChannelDeepLink, slackChannelArchived, slackLastMessageTs, zoomMeetingId, zoomMeetingStartUrl, zoomMeetingJoinUrl, zoomMeetingPassword, zoomMeetingPstnPassword, zoomMeetingH323Password, zoomMeetingGlobalDialInNumbers, googleDriveId, googleDriveParentId, googleDriveUrl, googleMeetingId, googleMeetingUrl, microsoftTeamsMeetingId, microsoftTeamsMeetingUrl, microsoftTeamsChannelId, microsoftTeamsChannelName, microsoftTeamsChannelUrl, microsoftTeamsChannelShortUrl, microsoftTeamsChatId, microsoftTeamsChatUrl, microsoftTeamsTeamId, googleChatSpaceId, googleChatSpaceName, googleChatSpaceUrl, googleChatSpaceShortUrl, googleChatSpaceArchived, googleChatSpaceDomainId, webexMeetingId, webexMeetingUrl, jiraIssueKey, jiraIssueId, jiraIssueUrl, githubIssueId, githubIssueUrl, gitlabIssueId, gitlabIssueUrl, asanaTaskId, asanaTaskUrl, linearIssueKey, linearIssueId, linearIssueUrl, trelloCardId, trelloCardUrl, zendeskTicketId, zendeskTicketUrl, pagerdutyIncidentId, pagerdutyIncidentNumber, pagerdutyIncidentUrl, opsgenieIncidentId, opsgenieIncidentUrl, opsgenieAlertId, opsgenieAlertUrl, serviceNowIncidentId, serviceNowIncidentKey, serviceNowIncidentUrl, mattermostChannelId, mattermostChannelName, mattermostChannelUrl, confluencePageId, confluencePageUrl, datadogNotebookId, datadogNotebookUrl, shortcutStoryId, shortcutStoryUrl, shortcutTaskId, shortcutTaskUrl, motionTaskId, motionTaskUrl, clickupTaskId, clickupTaskUrl, victorOpsIncidentId, victorOpsIncidentUrl, quipPageId, quipPageUrl, sharepointPageId, sharepointPageUrl, airtableBaseKey, airtableTableName, airtableRecordId, airtableRecordUrl, freshserviceTicketId, freshserviceTicketUrl, freshserviceTaskId, freshserviceTaskUrl, mitigationMessage, resolutionMessage, cancellationMessage, scheduledFor, scheduledUntil, mutedServiceIds, retrospectiveProgressStatus, inTriageBy, startedBy, mitigatedBy, resolvedBy, closedBy, cancelledBy, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -3648,6 +3673,7 @@ public String toString() { sb.append(" gitlabIssueUrl: ").append(toIndentedString(gitlabIssueUrl)).append("\n"); sb.append(" asanaTaskId: ").append(toIndentedString(asanaTaskId)).append("\n"); sb.append(" asanaTaskUrl: ").append(toIndentedString(asanaTaskUrl)).append("\n"); + sb.append(" linearIssueKey: ").append(toIndentedString(linearIssueKey)).append("\n"); sb.append(" linearIssueId: ").append(toIndentedString(linearIssueId)).append("\n"); sb.append(" linearIssueUrl: ").append(toIndentedString(linearIssueUrl)).append("\n"); sb.append(" trelloCardId: ").append(toIndentedString(trelloCardId)).append("\n"); @@ -3805,6 +3831,7 @@ private String toIndentedString(Object o) { openapiFields.add("gitlab_issue_url"); openapiFields.add("asana_task_id"); openapiFields.add("asana_task_url"); + openapiFields.add("linear_issue_key"); openapiFields.add("linear_issue_id"); openapiFields.add("linear_issue_url"); openapiFields.add("trello_card_id"); @@ -3947,7 +3974,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the optional field `severity` if (jsonObj.get("severity") != null && !jsonObj.get("severity").isJsonNull()) { - SeverityResponse.validateJsonElement(jsonObj.get("severity")); + NullableSeverityResponse.validateJsonElement(jsonObj.get("severity")); } if (jsonObj.get("environments") != null && !jsonObj.get("environments").isJsonNull()) { JsonArray jsonArrayenvironments = jsonObj.getAsJsonArray("environments"); @@ -4159,6 +4186,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("asana_task_url") != null && !jsonObj.get("asana_task_url").isJsonNull()) && !jsonObj.get("asana_task_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `asana_task_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("asana_task_url").toString())); } + if ((jsonObj.get("linear_issue_key") != null && !jsonObj.get("linear_issue_key").isJsonNull()) && !jsonObj.get("linear_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_key").toString())); + } if ((jsonObj.get("linear_issue_id") != null && !jsonObj.get("linear_issue_id").isJsonNull()) && !jsonObj.get("linear_issue_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `linear_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_id").toString())); } diff --git a/src/main/java/com/rootly/client/model/IncidentActionItem.java b/src/main/java/com/rootly/client/model/IncidentActionItem.java index bbb4b5be..6bc51044 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItem.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItem.java @@ -52,7 +52,7 @@ /** * IncidentActionItem */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentActionItem { public static final String SERIALIZED_NAME_SUMMARY = "summary"; @SerializedName(SERIALIZED_NAME_SUMMARY) diff --git a/src/main/java/com/rootly/client/model/IncidentActionItemList.java b/src/main/java/com/rootly/client/model/IncidentActionItemList.java index efe29219..49c23456 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemList.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemList.java @@ -54,7 +54,7 @@ /** * IncidentActionItemList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentActionItemList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java b/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java index 48d454c8..688beef6 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java @@ -52,7 +52,7 @@ /** * IncidentActionItemResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentActionItemResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentActionItemResponseData.java b/src/main/java/com/rootly/client/model/IncidentActionItemResponseData.java index dcb0dcdf..88a1e5b0 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemResponseData.java @@ -49,7 +49,7 @@ /** * IncidentActionItemResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentActionItemResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelection.java b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelection.java index 84162637..0ba32696 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelection.java @@ -50,7 +50,7 @@ /** * IncidentCustomFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentCustomFieldSelection { public static final String SERIALIZED_NAME_INCIDENT_ID = "incident_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java index 1080bcd7..9e2a709f 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java @@ -54,7 +54,7 @@ /** * IncidentCustomFieldSelectionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentCustomFieldSelectionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java index 18b7461b..014ea1d9 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java @@ -52,7 +52,7 @@ /** * IncidentCustomFieldSelectionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentCustomFieldSelectionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseData.java b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseData.java index 25d10bf2..f8c737e7 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseData.java @@ -49,7 +49,7 @@ /** * IncidentCustomFieldSelectionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentCustomFieldSelectionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentEvent.java b/src/main/java/com/rootly/client/model/IncidentEvent.java index f1a6d965..047b0e83 100644 --- a/src/main/java/com/rootly/client/model/IncidentEvent.java +++ b/src/main/java/com/rootly/client/model/IncidentEvent.java @@ -48,7 +48,7 @@ /** * IncidentEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEvent { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/IncidentEventFunctionality.java b/src/main/java/com/rootly/client/model/IncidentEventFunctionality.java index c17f151c..2e151974 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionality.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionality.java @@ -48,7 +48,7 @@ /** * IncidentEventFunctionality */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventFunctionality { public static final String SERIALIZED_NAME_INCIDENT_EVENT_ID = "incident_event_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_EVENT_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java index bef01659..ea927531 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java @@ -54,7 +54,7 @@ /** * IncidentEventFunctionalityList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventFunctionalityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java index 31757743..7ef0d11f 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java @@ -52,7 +52,7 @@ /** * IncidentEventFunctionalityResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventFunctionalityResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponseData.java b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponseData.java index 73746061..9d39bc5d 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponseData.java @@ -49,7 +49,7 @@ /** * IncidentEventFunctionalityResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventFunctionalityResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentEventList.java b/src/main/java/com/rootly/client/model/IncidentEventList.java index bf010040..94721637 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventList.java @@ -54,7 +54,7 @@ /** * IncidentEventList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentEventResponse.java b/src/main/java/com/rootly/client/model/IncidentEventResponse.java index a9fe96dc..e2019a27 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventResponse.java @@ -52,7 +52,7 @@ /** * IncidentEventResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentEventResponseData.java b/src/main/java/com/rootly/client/model/IncidentEventResponseData.java index afbd6df6..20a50f07 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentEventResponseData.java @@ -49,7 +49,7 @@ /** * IncidentEventResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentEventService.java b/src/main/java/com/rootly/client/model/IncidentEventService.java index a4d39f51..8dcb01d1 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventService.java +++ b/src/main/java/com/rootly/client/model/IncidentEventService.java @@ -48,7 +48,7 @@ /** * IncidentEventService */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventService { public static final String SERIALIZED_NAME_INCIDENT_EVENT_ID = "incident_event_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_EVENT_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentEventServiceList.java b/src/main/java/com/rootly/client/model/IncidentEventServiceList.java index 969bbdc7..58c32fbd 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceList.java @@ -54,7 +54,7 @@ /** * IncidentEventServiceList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventServiceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java b/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java index fbb2385e..b8b939ad 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java @@ -52,7 +52,7 @@ /** * IncidentEventServiceResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventServiceResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentEventServiceResponseData.java b/src/main/java/com/rootly/client/model/IncidentEventServiceResponseData.java index fbe8a3bd..3ea12a76 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceResponseData.java @@ -49,7 +49,7 @@ /** * IncidentEventServiceResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventServiceResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentFeedback.java b/src/main/java/com/rootly/client/model/IncidentFeedback.java index 7c081b3f..13c5d24f 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedback.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedback.java @@ -48,7 +48,7 @@ /** * IncidentFeedback */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFeedback { public static final String SERIALIZED_NAME_FEEDBACK = "feedback"; @SerializedName(SERIALIZED_NAME_FEEDBACK) diff --git a/src/main/java/com/rootly/client/model/IncidentFeedbackList.java b/src/main/java/com/rootly/client/model/IncidentFeedbackList.java index 5c3d70d7..ab7b7344 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackList.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackList.java @@ -54,7 +54,7 @@ /** * IncidentFeedbackList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFeedbackList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java b/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java index 666b866d..2b6e61f4 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java @@ -52,7 +52,7 @@ /** * IncidentFeedbackResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFeedbackResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentFeedbackResponseData.java b/src/main/java/com/rootly/client/model/IncidentFeedbackResponseData.java index 47783866..ca4b065a 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackResponseData.java @@ -49,7 +49,7 @@ /** * IncidentFeedbackResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFeedbackResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentFormFieldSelection.java b/src/main/java/com/rootly/client/model/IncidentFormFieldSelection.java index df95f430..449a22e3 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelection.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelection.java @@ -51,7 +51,7 @@ /** * IncidentFormFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFormFieldSelection { public static final String SERIALIZED_NAME_INCIDENT_ID = "incident_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java index 483a2724..80b0e2ed 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java @@ -54,7 +54,7 @@ /** * IncidentFormFieldSelectionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFormFieldSelectionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java index 77736244..3f9909d5 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java @@ -52,7 +52,7 @@ /** * IncidentFormFieldSelectionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFormFieldSelectionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponseData.java b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponseData.java index 439c452f..b5dd3413 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponseData.java @@ -49,7 +49,7 @@ /** * IncidentFormFieldSelectionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFormFieldSelectionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentList.java b/src/main/java/com/rootly/client/model/IncidentList.java index 5d5b7476..0d2a754c 100644 --- a/src/main/java/com/rootly/client/model/IncidentList.java +++ b/src/main/java/com/rootly/client/model/IncidentList.java @@ -54,7 +54,7 @@ /** * IncidentList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSet.java b/src/main/java/com/rootly/client/model/IncidentPermissionSet.java index 300be7d0..baba7236 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSet.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSet.java @@ -51,7 +51,7 @@ /** * IncidentPermissionSet */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSet { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java index f84933c0..235c9849 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java @@ -48,7 +48,7 @@ /** * IncidentPermissionSetBoolean */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetBoolean { public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java index fb568be6..336fefc0 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java @@ -54,7 +54,7 @@ /** * IncidentPermissionSetBooleanList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetBooleanList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java index 1467250d..45e348e3 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java @@ -52,7 +52,7 @@ /** * IncidentPermissionSetBooleanResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetBooleanResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseData.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseData.java index 8dec432b..3bf8ecb3 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseData.java @@ -49,7 +49,7 @@ /** * IncidentPermissionSetBooleanResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetBooleanResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java index 0507a813..1cb61cde 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java @@ -54,7 +54,7 @@ /** * IncidentPermissionSetList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java index edbd9ddb..b2efeef5 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java @@ -48,7 +48,7 @@ /** * IncidentPermissionSetResource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResource { public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java index 0fc653b8..aff30cc5 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java @@ -54,7 +54,7 @@ /** * IncidentPermissionSetResourceList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResourceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java index 6582b550..1e9b2477 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java @@ -52,7 +52,7 @@ /** * IncidentPermissionSetResourceResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResourceResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponseData.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponseData.java index 59e0e551..285a1cf1 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponseData.java @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResourceResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResourceResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java index 526e8b6f..e2b8b663 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java @@ -52,7 +52,7 @@ /** * IncidentPermissionSetResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponseData.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponseData.java index e7e367bf..8010269d 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponseData.java @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentPostMortem.java b/src/main/java/com/rootly/client/model/IncidentPostMortem.java index f3666455..8eab1a15 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortem.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortem.java @@ -49,7 +49,7 @@ /** * IncidentPostMortem */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPostMortem { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/IncidentPostMortemList.java b/src/main/java/com/rootly/client/model/IncidentPostMortemList.java index b52859f7..a841b9fa 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemList.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemList.java @@ -54,7 +54,7 @@ /** * IncidentPostMortemList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPostMortemList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java b/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java index 19778b61..21ddd2ea 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java @@ -52,7 +52,7 @@ /** * IncidentPostMortemResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPostMortemResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentPostMortemResponseData.java b/src/main/java/com/rootly/client/model/IncidentPostMortemResponseData.java index 87194e83..1b1966bd 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemResponseData.java @@ -49,7 +49,7 @@ /** * IncidentPostMortemResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPostMortemResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentResponse.java b/src/main/java/com/rootly/client/model/IncidentResponse.java index 3372a1a5..11e3cf03 100644 --- a/src/main/java/com/rootly/client/model/IncidentResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentResponse.java @@ -52,7 +52,7 @@ /** * IncidentResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentResponseData.java b/src/main/java/com/rootly/client/model/IncidentResponseData.java index 7a645b8b..49f3642a 100644 --- a/src/main/java/com/rootly/client/model/IncidentResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentResponseData.java @@ -49,7 +49,7 @@ /** * IncidentResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStep.java b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStep.java index 75d5afb2..e6d65ca1 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStep.java @@ -49,7 +49,7 @@ /** * IncidentRetrospectiveStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRetrospectiveStep { public static final String SERIALIZED_NAME_RETROSPECTIVE_STEP_ID = "retrospective_step_id"; @SerializedName(SERIALIZED_NAME_RETROSPECTIVE_STEP_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java index 9c690929..4ad1f151 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java @@ -52,7 +52,7 @@ /** * IncidentRetrospectiveStepResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRetrospectiveStepResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponseData.java b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponseData.java index bb85b7d2..cff949ee 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponseData.java @@ -49,7 +49,7 @@ /** * IncidentRetrospectiveStepResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRetrospectiveStepResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentRole.java b/src/main/java/com/rootly/client/model/IncidentRole.java index bf6e2c75..e712c5ef 100644 --- a/src/main/java/com/rootly/client/model/IncidentRole.java +++ b/src/main/java/com/rootly/client/model/IncidentRole.java @@ -49,7 +49,7 @@ /** * IncidentRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRole { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleList.java b/src/main/java/com/rootly/client/model/IncidentRoleList.java index f95d900f..f23b499d 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleList.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleList.java @@ -54,7 +54,7 @@ /** * IncidentRoleList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleResponse.java b/src/main/java/com/rootly/client/model/IncidentRoleResponse.java index d1f9ab31..0732992d 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleResponse.java @@ -52,7 +52,7 @@ /** * IncidentRoleResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleResponseData.java b/src/main/java/com/rootly/client/model/IncidentRoleResponseData.java index 204bb9dc..5f7297b1 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleResponseData.java @@ -49,7 +49,7 @@ /** * IncidentRoleResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleTask.java b/src/main/java/com/rootly/client/model/IncidentRoleTask.java index 63d4cec7..8a33f575 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTask.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTask.java @@ -49,7 +49,7 @@ /** * IncidentRoleTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleTask { public static final String SERIALIZED_NAME_INCIDENT_ROLE_ID = "incident_role_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ROLE_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java b/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java index d458975a..5af61fb2 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java @@ -54,7 +54,7 @@ /** * IncidentRoleTaskList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleTaskList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java index c82b6773..3d8023bf 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java @@ -52,7 +52,7 @@ /** * IncidentRoleTaskResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleTaskResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponseData.java b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponseData.java index beae122e..983038e7 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponseData.java @@ -49,7 +49,7 @@ /** * IncidentRoleTaskResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleTaskResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java index 80ddc64f..2fe6de49 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java @@ -51,7 +51,7 @@ /** * IncidentStatusPageEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEvent { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java index 48675fa5..620c0280 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java @@ -54,7 +54,7 @@ /** * IncidentStatusPageEventList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEventList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java index e1f0cb5d..87dc753f 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java @@ -52,7 +52,7 @@ /** * IncidentStatusPageEventResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEventResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponseData.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponseData.java index 804a43c4..289b0476 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponseData.java @@ -49,7 +49,7 @@ /** * IncidentStatusPageEventResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEventResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEventStatusPageComponentsInner.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEventStatusPageComponentsInner.java index 91832820..bc3a3e9a 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventStatusPageComponentsInner.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventStatusPageComponentsInner.java @@ -49,7 +49,7 @@ /** * IncidentStatusPageEventStatusPageComponentsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEventStatusPageComponentsInner { public static final String SERIALIZED_NAME_STATUS_PAGE_COMPONENT_ID = "status_page_component_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_COMPONENT_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentSubStatus.java b/src/main/java/com/rootly/client/model/IncidentSubStatus.java index 2bcdf8b0..b355f4c9 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatus.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatus.java @@ -49,7 +49,7 @@ /** * IncidentSubStatus */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentSubStatus { public static final String SERIALIZED_NAME_INCIDENT_ID = "incident_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentSubStatusList.java b/src/main/java/com/rootly/client/model/IncidentSubStatusList.java index 78b53a0c..fd010cfa 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusList.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusList.java @@ -54,7 +54,7 @@ /** * IncidentSubStatusList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentSubStatusList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java b/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java index 87e801ee..9c0ab489 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java @@ -52,7 +52,7 @@ /** * IncidentSubStatusResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentSubStatusResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentSubStatusResponseData.java b/src/main/java/com/rootly/client/model/IncidentSubStatusResponseData.java index d9fe9343..e555ed25 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusResponseData.java @@ -49,7 +49,7 @@ /** * IncidentSubStatusResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentSubStatusResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentTriggerParams.java b/src/main/java/com/rootly/client/model/IncidentTriggerParams.java index b1ad3cc8..06c3017d 100644 --- a/src/main/java/com/rootly/client/model/IncidentTriggerParams.java +++ b/src/main/java/com/rootly/client/model/IncidentTriggerParams.java @@ -51,7 +51,7 @@ /** * IncidentTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTriggerParams { /** * Gets or Sets triggerType @@ -1674,6 +1674,120 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private IncidentConditionResolvedAtEnum incidentConditionResolvedAt; + /** + * Gets or Sets incidentConditionScheduledFor + */ + @JsonAdapter(IncidentConditionScheduledForEnum.Adapter.class) + public enum IncidentConditionScheduledForEnum { + SET("SET"), + + UNSET("UNSET"); + + private String value; + + IncidentConditionScheduledForEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentConditionScheduledForEnum fromValue(String value) { + for (IncidentConditionScheduledForEnum b : IncidentConditionScheduledForEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncidentConditionScheduledForEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentConditionScheduledForEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentConditionScheduledForEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentConditionScheduledForEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_FOR = "incident_condition_scheduled_for"; + @SerializedName(SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_FOR) + @jakarta.annotation.Nullable + private IncidentConditionScheduledForEnum incidentConditionScheduledFor; + + /** + * Gets or Sets incidentConditionScheduledUntil + */ + @JsonAdapter(IncidentConditionScheduledUntilEnum.Adapter.class) + public enum IncidentConditionScheduledUntilEnum { + SET("SET"), + + UNSET("UNSET"); + + private String value; + + IncidentConditionScheduledUntilEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentConditionScheduledUntilEnum fromValue(String value) { + for (IncidentConditionScheduledUntilEnum b : IncidentConditionScheduledUntilEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncidentConditionScheduledUntilEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentConditionScheduledUntilEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentConditionScheduledUntilEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentConditionScheduledUntilEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_UNTIL = "incident_condition_scheduled_until"; + @SerializedName(SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_UNTIL) + @jakarta.annotation.Nullable + private IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil; + /** * Gets or Sets incidentConditionalInactivity */ @@ -2323,6 +2437,44 @@ public void setIncidentConditionResolvedAt(@jakarta.annotation.Nullable Incident } + public IncidentTriggerParams incidentConditionScheduledFor(@jakarta.annotation.Nullable IncidentConditionScheduledForEnum incidentConditionScheduledFor) { + this.incidentConditionScheduledFor = incidentConditionScheduledFor; + return this; + } + + /** + * Get incidentConditionScheduledFor + * @return incidentConditionScheduledFor + */ + @jakarta.annotation.Nullable + public IncidentConditionScheduledForEnum getIncidentConditionScheduledFor() { + return incidentConditionScheduledFor; + } + + public void setIncidentConditionScheduledFor(@jakarta.annotation.Nullable IncidentConditionScheduledForEnum incidentConditionScheduledFor) { + this.incidentConditionScheduledFor = incidentConditionScheduledFor; + } + + + public IncidentTriggerParams incidentConditionScheduledUntil(@jakarta.annotation.Nullable IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil) { + this.incidentConditionScheduledUntil = incidentConditionScheduledUntil; + return this; + } + + /** + * Get incidentConditionScheduledUntil + * @return incidentConditionScheduledUntil + */ + @jakarta.annotation.Nullable + public IncidentConditionScheduledUntilEnum getIncidentConditionScheduledUntil() { + return incidentConditionScheduledUntil; + } + + public void setIncidentConditionScheduledUntil(@jakarta.annotation.Nullable IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil) { + this.incidentConditionScheduledUntil = incidentConditionScheduledUntil; + } + + public IncidentTriggerParams incidentConditionalInactivity(@jakarta.annotation.Nullable IncidentConditionalInactivityEnum incidentConditionalInactivity) { this.incidentConditionalInactivity = incidentConditionalInactivity; return this; @@ -2381,6 +2533,8 @@ public boolean equals(Object o) { Objects.equals(this.incidentConditionAcknowledgedAt, incidentTriggerParams.incidentConditionAcknowledgedAt) && Objects.equals(this.incidentConditionMitigatedAt, incidentTriggerParams.incidentConditionMitigatedAt) && Objects.equals(this.incidentConditionResolvedAt, incidentTriggerParams.incidentConditionResolvedAt) && + Objects.equals(this.incidentConditionScheduledFor, incidentTriggerParams.incidentConditionScheduledFor) && + Objects.equals(this.incidentConditionScheduledUntil, incidentTriggerParams.incidentConditionScheduledUntil) && Objects.equals(this.incidentConditionalInactivity, incidentTriggerParams.incidentConditionalInactivity); } @@ -2390,7 +2544,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(triggerType, triggers, incidentVisibilities, incidentKinds, incidentStatuses, incidentInactivityDuration, incidentCondition, incidentConditionVisibility, incidentConditionKind, incidentConditionStatus, incidentConditionSubStatus, incidentConditionEnvironment, incidentConditionSeverity, incidentConditionIncidentType, incidentConditionIncidentRoles, incidentConditionService, incidentConditionFunctionality, incidentConditionGroup, incidentConditionCause, incidentConditionLabel, incidentConditionLabelUseRegexp, incidentLabels, incidentPostMortemConditionCause, incidentConditionSummary, incidentConditionStartedAt, incidentConditionDetectedAt, incidentConditionAcknowledgedAt, incidentConditionMitigatedAt, incidentConditionResolvedAt, incidentConditionalInactivity); + return Objects.hash(triggerType, triggers, incidentVisibilities, incidentKinds, incidentStatuses, incidentInactivityDuration, incidentCondition, incidentConditionVisibility, incidentConditionKind, incidentConditionStatus, incidentConditionSubStatus, incidentConditionEnvironment, incidentConditionSeverity, incidentConditionIncidentType, incidentConditionIncidentRoles, incidentConditionService, incidentConditionFunctionality, incidentConditionGroup, incidentConditionCause, incidentConditionLabel, incidentConditionLabelUseRegexp, incidentLabels, incidentPostMortemConditionCause, incidentConditionSummary, incidentConditionStartedAt, incidentConditionDetectedAt, incidentConditionAcknowledgedAt, incidentConditionMitigatedAt, incidentConditionResolvedAt, incidentConditionScheduledFor, incidentConditionScheduledUntil, incidentConditionalInactivity); } private static int hashCodeNullable(JsonNullable a) { @@ -2433,6 +2587,8 @@ public String toString() { sb.append(" incidentConditionAcknowledgedAt: ").append(toIndentedString(incidentConditionAcknowledgedAt)).append("\n"); sb.append(" incidentConditionMitigatedAt: ").append(toIndentedString(incidentConditionMitigatedAt)).append("\n"); sb.append(" incidentConditionResolvedAt: ").append(toIndentedString(incidentConditionResolvedAt)).append("\n"); + sb.append(" incidentConditionScheduledFor: ").append(toIndentedString(incidentConditionScheduledFor)).append("\n"); + sb.append(" incidentConditionScheduledUntil: ").append(toIndentedString(incidentConditionScheduledUntil)).append("\n"); sb.append(" incidentConditionalInactivity: ").append(toIndentedString(incidentConditionalInactivity)).append("\n"); sb.append("}"); return sb.toString(); @@ -2485,6 +2641,8 @@ private String toIndentedString(Object o) { openapiFields.add("incident_condition_acknowledged_at"); openapiFields.add("incident_condition_mitigated_at"); openapiFields.add("incident_condition_resolved_at"); + openapiFields.add("incident_condition_scheduled_for"); + openapiFields.add("incident_condition_scheduled_until"); openapiFields.add("incident_conditional_inactivity"); // a set of required properties/fields (JSON key names) @@ -2695,6 +2853,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("incident_condition_resolved_at") != null && !jsonObj.get("incident_condition_resolved_at").isJsonNull()) { IncidentConditionResolvedAtEnum.validateJsonElement(jsonObj.get("incident_condition_resolved_at")); } + if ((jsonObj.get("incident_condition_scheduled_for") != null && !jsonObj.get("incident_condition_scheduled_for").isJsonNull()) && !jsonObj.get("incident_condition_scheduled_for").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_condition_scheduled_for` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_condition_scheduled_for").toString())); + } + // validate the optional field `incident_condition_scheduled_for` + if (jsonObj.get("incident_condition_scheduled_for") != null && !jsonObj.get("incident_condition_scheduled_for").isJsonNull()) { + IncidentConditionScheduledForEnum.validateJsonElement(jsonObj.get("incident_condition_scheduled_for")); + } + if ((jsonObj.get("incident_condition_scheduled_until") != null && !jsonObj.get("incident_condition_scheduled_until").isJsonNull()) && !jsonObj.get("incident_condition_scheduled_until").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_condition_scheduled_until` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_condition_scheduled_until").toString())); + } + // validate the optional field `incident_condition_scheduled_until` + if (jsonObj.get("incident_condition_scheduled_until") != null && !jsonObj.get("incident_condition_scheduled_until").isJsonNull()) { + IncidentConditionScheduledUntilEnum.validateJsonElement(jsonObj.get("incident_condition_scheduled_until")); + } if ((jsonObj.get("incident_conditional_inactivity") != null && !jsonObj.get("incident_conditional_inactivity").isJsonNull()) && !jsonObj.get("incident_conditional_inactivity").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `incident_conditional_inactivity` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_conditional_inactivity").toString())); } diff --git a/src/main/java/com/rootly/client/model/IncidentType.java b/src/main/java/com/rootly/client/model/IncidentType.java index ed33c24d..3c8117ae 100644 --- a/src/main/java/com/rootly/client/model/IncidentType.java +++ b/src/main/java/com/rootly/client/model/IncidentType.java @@ -19,9 +19,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -54,7 +54,7 @@ /** * IncidentType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentType { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -94,12 +94,12 @@ public class IncidentType { public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @jakarta.annotation.Nullable - private List slackChannels; + private List slackChannels; public static final String SERIALIZED_NAME_SLACK_ALIASES = "slack_aliases"; @SerializedName(SERIALIZED_NAME_SLACK_ALIASES) @jakarta.annotation.Nullable - private List slackAliases; + private List slackAliases; public static final String SERIALIZED_NAME_PROPERTIES = "properties"; @SerializedName(SERIALIZED_NAME_PROPERTIES) @@ -259,12 +259,12 @@ public void setNotifyEmails(@jakarta.annotation.Nullable List notifyEmai } - public IncidentType slackChannels(@jakarta.annotation.Nullable List slackChannels) { + public IncidentType slackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; } - public IncidentType addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner slackChannelsItem) { + public IncidentType addSlackChannelsItem(EnvironmentSlackChannelsInner slackChannelsItem) { if (this.slackChannels == null) { this.slackChannels = new ArrayList<>(); } @@ -277,21 +277,21 @@ public IncidentType addSlackChannelsItem(NewEnvironmentDataAttributesSlackChanne * @return slackChannels */ @jakarta.annotation.Nullable - public List getSlackChannels() { + public List getSlackChannels() { return slackChannels; } - public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { + public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; } - public IncidentType slackAliases(@jakarta.annotation.Nullable List slackAliases) { + public IncidentType slackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; return this; } - public IncidentType addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner slackAliasesItem) { + public IncidentType addSlackAliasesItem(EnvironmentSlackAliasesInner slackAliasesItem) { if (this.slackAliases == null) { this.slackAliases = new ArrayList<>(); } @@ -304,11 +304,11 @@ public IncidentType addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliases * @return slackAliases */ @jakarta.annotation.Nullable - public List getSlackAliases() { + public List getSlackAliases() { return slackAliases; } - public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { + public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; } @@ -533,7 +533,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_channels` (array) for (int i = 0; i < jsonArrayslackChannels.size(); i++) { - NewEnvironmentDataAttributesSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); + EnvironmentSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); }; } } @@ -547,7 +547,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_aliases` (array) for (int i = 0; i < jsonArrayslackAliases.size(); i++) { - NewEnvironmentDataAttributesSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); + EnvironmentSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/IncidentTypeList.java b/src/main/java/com/rootly/client/model/IncidentTypeList.java index dc84d487..86f08dae 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeList.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeList.java @@ -54,7 +54,7 @@ /** * IncidentTypeList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTypeList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentTypeResponse.java b/src/main/java/com/rootly/client/model/IncidentTypeResponse.java index 92e701e7..7c1f6bb5 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeResponse.java @@ -52,7 +52,7 @@ /** * IncidentTypeResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTypeResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IncidentTypeResponseData.java b/src/main/java/com/rootly/client/model/IncidentTypeResponseData.java index 7e75c446..f72e5638 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeResponseData.java @@ -49,7 +49,7 @@ /** * IncidentTypeResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTypeResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java b/src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java index 0d3653fc..f2bc8b06 100644 --- a/src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java +++ b/src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java @@ -48,7 +48,7 @@ /** * IncidentZoomMeetingGlobalDialInNumbersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentZoomMeetingGlobalDialInNumbersInner { public static final String SERIALIZED_NAME_COUNTRY = "country"; @SerializedName(SERIALIZED_NAME_COUNTRY) diff --git a/src/main/java/com/rootly/client/model/IncidentsChartResponse.java b/src/main/java/com/rootly/client/model/IncidentsChartResponse.java index 765ce7e2..6c2b6e66 100644 --- a/src/main/java/com/rootly/client/model/IncidentsChartResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentsChartResponse.java @@ -48,7 +48,7 @@ /** * IncidentsChartResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentsChartResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/InviteToGoogleChatSpaceTaskParams.java b/src/main/java/com/rootly/client/model/InviteToGoogleChatSpaceTaskParams.java index ba38b334..eaea7bda 100644 --- a/src/main/java/com/rootly/client/model/InviteToGoogleChatSpaceTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToGoogleChatSpaceTaskParams.java @@ -49,7 +49,7 @@ /** * InviteToGoogleChatSpaceTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToGoogleChatSpaceTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelRootlyTaskParams.java b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelRootlyTaskParams.java index dea52bab..1aa771c1 100644 --- a/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelRootlyTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelRootlyTaskParams.java @@ -49,7 +49,7 @@ /** * InviteToMicrosoftTeamsChannelRootlyTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToMicrosoftTeamsChannelRootlyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java index 5abdc761..6c2bd867 100644 --- a/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java @@ -49,7 +49,7 @@ /** * InviteToMicrosoftTeamsChannelTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToMicrosoftTeamsChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java index 6317a813..af720f81 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java @@ -51,7 +51,7 @@ /** * InviteToSlackChannelOpsgenieTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelOpsgenieTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java index 811b0e53..94f08efc 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelPagerdutyTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(InviteToSlackChannelPagerdutyTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java index 971b6360..ee49a4fb 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java @@ -51,7 +51,7 @@ /** * InviteToSlackChannelRootlyTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelRootlyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java index f782fb8b..5efc1f50 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(InviteToSlackChannelTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf.java index 8307a13f..655f65cd 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf.java @@ -51,7 +51,7 @@ /** * InviteToSlackChannelTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelTaskParamsAnyOf { public static final String SERIALIZED_NAME_SLACK_USERS = "slack_users"; @SerializedName(SERIALIZED_NAME_SLACK_USERS) diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf1.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf1.java index 4a1b243f..614e5dd7 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf1.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf1.java @@ -51,7 +51,7 @@ /** * InviteToSlackChannelTaskParamsAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelTaskParamsAnyOf1 { public static final String SERIALIZED_NAME_SLACK_USER_GROUPS = "slack_user_groups"; @SerializedName(SERIALIZED_NAME_SLACK_USER_GROUPS) diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf2.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf2.java index ebe91e4a..dc468afd 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf2.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParamsAnyOf2.java @@ -48,7 +48,7 @@ /** * InviteToSlackChannelTaskParamsAnyOf2 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelTaskParamsAnyOf2 { public static final String SERIALIZED_NAME_SLACK_EMAILS = "slack_emails"; @SerializedName(SERIALIZED_NAME_SLACK_EMAILS) diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java index f7da071b..97d8315c 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java @@ -51,7 +51,7 @@ /** * InviteToSlackChannelVictorOpsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelVictorOpsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/IpRanges.java b/src/main/java/com/rootly/client/model/IpRanges.java index ee6d8011..08714aea 100644 --- a/src/main/java/com/rootly/client/model/IpRanges.java +++ b/src/main/java/com/rootly/client/model/IpRanges.java @@ -50,7 +50,7 @@ /** * IpRanges */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IpRanges { public static final String SERIALIZED_NAME_INTEGRATIONS_IPV4 = "integrations_ipv4"; @SerializedName(SERIALIZED_NAME_INTEGRATIONS_IPV4) diff --git a/src/main/java/com/rootly/client/model/IpRangesResponse.java b/src/main/java/com/rootly/client/model/IpRangesResponse.java index cf60793e..8916f61c 100644 --- a/src/main/java/com/rootly/client/model/IpRangesResponse.java +++ b/src/main/java/com/rootly/client/model/IpRangesResponse.java @@ -49,7 +49,7 @@ /** * IpRangesResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IpRangesResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/IpRangesResponseData.java b/src/main/java/com/rootly/client/model/IpRangesResponseData.java index c5ff5df7..74678add 100644 --- a/src/main/java/com/rootly/client/model/IpRangesResponseData.java +++ b/src/main/java/com/rootly/client/model/IpRangesResponseData.java @@ -49,7 +49,7 @@ /** * IpRangesResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IpRangesResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/JSONPath.java b/src/main/java/com/rootly/client/model/JSONPath.java new file mode 100644 index 00000000..6e5c1505 --- /dev/null +++ b/src/main/java/com/rootly/client/model/JSONPath.java @@ -0,0 +1,489 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * JSONPath + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class JSONPath { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + JSON_PATH("json_path"); + + private String value; + + RuleTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) + @jakarta.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; + @SerializedName(SERIALIZED_NAME_JSON_PATH) + @jakarta.annotation.Nonnull + private String jsonPath; + + /** + * How JSON path value should be matched + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + CONTAINS("contains"), + + DOES_NOT_CONTAIN("does_not_contain"), + + CONTAINS_KEY("contains_key"), + + DOES_NOT_CONTAIN_KEY("does_not_contain_key"), + + STARTS_WITH("starts_with"), + + DOES_NOT_START_WITH("does_not_start_with"), + + MATCHES("matches"), + + DOES_NOT_MATCH("does_not_match"), + + IS_ONE_OF("is_one_of"), + + IS_NOT_ONE_OF("is_not_one_of"), + + IS_SET("is_set"), + + IS_NOT_SET("is_not_set"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @jakarta.annotation.Nonnull + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @jakarta.annotation.Nullable + private String value; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @jakarta.annotation.Nullable + private List values = new ArrayList<>(); + + public JSONPath() { + } + + public JSONPath ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public JSONPath jsonPath(@jakarta.annotation.Nonnull String jsonPath) { + this.jsonPath = jsonPath; + return this; + } + + /** + * JSON path to extract value from payload + * @return jsonPath + */ + @jakarta.annotation.Nonnull + public String getJsonPath() { + return jsonPath; + } + + public void setJsonPath(@jakarta.annotation.Nonnull String jsonPath) { + this.jsonPath = jsonPath; + } + + + public JSONPath operator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * How JSON path value should be matched + * @return operator + */ + @jakarta.annotation.Nonnull + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + } + + + public JSONPath value(@jakarta.annotation.Nullable String value) { + this.value = value; + return this; + } + + /** + * Value with which JSON path value should be matched + * @return value + */ + @jakarta.annotation.Nullable + public String getValue() { + return value; + } + + public void setValue(@jakarta.annotation.Nullable String value) { + this.value = value; + } + + + public JSONPath values(@jakarta.annotation.Nullable List values) { + this.values = values; + return this; + } + + public JSONPath addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Values to match against (for is_one_of / is_not_one_of operators) + * @return values + */ + @jakarta.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@jakarta.annotation.Nullable List values) { + this.values = values; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JSONPath jsONPath = (JSONPath) o; + return Objects.equals(this.ruleType, jsONPath.ruleType) && + Objects.equals(this.jsonPath, jsONPath.jsonPath) && + Objects.equals(this.operator, jsONPath.operator) && + Objects.equals(this.value, jsONPath.value) && + Objects.equals(this.values, jsONPath.values); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, jsonPath, operator, value, values); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JSONPath {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" jsonPath: ").append(toIndentedString(jsonPath)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("rule_type"); + openapiFields.add("json_path"); + openapiFields.add("operator"); + openapiFields.add("value"); + openapiFields.add("values"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("json_path"); + openapiRequiredFields.add("operator"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to JSONPath + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!JSONPath.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in JSONPath is not found in the empty JSON string", JSONPath.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!JSONPath.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `JSONPath` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : JSONPath.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); + } + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + if (!jsonObj.get("json_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `json_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("json_path").toString())); + } + if (!jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); + } + // validate the required field `operator` + OperatorEnum.validateJsonElement(jsonObj.get("operator")); + if ((jsonObj.get("value") != null && !jsonObj.get("value").isJsonNull()) && !jsonObj.get("value").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `value` to be a primitive type in the JSON string but got `%s`", jsonObj.get("value").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("values") != null && !jsonObj.get("values").isJsonNull() && !jsonObj.get("values").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `values` to be an array in the JSON string but got `%s`", jsonObj.get("values").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!JSONPath.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'JSONPath' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(JSONPath.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, JSONPath value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public JSONPath read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of JSONPath given an JSON string + * + * @param jsonString JSON string + * @return An instance of JSONPath + * @throws IOException if the JSON string is invalid with respect to JSONPath + */ + public static JSONPath fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, JSONPath.class); + } + + /** + * Convert an instance of JSONPath to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/JsonapiIncludedResource.java b/src/main/java/com/rootly/client/model/JsonapiIncludedResource.java index 8ac633f8..558db97d 100644 --- a/src/main/java/com/rootly/client/model/JsonapiIncludedResource.java +++ b/src/main/java/com/rootly/client/model/JsonapiIncludedResource.java @@ -50,7 +50,7 @@ /** * JsonapiIncludedResource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class JsonapiIncludedResource { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/LinkIncidents.java b/src/main/java/com/rootly/client/model/LinkIncidents.java new file mode 100644 index 00000000..dac3080d --- /dev/null +++ b/src/main/java/com/rootly/client/model/LinkIncidents.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.LinkIncidentsData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * LinkIncidents + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class LinkIncidents { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private LinkIncidentsData data; + + public LinkIncidents() { + } + + public LinkIncidents data(@jakarta.annotation.Nonnull LinkIncidentsData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public LinkIncidentsData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull LinkIncidentsData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkIncidents linkIncidents = (LinkIncidents) o; + return Objects.equals(this.data, linkIncidents.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkIncidents {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LinkIncidents + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LinkIncidents.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LinkIncidents is not found in the empty JSON string", LinkIncidents.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!LinkIncidents.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `LinkIncidents` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LinkIncidents.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + LinkIncidentsData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LinkIncidents.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LinkIncidents' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LinkIncidents.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LinkIncidents value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LinkIncidents read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LinkIncidents given an JSON string + * + * @param jsonString JSON string + * @return An instance of LinkIncidents + * @throws IOException if the JSON string is invalid with respect to LinkIncidents + */ + public static LinkIncidents fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LinkIncidents.class); + } + + /** + * Convert an instance of LinkIncidents to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/LinkIncidentsData.java b/src/main/java/com/rootly/client/model/LinkIncidentsData.java new file mode 100644 index 00000000..cb71e91e --- /dev/null +++ b/src/main/java/com/rootly/client/model/LinkIncidentsData.java @@ -0,0 +1,297 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.LinkIncidentsDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * LinkIncidentsData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class LinkIncidentsData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEMS("problems"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private LinkIncidentsDataAttributes attributes; + + public LinkIncidentsData() { + } + + public LinkIncidentsData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public LinkIncidentsData attributes(@jakarta.annotation.Nonnull LinkIncidentsDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public LinkIncidentsDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull LinkIncidentsDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkIncidentsData linkIncidentsData = (LinkIncidentsData) o; + return Objects.equals(this.type, linkIncidentsData.type) && + Objects.equals(this.attributes, linkIncidentsData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkIncidentsData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LinkIncidentsData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LinkIncidentsData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LinkIncidentsData is not found in the empty JSON string", LinkIncidentsData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!LinkIncidentsData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `LinkIncidentsData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LinkIncidentsData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + LinkIncidentsDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LinkIncidentsData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LinkIncidentsData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LinkIncidentsData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LinkIncidentsData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LinkIncidentsData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LinkIncidentsData given an JSON string + * + * @param jsonString JSON string + * @return An instance of LinkIncidentsData + * @throws IOException if the JSON string is invalid with respect to LinkIncidentsData + */ + public static LinkIncidentsData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LinkIncidentsData.class); + } + + /** + * Convert an instance of LinkIncidentsData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/LinkIncidentsDataAttributes.java b/src/main/java/com/rootly/client/model/LinkIncidentsDataAttributes.java new file mode 100644 index 00000000..7d6a08cf --- /dev/null +++ b/src/main/java/com/rootly/client/model/LinkIncidentsDataAttributes.java @@ -0,0 +1,247 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * LinkIncidentsDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class LinkIncidentsDataAttributes { + public static final String SERIALIZED_NAME_INCIDENT_ID = "incident_id"; + @SerializedName(SERIALIZED_NAME_INCIDENT_ID) + @jakarta.annotation.Nullable + private String incidentId; + + public static final String SERIALIZED_NAME_INCIDENT_IDS = "incident_ids"; + @SerializedName(SERIALIZED_NAME_INCIDENT_IDS) + @jakarta.annotation.Nullable + private List incidentIds = new ArrayList<>(); + + public LinkIncidentsDataAttributes() { + } + + public LinkIncidentsDataAttributes incidentId(@jakarta.annotation.Nullable String incidentId) { + this.incidentId = incidentId; + return this; + } + + /** + * ID of a single incident to link + * @return incidentId + */ + @jakarta.annotation.Nullable + public String getIncidentId() { + return incidentId; + } + + public void setIncidentId(@jakarta.annotation.Nullable String incidentId) { + this.incidentId = incidentId; + } + + + public LinkIncidentsDataAttributes incidentIds(@jakarta.annotation.Nullable List incidentIds) { + this.incidentIds = incidentIds; + return this; + } + + public LinkIncidentsDataAttributes addIncidentIdsItem(String incidentIdsItem) { + if (this.incidentIds == null) { + this.incidentIds = new ArrayList<>(); + } + this.incidentIds.add(incidentIdsItem); + return this; + } + + /** + * IDs of incidents to link + * @return incidentIds + */ + @jakarta.annotation.Nullable + public List getIncidentIds() { + return incidentIds; + } + + public void setIncidentIds(@jakarta.annotation.Nullable List incidentIds) { + this.incidentIds = incidentIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinkIncidentsDataAttributes linkIncidentsDataAttributes = (LinkIncidentsDataAttributes) o; + return Objects.equals(this.incidentId, linkIncidentsDataAttributes.incidentId) && + Objects.equals(this.incidentIds, linkIncidentsDataAttributes.incidentIds); + } + + @Override + public int hashCode() { + return Objects.hash(incidentId, incidentIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinkIncidentsDataAttributes {\n"); + sb.append(" incidentId: ").append(toIndentedString(incidentId)).append("\n"); + sb.append(" incidentIds: ").append(toIndentedString(incidentIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("incident_id"); + openapiFields.add("incident_ids"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LinkIncidentsDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LinkIncidentsDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LinkIncidentsDataAttributes is not found in the empty JSON string", LinkIncidentsDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!LinkIncidentsDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `LinkIncidentsDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("incident_id") != null && !jsonObj.get("incident_id").isJsonNull()) && !jsonObj.get("incident_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_id").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_ids") != null && !jsonObj.get("incident_ids").isJsonNull() && !jsonObj.get("incident_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_ids").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LinkIncidentsDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LinkIncidentsDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LinkIncidentsDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LinkIncidentsDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LinkIncidentsDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LinkIncidentsDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of LinkIncidentsDataAttributes + * @throws IOException if the JSON string is invalid with respect to LinkIncidentsDataAttributes + */ + public static LinkIncidentsDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LinkIncidentsDataAttributes.class); + } + + /** + * Convert an instance of LinkIncidentsDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/Links.java b/src/main/java/com/rootly/client/model/Links.java index e1b01815..4476ad6b 100644 --- a/src/main/java/com/rootly/client/model/Links.java +++ b/src/main/java/com/rootly/client/model/Links.java @@ -48,7 +48,7 @@ /** * Links */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Links { public static final String SERIALIZED_NAME_SELF = "self"; @SerializedName(SERIALIZED_NAME_SELF) diff --git a/src/main/java/com/rootly/client/model/LiveCallRouter.java b/src/main/java/com/rootly/client/model/LiveCallRouter.java index ee50c6b8..5c84ea23 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouter.java @@ -19,8 +19,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewLiveCallRouterDataAttributesPagingTargetsInner; -import com.rootly.client.model.UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams; +import com.rootly.client.model.LiveCallRouterEscalationPolicyTriggerParams; +import com.rootly.client.model.LiveCallRouterPagingTargetsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +53,7 @@ /** * LiveCallRouter */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouter { /** * The kind of the live_call_router @@ -387,12 +387,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_TARGETS = "paging_targets"; @SerializedName(SERIALIZED_NAME_PAGING_TARGETS) @jakarta.annotation.Nullable - private List pagingTargets = new ArrayList<>(); + private List pagingTargets = new ArrayList<>(); public static final String SERIALIZED_NAME_ESCALATION_POLICY_TRIGGER_PARAMS = "escalation_policy_trigger_params"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_TRIGGER_PARAMS) @jakarta.annotation.Nullable - private UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams; + private LiveCallRouterEscalationPolicyTriggerParams escalationPolicyTriggerParams; public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @@ -768,12 +768,12 @@ public void setCallingTreePrompt(@jakarta.annotation.Nullable String callingTree } - public LiveCallRouter pagingTargets(@jakarta.annotation.Nullable List pagingTargets) { + public LiveCallRouter pagingTargets(@jakarta.annotation.Nullable List pagingTargets) { this.pagingTargets = pagingTargets; return this; } - public LiveCallRouter addPagingTargetsItem(NewLiveCallRouterDataAttributesPagingTargetsInner pagingTargetsItem) { + public LiveCallRouter addPagingTargetsItem(LiveCallRouterPagingTargetsInner pagingTargetsItem) { if (this.pagingTargets == null) { this.pagingTargets = new ArrayList<>(); } @@ -786,16 +786,16 @@ public LiveCallRouter addPagingTargetsItem(NewLiveCallRouterDataAttributesPaging * @return pagingTargets */ @jakarta.annotation.Nullable - public List getPagingTargets() { + public List getPagingTargets() { return pagingTargets; } - public void setPagingTargets(@jakarta.annotation.Nullable List pagingTargets) { + public void setPagingTargets(@jakarta.annotation.Nullable List pagingTargets) { this.pagingTargets = pagingTargets; } - public LiveCallRouter escalationPolicyTriggerParams(@jakarta.annotation.Nullable UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { + public LiveCallRouter escalationPolicyTriggerParams(@jakarta.annotation.Nullable LiveCallRouterEscalationPolicyTriggerParams escalationPolicyTriggerParams) { this.escalationPolicyTriggerParams = escalationPolicyTriggerParams; return this; } @@ -805,11 +805,11 @@ public LiveCallRouter escalationPolicyTriggerParams(@jakarta.annotation.Nullable * @return escalationPolicyTriggerParams */ @jakarta.annotation.Nullable - public UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams getEscalationPolicyTriggerParams() { + public LiveCallRouterEscalationPolicyTriggerParams getEscalationPolicyTriggerParams() { return escalationPolicyTriggerParams; } - public void setEscalationPolicyTriggerParams(@jakarta.annotation.Nullable UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { + public void setEscalationPolicyTriggerParams(@jakarta.annotation.Nullable LiveCallRouterEscalationPolicyTriggerParams escalationPolicyTriggerParams) { this.escalationPolicyTriggerParams = escalationPolicyTriggerParams; } @@ -1073,13 +1073,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `paging_targets` (array) for (int i = 0; i < jsonArraypagingTargets.size(); i++) { - NewLiveCallRouterDataAttributesPagingTargetsInner.validateJsonElement(jsonArraypagingTargets.get(i)); + LiveCallRouterPagingTargetsInner.validateJsonElement(jsonArraypagingTargets.get(i)); }; } } // validate the optional field `escalation_policy_trigger_params` if (jsonObj.get("escalation_policy_trigger_params") != null && !jsonObj.get("escalation_policy_trigger_params").isJsonNull()) { - UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.validateJsonElement(jsonObj.get("escalation_policy_trigger_params")); + LiveCallRouterEscalationPolicyTriggerParams.validateJsonElement(jsonObj.get("escalation_policy_trigger_params")); } if (!jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParams.java b/src/main/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParams.java new file mode 100644 index 00000000..f458f27e --- /dev/null +++ b/src/main/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParams.java @@ -0,0 +1,303 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * LiveCallRouterEscalationPolicyTriggerParams + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class LiveCallRouterEscalationPolicyTriggerParams { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + SERVICE("Service"), + + GROUP("Group"), + + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public LiveCallRouterEscalationPolicyTriggerParams() { + } + + public LiveCallRouterEscalationPolicyTriggerParams id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * The ID of notification target + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public LiveCallRouterEscalationPolicyTriggerParams type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiveCallRouterEscalationPolicyTriggerParams liveCallRouterEscalationPolicyTriggerParams = (LiveCallRouterEscalationPolicyTriggerParams) o; + return Objects.equals(this.id, liveCallRouterEscalationPolicyTriggerParams.id) && + Objects.equals(this.type, liveCallRouterEscalationPolicyTriggerParams.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiveCallRouterEscalationPolicyTriggerParams {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LiveCallRouterEscalationPolicyTriggerParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LiveCallRouterEscalationPolicyTriggerParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LiveCallRouterEscalationPolicyTriggerParams is not found in the empty JSON string", LiveCallRouterEscalationPolicyTriggerParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!LiveCallRouterEscalationPolicyTriggerParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `LiveCallRouterEscalationPolicyTriggerParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LiveCallRouterEscalationPolicyTriggerParams.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LiveCallRouterEscalationPolicyTriggerParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LiveCallRouterEscalationPolicyTriggerParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LiveCallRouterEscalationPolicyTriggerParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LiveCallRouterEscalationPolicyTriggerParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LiveCallRouterEscalationPolicyTriggerParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LiveCallRouterEscalationPolicyTriggerParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of LiveCallRouterEscalationPolicyTriggerParams + * @throws IOException if the JSON string is invalid with respect to LiveCallRouterEscalationPolicyTriggerParams + */ + public static LiveCallRouterEscalationPolicyTriggerParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LiveCallRouterEscalationPolicyTriggerParams.class); + } + + /** + * Convert an instance of LiveCallRouterEscalationPolicyTriggerParams to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterList.java b/src/main/java/com/rootly/client/model/LiveCallRouterList.java index c33b8d64..2f765976 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterList.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterList.java @@ -54,7 +54,7 @@ /** * LiveCallRouterList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouterList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterPagingTargetsInner.java b/src/main/java/com/rootly/client/model/LiveCallRouterPagingTargetsInner.java new file mode 100644 index 00000000..28dd38b0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/LiveCallRouterPagingTargetsInner.java @@ -0,0 +1,334 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * LiveCallRouterPagingTargetsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class LiveCallRouterPagingTargetsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * The type of the paging target. Please contact support if you encounter issues using `functionality` as a target type. + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + SERVICE("service"), + + TEAM("team"), + + ESCALATION_POLICY("escalation_policy"), + + FUNCTIONALITY("functionality"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) + @jakarta.annotation.Nonnull + private String alertUrgencyId; + + public LiveCallRouterPagingTargetsInner() { + } + + public LiveCallRouterPagingTargetsInner id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * The ID of paging target + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public LiveCallRouterPagingTargetsInner type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of the paging target. Please contact support if you encounter issues using `functionality` as a target type. + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public LiveCallRouterPagingTargetsInner alertUrgencyId(@jakarta.annotation.Nonnull String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + return this; + } + + /** + * This is used in escalation paths to determine who to page + * @return alertUrgencyId + */ + @jakarta.annotation.Nonnull + public String getAlertUrgencyId() { + return alertUrgencyId; + } + + public void setAlertUrgencyId(@jakarta.annotation.Nonnull String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiveCallRouterPagingTargetsInner liveCallRouterPagingTargetsInner = (LiveCallRouterPagingTargetsInner) o; + return Objects.equals(this.id, liveCallRouterPagingTargetsInner.id) && + Objects.equals(this.type, liveCallRouterPagingTargetsInner.type) && + Objects.equals(this.alertUrgencyId, liveCallRouterPagingTargetsInner.alertUrgencyId); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, alertUrgencyId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LiveCallRouterPagingTargetsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("alert_urgency_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("alert_urgency_id"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LiveCallRouterPagingTargetsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LiveCallRouterPagingTargetsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in LiveCallRouterPagingTargetsInner is not found in the empty JSON string", LiveCallRouterPagingTargetsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!LiveCallRouterPagingTargetsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `LiveCallRouterPagingTargetsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : LiveCallRouterPagingTargetsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + if (!jsonObj.get("alert_urgency_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_urgency_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_urgency_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LiveCallRouterPagingTargetsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LiveCallRouterPagingTargetsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LiveCallRouterPagingTargetsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LiveCallRouterPagingTargetsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LiveCallRouterPagingTargetsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LiveCallRouterPagingTargetsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of LiveCallRouterPagingTargetsInner + * @throws IOException if the JSON string is invalid with respect to LiveCallRouterPagingTargetsInner + */ + public static LiveCallRouterPagingTargetsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LiveCallRouterPagingTargetsInner.class); + } + + /** + * Convert an instance of LiveCallRouterPagingTargetsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java b/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java index 5e56da7c..88289b49 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java @@ -52,7 +52,7 @@ /** * LiveCallRouterResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouterResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java b/src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java index 29ea1c51..fa90561f 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java @@ -49,7 +49,7 @@ /** * LiveCallRouterResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouterResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/MeetingRecording.java b/src/main/java/com/rootly/client/model/MeetingRecording.java index 6a6c8eeb..3ca48766 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecording.java +++ b/src/main/java/com/rootly/client/model/MeetingRecording.java @@ -51,7 +51,7 @@ /** * MeetingRecording */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecording { /** * Meeting platform diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingDetail.java b/src/main/java/com/rootly/client/model/MeetingRecordingDetail.java index c0f301c7..bf746d24 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingDetail.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingDetail.java @@ -52,7 +52,7 @@ /** * MeetingRecordingDetail */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingDetail { /** * Meeting platform diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingDetailAllOfTranscript.java b/src/main/java/com/rootly/client/model/MeetingRecordingDetailAllOfTranscript.java index 7b334213..d2006c5e 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingDetailAllOfTranscript.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingDetailAllOfTranscript.java @@ -52,7 +52,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingDetailAllOfTranscript extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(MeetingRecordingDetailAllOfTranscript.class.getName()); diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponse.java b/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponse.java index e5aca4f6..6fa91a9b 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponse.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponse.java @@ -49,7 +49,7 @@ /** * MeetingRecordingDetailResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingDetailResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponseData.java b/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponseData.java index f7208d97..c1c39523 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponseData.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingDetailResponseData.java @@ -49,7 +49,7 @@ /** * MeetingRecordingDetailResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingDetailResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingList.java b/src/main/java/com/rootly/client/model/MeetingRecordingList.java index 9d385ecb..8896fc0f 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingList.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingList.java @@ -52,7 +52,7 @@ /** * MeetingRecordingList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingResponse.java b/src/main/java/com/rootly/client/model/MeetingRecordingResponse.java index c1af7d71..da951fae 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingResponse.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingResponse.java @@ -49,7 +49,7 @@ /** * MeetingRecordingResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingResponseData.java b/src/main/java/com/rootly/client/model/MeetingRecordingResponseData.java index 22528aef..ea38d2b4 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingResponseData.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingResponseData.java @@ -49,7 +49,7 @@ /** * MeetingRecordingResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptSegment.java b/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptSegment.java index a943ff94..09afae05 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptSegment.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptSegment.java @@ -51,7 +51,7 @@ /** * MeetingRecordingTranscriptSegment */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingTranscriptSegment { public static final String SERIALIZED_NAME_SPEAKER = "speaker"; @SerializedName(SERIALIZED_NAME_SPEAKER) diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptWord.java b/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptWord.java index 3877e59b..85636f31 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptWord.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingTranscriptWord.java @@ -49,7 +49,7 @@ /** * MeetingRecordingTranscriptWord */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingTranscriptWord { public static final String SERIALIZED_NAME_TEXT = "text"; @SerializedName(SERIALIZED_NAME_TEXT) diff --git a/src/main/java/com/rootly/client/model/Meta.java b/src/main/java/com/rootly/client/model/Meta.java index 4693843f..f0f51b7f 100644 --- a/src/main/java/com/rootly/client/model/Meta.java +++ b/src/main/java/com/rootly/client/model/Meta.java @@ -49,7 +49,7 @@ /** * Meta */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Meta { public static final String SERIALIZED_NAME_NEXT_CURSOR = "next_cursor"; @SerializedName(SERIALIZED_NAME_NEXT_CURSOR) diff --git a/src/main/java/com/rootly/client/model/MitigateIncident.java b/src/main/java/com/rootly/client/model/MitigateIncident.java index 4d8e9952..e10679a4 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncident.java +++ b/src/main/java/com/rootly/client/model/MitigateIncident.java @@ -49,7 +49,7 @@ /** * MitigateIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MitigateIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/MitigateIncidentData.java b/src/main/java/com/rootly/client/model/MitigateIncidentData.java index cac69c54..281b6aab 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncidentData.java +++ b/src/main/java/com/rootly/client/model/MitigateIncidentData.java @@ -49,8 +49,13 @@ /** * MitigateIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MitigateIncidentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public MitigateIncidentData() { } + public MitigateIncidentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public MitigateIncidentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } MitigateIncidentData mitigateIncidentData = (MitigateIncidentData) o; - return Objects.equals(this.type, mitigateIncidentData.type) && + return Objects.equals(this.id, mitigateIncidentData.id) && + Objects.equals(this.type, mitigateIncidentData.type) && Objects.equals(this.attributes, mitigateIncidentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class MitigateIncidentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java index df8501c7..d7887af3 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java @@ -49,7 +49,7 @@ /** * MitigateIncidentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MitigateIncidentDataAttributes { public static final String SERIALIZED_NAME_MITIGATION_MESSAGE = "mitigation_message"; @SerializedName(SERIALIZED_NAME_MITIGATION_MESSAGE) diff --git a/src/main/java/com/rootly/client/model/NewAlert.java b/src/main/java/com/rootly/client/model/NewAlert.java index 18ddfc77..49a22ef7 100644 --- a/src/main/java/com/rootly/client/model/NewAlert.java +++ b/src/main/java/com/rootly/client/model/NewAlert.java @@ -49,7 +49,7 @@ /** * NewAlert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlert { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertData.java b/src/main/java/com/rootly/client/model/NewAlertData.java index 78279f73..5b102315 100644 --- a/src/main/java/com/rootly/client/model/NewAlertData.java +++ b/src/main/java/com/rootly/client/model/NewAlertData.java @@ -49,7 +49,7 @@ /** * NewAlertData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java index 22025b7f..5dc2722a 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import com.rootly.client.model.NewAlertDataAttributesNotificationTargetsInner; @@ -55,8 +56,13 @@ /** * NewAlertDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributes { + public static final String SERIALIZED_NAME_ACTOR = "actor"; + @SerializedName(SERIALIZED_NAME_ACTOR) + @jakarta.annotation.Nullable + private NewAlertDataAttributesActor actor; + /** * Whether the alert is marked as noise */ @@ -328,6 +334,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public NewAlertDataAttributes() { } + public NewAlertDataAttributes actor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + return this; + } + + /** + * Get actor + * @return actor + */ + @jakarta.annotation.Nullable + public NewAlertDataAttributesActor getActor() { + return actor; + } + + public void setActor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + } + + public NewAlertDataAttributes noise(@jakarta.annotation.Nullable NoiseEnum noise) { this.noise = noise; return this; @@ -797,7 +822,8 @@ public boolean equals(Object o) { return false; } NewAlertDataAttributes newAlertDataAttributes = (NewAlertDataAttributes) o; - return Objects.equals(this.noise, newAlertDataAttributes.noise) && + return Objects.equals(this.actor, newAlertDataAttributes.actor) && + Objects.equals(this.noise, newAlertDataAttributes.noise) && Objects.equals(this.source, newAlertDataAttributes.source) && Objects.equals(this.status, newAlertDataAttributes.status) && Objects.equals(this.summary, newAlertDataAttributes.summary) && @@ -826,7 +852,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(noise, source, status, summary, description, serviceIds, groupIds, functionalityIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, notificationTargetType, notificationTargetId, notificationTargets, labels, data, deduplicationKey, alertFieldValuesAttributes); + return Objects.hash(actor, noise, source, status, summary, description, serviceIds, groupIds, functionalityIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, notificationTargetType, notificationTargetId, notificationTargets, labels, data, deduplicationKey, alertFieldValuesAttributes); } private static int hashCodeNullable(JsonNullable a) { @@ -840,6 +866,7 @@ private static int hashCodeNullable(JsonNullable a) { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewAlertDataAttributes {\n"); + sb.append(" actor: ").append(toIndentedString(actor)).append("\n"); sb.append(" noise: ").append(toIndentedString(noise)).append("\n"); sb.append(" source: ").append(toIndentedString(source)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); @@ -883,6 +910,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("actor"); openapiFields.add("noise"); openapiFields.add("source"); openapiFields.add("status"); @@ -938,6 +966,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `actor` + if (jsonObj.get("actor") != null && !jsonObj.get("actor").isJsonNull()) { + NewAlertDataAttributesActor.validateJsonElement(jsonObj.get("actor")); + } if ((jsonObj.get("noise") != null && !jsonObj.get("noise").isJsonNull()) && !jsonObj.get("noise").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `noise` to be a primitive type in the JSON string but got `%s`", jsonObj.get("noise").toString())); } diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesActor.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesActor.java new file mode 100644 index 00000000..6d24a3e2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesActor.java @@ -0,0 +1,280 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActorOneOf; +import com.rootly.client.model.NewAlertDataAttributesActorOneOf1; +import java.io.IOException; +import java.util.Arrays; + + + +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.JsonPrimitive; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonArray; +import com.google.gson.JsonParseException; + +import com.rootly.client.JSON; + +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertDataAttributesActor extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(NewAlertDataAttributesActor.class.getName()); + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertDataAttributesActor.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertDataAttributesActor' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter adapterNewAlertDataAttributesActorOneOf = gson.getDelegateAdapter(this, TypeToken.get(NewAlertDataAttributesActorOneOf.class)); + final TypeAdapter adapterNewAlertDataAttributesActorOneOf1 = gson.getDelegateAdapter(this, TypeToken.get(NewAlertDataAttributesActorOneOf1.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertDataAttributesActor value) throws IOException { + if (value == null || value.getActualInstance() == null) { + elementAdapter.write(out, null); + return; + } + + // check if the actual instance is of the type `NewAlertDataAttributesActorOneOf` + if (value.getActualInstance() instanceof NewAlertDataAttributesActorOneOf) { + JsonElement element = adapterNewAlertDataAttributesActorOneOf.toJsonTree((NewAlertDataAttributesActorOneOf)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `NewAlertDataAttributesActorOneOf1` + if (value.getActualInstance() instanceof NewAlertDataAttributesActorOneOf1) { + JsonElement element = adapterNewAlertDataAttributesActorOneOf1.toJsonTree((NewAlertDataAttributesActorOneOf1)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: NewAlertDataAttributesActorOneOf, NewAlertDataAttributesActorOneOf1"); + } + + @Override + public NewAlertDataAttributesActor read(JsonReader in) throws IOException { + Object deserialized = null; + JsonElement jsonElement = elementAdapter.read(in); + + int match = 0; + ArrayList errorMessages = new ArrayList<>(); + TypeAdapter actualAdapter = elementAdapter; + + // deserialize NewAlertDataAttributesActorOneOf + try { + // validate the JSON object to see if any exception is thrown + NewAlertDataAttributesActorOneOf.validateJsonElement(jsonElement); + actualAdapter = adapterNewAlertDataAttributesActorOneOf; + match++; + log.log(Level.FINER, "Input data matches schema 'NewAlertDataAttributesActorOneOf'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for NewAlertDataAttributesActorOneOf failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewAlertDataAttributesActorOneOf'", e); + } + // deserialize NewAlertDataAttributesActorOneOf1 + try { + // validate the JSON object to see if any exception is thrown + NewAlertDataAttributesActorOneOf1.validateJsonElement(jsonElement); + actualAdapter = adapterNewAlertDataAttributesActorOneOf1; + match++; + log.log(Level.FINER, "Input data matches schema 'NewAlertDataAttributesActorOneOf1'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for NewAlertDataAttributesActorOneOf1 failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewAlertDataAttributesActorOneOf1'", e); + } + + if (match == 1) { + NewAlertDataAttributesActor ret = new NewAlertDataAttributesActor(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } + + throw new IOException(String.format("Failed deserialization for NewAlertDataAttributesActor: %d classes match result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", match, errorMessages, jsonElement.toString())); + } + }.nullSafe(); + } + } + + // store a list of schema names defined in oneOf + public static final Map> schemas = new HashMap>(); + + public NewAlertDataAttributesActor() { + super("oneOf", Boolean.TRUE); + } + + public NewAlertDataAttributesActor(Object o) { + super("oneOf", Boolean.TRUE); + setActualInstance(o); + } + + static { + schemas.put("NewAlertDataAttributesActorOneOf", NewAlertDataAttributesActorOneOf.class); + schemas.put("NewAlertDataAttributesActorOneOf1", NewAlertDataAttributesActorOneOf1.class); + } + + @Override + public Map> getSchemas() { + return NewAlertDataAttributesActor.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * NewAlertDataAttributesActorOneOf, NewAlertDataAttributesActorOneOf1 + * + * It could be an instance of the 'oneOf' schemas. + */ + @Override + public void setActualInstance(Object instance) { + if (instance == null) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewAlertDataAttributesActorOneOf) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewAlertDataAttributesActorOneOf1) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be NewAlertDataAttributesActorOneOf, NewAlertDataAttributesActorOneOf1"); + } + + /** + * Get the actual instance, which can be the following: + * NewAlertDataAttributesActorOneOf, NewAlertDataAttributesActorOneOf1 + * + * @return The actual instance (NewAlertDataAttributesActorOneOf, NewAlertDataAttributesActorOneOf1) + */ + @SuppressWarnings("unchecked") + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `NewAlertDataAttributesActorOneOf`. If the actual instance is not `NewAlertDataAttributesActorOneOf`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewAlertDataAttributesActorOneOf` + * @throws ClassCastException if the instance is not `NewAlertDataAttributesActorOneOf` + */ + public NewAlertDataAttributesActorOneOf getNewAlertDataAttributesActorOneOf() throws ClassCastException { + return (NewAlertDataAttributesActorOneOf)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewAlertDataAttributesActorOneOf1`. If the actual instance is not `NewAlertDataAttributesActorOneOf1`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewAlertDataAttributesActorOneOf1` + * @throws ClassCastException if the instance is not `NewAlertDataAttributesActorOneOf1` + */ + public NewAlertDataAttributesActorOneOf1 getNewAlertDataAttributesActorOneOf1() throws ClassCastException { + return (NewAlertDataAttributesActorOneOf1)super.getActualInstance(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewAlertDataAttributesActor + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + // validate oneOf schemas one by one + int validCount = 0; + ArrayList errorMessages = new ArrayList<>(); + // validate the json string with NewAlertDataAttributesActorOneOf + try { + NewAlertDataAttributesActorOneOf.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewAlertDataAttributesActorOneOf failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with NewAlertDataAttributesActorOneOf1 + try { + NewAlertDataAttributesActorOneOf1.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewAlertDataAttributesActorOneOf1 failed with `%s`.", e.getMessage())); + // continue to the next one + } + if (validCount != 1) { + throw new IOException(String.format("The JSON string is invalid for NewAlertDataAttributesActor with oneOf schemas: NewAlertDataAttributesActorOneOf, NewAlertDataAttributesActorOneOf1. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); + } + } + + /** + * Create an instance of NewAlertDataAttributesActor given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertDataAttributesActor + * @throws IOException if the JSON string is invalid with respect to NewAlertDataAttributesActor + */ + public static NewAlertDataAttributesActor fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertDataAttributesActor.class); + } + + /** + * Convert an instance of NewAlertDataAttributesActor to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf.java new file mode 100644 index 00000000..b6c78085 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewAlertDataAttributesActorOneOf + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertDataAttributesActorOneOf { + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @jakarta.annotation.Nonnull + private String email; + + public NewAlertDataAttributesActorOneOf() { + } + + public NewAlertDataAttributesActorOneOf email(@jakarta.annotation.Nonnull String email) { + this.email = email; + return this; + } + + /** + * Email of the user, including verified secondary emails. + * @return email + */ + @jakarta.annotation.Nonnull + public String getEmail() { + return email; + } + + public void setEmail(@jakarta.annotation.Nonnull String email) { + this.email = email; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertDataAttributesActorOneOf newAlertDataAttributesActorOneOf = (NewAlertDataAttributesActorOneOf) o; + return Objects.equals(this.email, newAlertDataAttributesActorOneOf.email); + } + + @Override + public int hashCode() { + return Objects.hash(email); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertDataAttributesActorOneOf {\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("email"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("email"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewAlertDataAttributesActorOneOf + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertDataAttributesActorOneOf.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertDataAttributesActorOneOf is not found in the empty JSON string", NewAlertDataAttributesActorOneOf.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertDataAttributesActorOneOf.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertDataAttributesActorOneOf` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertDataAttributesActorOneOf.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("email").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertDataAttributesActorOneOf.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertDataAttributesActorOneOf' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertDataAttributesActorOneOf.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertDataAttributesActorOneOf value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertDataAttributesActorOneOf read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertDataAttributesActorOneOf given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertDataAttributesActorOneOf + * @throws IOException if the JSON string is invalid with respect to NewAlertDataAttributesActorOneOf + */ + public static NewAlertDataAttributesActorOneOf fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertDataAttributesActorOneOf.class); + } + + /** + * Convert an instance of NewAlertDataAttributesActorOneOf to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1.java new file mode 100644 index 00000000..587cd3ec --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewAlertDataAttributesActorOneOf1 + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertDataAttributesActorOneOf1 { + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + @jakarta.annotation.Nonnull + private String userId; + + public NewAlertDataAttributesActorOneOf1() { + } + + public NewAlertDataAttributesActorOneOf1 userId(@jakarta.annotation.Nonnull String userId) { + this.userId = userId; + return this; + } + + /** + * Rootly ID of the user. + * @return userId + */ + @jakarta.annotation.Nonnull + public String getUserId() { + return userId; + } + + public void setUserId(@jakarta.annotation.Nonnull String userId) { + this.userId = userId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertDataAttributesActorOneOf1 newAlertDataAttributesActorOneOf1 = (NewAlertDataAttributesActorOneOf1) o; + return Objects.equals(this.userId, newAlertDataAttributesActorOneOf1.userId); + } + + @Override + public int hashCode() { + return Objects.hash(userId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertDataAttributesActorOneOf1 {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("user_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("user_id"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewAlertDataAttributesActorOneOf1 + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertDataAttributesActorOneOf1.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertDataAttributesActorOneOf1 is not found in the empty JSON string", NewAlertDataAttributesActorOneOf1.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertDataAttributesActorOneOf1.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertDataAttributesActorOneOf1` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertDataAttributesActorOneOf1.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("user_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `user_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("user_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertDataAttributesActorOneOf1.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertDataAttributesActorOneOf1' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertDataAttributesActorOneOf1.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertDataAttributesActorOneOf1 value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertDataAttributesActorOneOf1 read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertDataAttributesActorOneOf1 given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertDataAttributesActorOneOf1 + * @throws IOException if the JSON string is invalid with respect to NewAlertDataAttributesActorOneOf1 + */ + public static NewAlertDataAttributesActorOneOf1 fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertDataAttributesActorOneOf1.class); + } + + /** + * Convert an instance of NewAlertDataAttributesActorOneOf1 to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java index 0e21de97..a1d15551 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java @@ -48,7 +48,7 @@ /** * NewAlertDataAttributesAlertFieldValuesAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributesAlertFieldValuesAttributesInner { public static final String SERIALIZED_NAME_ALERT_FIELD_ID = "alert_field_id"; @SerializedName(SERIALIZED_NAME_ALERT_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java index b0743297..b1794bff 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java @@ -49,7 +49,7 @@ /** * NewAlertDataAttributesLabelsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributesLabelsInner { public static final String SERIALIZED_NAME_KEY = "key"; @SerializedName(SERIALIZED_NAME_KEY) diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java index eb2ef1c6..d9f8934a 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java @@ -51,7 +51,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributesLabelsInnerValue extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewAlertDataAttributesLabelsInnerValue.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesNotificationTargetsInner.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesNotificationTargetsInner.java index b0a5da6b..07a7288a 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributesNotificationTargetsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesNotificationTargetsInner.java @@ -48,7 +48,7 @@ /** * NewAlertDataAttributesNotificationTargetsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributesNotificationTargetsInner { /** * The type of the notification target. Can be one of Group, Service, EscalationPolicy, Functionality, User. diff --git a/src/main/java/com/rootly/client/model/NewAlertEvent.java b/src/main/java/com/rootly/client/model/NewAlertEvent.java index 53da7a9d..9de6f783 100644 --- a/src/main/java/com/rootly/client/model/NewAlertEvent.java +++ b/src/main/java/com/rootly/client/model/NewAlertEvent.java @@ -49,7 +49,7 @@ /** * NewAlertEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertEvent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertEventData.java b/src/main/java/com/rootly/client/model/NewAlertEventData.java index 2dfea14c..aadf1167 100644 --- a/src/main/java/com/rootly/client/model/NewAlertEventData.java +++ b/src/main/java/com/rootly/client/model/NewAlertEventData.java @@ -49,7 +49,7 @@ /** * NewAlertEventData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java index dbece460..2fbede96 100644 --- a/src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java @@ -48,7 +48,7 @@ /** * NewAlertEventDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertEventDataAttributes { /** * Gets or Sets kind diff --git a/src/main/java/com/rootly/client/model/NewAlertField.java b/src/main/java/com/rootly/client/model/NewAlertField.java index 12883463..f95f4024 100644 --- a/src/main/java/com/rootly/client/model/NewAlertField.java +++ b/src/main/java/com/rootly/client/model/NewAlertField.java @@ -49,7 +49,7 @@ /** * NewAlertField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertFieldData.java b/src/main/java/com/rootly/client/model/NewAlertFieldData.java index d5d2f445..a0c5d0c2 100644 --- a/src/main/java/com/rootly/client/model/NewAlertFieldData.java +++ b/src/main/java/com/rootly/client/model/NewAlertFieldData.java @@ -49,7 +49,7 @@ /** * NewAlertFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java index 2bc2fbcf..93be89f6 100644 --- a/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -49,7 +51,7 @@ /** * NewAlertFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertFieldDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -62,6 +64,11 @@ public class NewAlertFieldDataAttributes { @jakarta.annotation.Nonnull private String name; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds; + public NewAlertFieldDataAttributes() { } @@ -107,6 +114,33 @@ public void setName(@jakarta.annotation.Nonnull String name) { } + public NewAlertFieldDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public NewAlertFieldDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams that own the alert field. Callers with org-wide alert field permissions may omit it or pass an empty list to create an org-wide field. Callers without them (team admins, team-scoped API keys) get their administered teams by default when it is omitted, and must otherwise pass at least one team they administer; an explicit empty list or null is rejected. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + @Override public boolean equals(Object o) { @@ -118,7 +152,8 @@ public boolean equals(Object o) { } NewAlertFieldDataAttributes newAlertFieldDataAttributes = (NewAlertFieldDataAttributes) o; return Objects.equals(this.slug, newAlertFieldDataAttributes.slug) && - Objects.equals(this.name, newAlertFieldDataAttributes.name); + Objects.equals(this.name, newAlertFieldDataAttributes.name) && + Objects.equals(this.ownerGroupIds, newAlertFieldDataAttributes.ownerGroupIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -127,7 +162,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name); + return Objects.hash(slug, name, ownerGroupIds); } private static int hashCodeNullable(JsonNullable a) { @@ -143,6 +178,7 @@ public String toString() { sb.append("class NewAlertFieldDataAttributes {\n"); sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -167,6 +203,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("slug"); openapiFields.add("name"); + openapiFields.add("owner_group_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -207,6 +244,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("name").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewAlertGroup.java b/src/main/java/com/rootly/client/model/NewAlertGroup.java index e76276bd..7b17e036 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroup.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroup.java @@ -49,7 +49,7 @@ /** * NewAlertGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupData.java b/src/main/java/com/rootly/client/model/NewAlertGroupData.java index 7510d37a..ba37d3c2 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupData.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupData.java @@ -49,7 +49,7 @@ /** * NewAlertGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java index 360c3c4d..a729bd8c 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -54,7 +55,7 @@ /** * NewAlertGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -77,6 +78,11 @@ public class NewAlertGroupDataAttributes { @jakarta.annotation.Nullable private Integer timeWindow; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_TARGETS = "targets"; @SerializedName(SERIALIZED_NAME_TARGETS) @jakarta.annotation.Nullable @@ -349,6 +355,33 @@ public void setTimeWindow(@jakarta.annotation.Nullable Integer timeWindow) { } + public NewAlertGroupDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public NewAlertGroupDataAttributes addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * Teams that own this alert group. Admins of an owning team can manage it, and an owned alert group can only target destinations that belong to its owning teams. Only available when owning teams for alert groups are enabled for the organization. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + public NewAlertGroupDataAttributes targets(@jakarta.annotation.Nullable List targets) { this.targets = targets; return this; @@ -513,6 +546,7 @@ public boolean equals(Object o) { Objects.equals(this.name, newAlertGroupDataAttributes.name) && Objects.equals(this.description, newAlertGroupDataAttributes.description) && Objects.equals(this.timeWindow, newAlertGroupDataAttributes.timeWindow) && + Objects.equals(this.ownerGroupIds, newAlertGroupDataAttributes.ownerGroupIds) && Objects.equals(this.targets, newAlertGroupDataAttributes.targets) && Objects.equals(this.attributes, newAlertGroupDataAttributes.attributes) && Objects.equals(this.groupByAlertTitle, newAlertGroupDataAttributes.groupByAlertTitle) && @@ -527,7 +561,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, description, timeWindow, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType, conditions); + return Objects.hash(slug, name, description, timeWindow, ownerGroupIds, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType, conditions); } private static int hashCodeNullable(JsonNullable a) { @@ -545,6 +579,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" timeWindow: ").append(toIndentedString(timeWindow)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" targets: ").append(toIndentedString(targets)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" groupByAlertTitle: ").append(toIndentedString(groupByAlertTitle)).append("\n"); @@ -577,6 +612,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("time_window"); + openapiFields.add("owner_group_ids"); openapiFields.add("targets"); openapiFields.add("attributes"); openapiFields.add("group_by_alert_title"); @@ -626,6 +662,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } if (jsonObj.get("targets") != null && !jsonObj.get("targets").isJsonNull()) { JsonArray jsonArraytargets = jsonObj.getAsJsonArray("targets"); if (jsonArraytargets != null) { diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java index 95eeb99b..845c2186 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java @@ -48,7 +48,7 @@ /** * NewAlertGroupDataAttributesAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributesAttributesInner { public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; @SerializedName(SERIALIZED_NAME_JSON_PATH) diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java index e2183985..6041947a 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java @@ -51,7 +51,7 @@ /** * NewAlertGroupDataAttributesConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributesConditionsInner { /** * The type of the property field diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java index dc603a76..3455f53f 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java @@ -49,7 +49,7 @@ /** * NewAlertGroupDataAttributesTargetsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributesTargetsInner { /** * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. diff --git a/src/main/java/com/rootly/client/model/NewAlertRoute.java b/src/main/java/com/rootly/client/model/NewAlertRoute.java index 9ecef423..64dfb5d8 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoute.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoute.java @@ -49,7 +49,7 @@ /** * NewAlertRoute */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRoute { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertRouteData.java b/src/main/java/com/rootly/client/model/NewAlertRouteData.java index f0e4d9a1..5c91adda 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRouteData.java +++ b/src/main/java/com/rootly/client/model/NewAlertRouteData.java @@ -49,7 +49,7 @@ /** * NewAlertRouteData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRouteData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java index 8c6f77fe..864230ff 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java @@ -52,7 +52,7 @@ /** * NewAlertRouteDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRouteDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java index d5b264c6..276b1cd6 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java @@ -52,7 +52,7 @@ /** * NewAlertRouteDataAttributesRulesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRouteDataAttributesRulesInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java index 8d611041..0badd78a 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java @@ -51,7 +51,7 @@ /** * NewAlertRouteDataAttributesRulesInnerConditionGroupsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRouteDataAttributesRulesInnerConditionGroupsInner { public static final String SERIALIZED_NAME_POSITION = "position"; @SerializedName(SERIALIZED_NAME_POSITION) diff --git a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java index a616bee3..6b6d52f3 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java @@ -52,7 +52,7 @@ /** * NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner { /** * Gets or Sets propertyFieldConditionType diff --git a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java index cc1041fc..41f82c0c 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java @@ -49,7 +49,7 @@ /** * NewAlertRouteDataAttributesRulesInnerDestinationsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRouteDataAttributesRulesInnerDestinationsInner { /** * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. diff --git a/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java b/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java index b521d9f3..ccfa2836 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java @@ -49,7 +49,7 @@ /** * NewAlertRoutingRule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRoutingRule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java index 48d9f00a..c34a2c34 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java @@ -49,7 +49,7 @@ /** * NewAlertRoutingRuleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRoutingRuleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java index 2cd2f672..40bf3c67 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java @@ -53,7 +53,7 @@ /** * NewAlertRoutingRuleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRoutingRuleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInner.java index f8312f0f..04002884 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInner.java @@ -50,7 +50,7 @@ /** * NewAlertRoutingRuleDataAttributesConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRoutingRuleDataAttributesConditionsInner { /** * The type of the property field diff --git a/src/main/java/com/rootly/client/model/NewAlertUrgency.java b/src/main/java/com/rootly/client/model/NewAlertUrgency.java index d3ffb207..eb5cf18d 100644 --- a/src/main/java/com/rootly/client/model/NewAlertUrgency.java +++ b/src/main/java/com/rootly/client/model/NewAlertUrgency.java @@ -49,7 +49,7 @@ /** * NewAlertUrgency */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertUrgency { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertUrgencyData.java b/src/main/java/com/rootly/client/model/NewAlertUrgencyData.java index 370b26d4..e46a2946 100644 --- a/src/main/java/com/rootly/client/model/NewAlertUrgencyData.java +++ b/src/main/java/com/rootly/client/model/NewAlertUrgencyData.java @@ -49,7 +49,7 @@ /** * NewAlertUrgencyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertUrgencyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java index 69a2ef23..e8bf8d5d 100644 --- a/src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java @@ -49,7 +49,7 @@ /** * NewAlertUrgencyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertUrgencyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,10 +66,88 @@ public class NewAlertUrgencyDataAttributes { @jakarta.annotation.Nullable private Integer position; + /** + * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, -1 = never. + */ + @JsonAdapter(RetriggerTimeoutMinutesEnum.Adapter.class) + public enum RetriggerTimeoutMinutesEnum { + NUMBER_MINUS_1(-1), + + NUMBER_10(10), + + NUMBER_20(20), + + NUMBER_30(30), + + NUMBER_40(40), + + NUMBER_50(50), + + NUMBER_60(60), + + NUMBER_90(90), + + NUMBER_120(120), + + NUMBER_180(180), + + NUMBER_240(240), + + NUMBER_300(300), + + NUMBER_360(360), + + NUMBER_720(720), + + NUMBER_1440(1440); + + private Integer value; + + RetriggerTimeoutMinutesEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RetriggerTimeoutMinutesEnum fromValue(Integer value) { + for (RetriggerTimeoutMinutesEnum b : RetriggerTimeoutMinutesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RetriggerTimeoutMinutesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RetriggerTimeoutMinutesEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES = "retrigger_timeout_minutes"; @SerializedName(SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES) @jakarta.annotation.Nullable - private Integer retriggerTimeoutMinutes; + private RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes; public NewAlertUrgencyDataAttributes() { } @@ -131,21 +209,21 @@ public void setPosition(@jakarta.annotation.Nullable Integer position) { } - public NewAlertUrgencyDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public NewAlertUrgencyDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; return this; } /** - * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, negative = never. + * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, -1 = never. * @return retriggerTimeoutMinutes */ @jakarta.annotation.Nullable - public Integer getRetriggerTimeoutMinutes() { + public RetriggerTimeoutMinutesEnum getRetriggerTimeoutMinutes() { return retriggerTimeoutMinutes; } - public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; } @@ -257,6 +335,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + // validate the optional field `retrigger_timeout_minutes` + if (jsonObj.get("retrigger_timeout_minutes") != null && !jsonObj.get("retrigger_timeout_minutes").isJsonNull()) { + RetriggerTimeoutMinutesEnum.validateJsonElement(jsonObj.get("retrigger_timeout_minutes")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewAlertsSource.java b/src/main/java/com/rootly/client/model/NewAlertsSource.java index d7cd3453..96b3ca34 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSource.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSource.java @@ -49,7 +49,7 @@ /** * NewAlertsSource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSource { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceData.java b/src/main/java/com/rootly/client/model/NewAlertsSourceData.java index b4fa508f..b9d78270 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceData.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceData.java @@ -49,7 +49,7 @@ /** * NewAlertsSourceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java index 695c4902..7d20d404 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java @@ -56,7 +56,7 @@ /** * NewAlertsSourceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java index 800c5ec5..01f3ab24 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java @@ -49,7 +49,7 @@ /** * NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner { public static final String SERIALIZED_NAME_ALERT_FIELD_ID = "alert_field_id"; @SerializedName(SERIALIZED_NAME_ALERT_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java index d2d2f0dc..52e69570 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java @@ -49,7 +49,7 @@ /** * NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner { public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; @SerializedName(SERIALIZED_NAME_JSON_PATH) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java index ad9dc736..f2c4165b 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java @@ -49,7 +49,7 @@ /** * NewAlertsSourceDataAttributesAlertTemplateAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesAlertTemplateAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java index 8101646a..d098513c 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java @@ -52,7 +52,7 @@ /** * Provide additional attributes for email alerts source */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesResolutionRuleAttributes { public static final String SERIALIZED_NAME_ENABLED = "enabled"; @SerializedName(SERIALIZED_NAME_ENABLED) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java index 892337b7..5b56a6bc 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java @@ -49,7 +49,7 @@ /** * NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner { public static final String SERIALIZED_NAME_FIELD = "field"; @SerializedName(SERIALIZED_NAME_FIELD) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java index f850ec2c..7960d110 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java @@ -50,9 +50,9 @@ import com.rootly.client.JSON; /** - * Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails` applies to email sources. + * Provide additional attributes for the underlying source. `auto_resolve`, `resolve_state` and `field_mappings_attributes` apply to generic_webhook sources; `accept_threaded_emails`, `notification_target_type` and `notification_target_id` apply to email sources. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesSourceableAttributes { public static final String SERIALIZED_NAME_AUTO_RESOLVE = "auto_resolve"; @SerializedName(SERIALIZED_NAME_AUTO_RESOLVE) @@ -69,6 +69,74 @@ public class NewAlertsSourceDataAttributesSourceableAttributes { @jakarta.annotation.Nullable private Boolean acceptThreadedEmails; + /** + * Email sources only. The type of the notification target every alert from this source pages directly; While it points to an active, pageable target, Alert Routes are not evaluated. Only used when the `email-alert-source-notification-target` feature flag is on for the team. + */ + @JsonAdapter(NotificationTargetTypeEnum.Adapter.class) + public enum NotificationTargetTypeEnum { + ESCALATION_POLICY("EscalationPolicy"), + + GROUP("Group"), + + SERVICE("Service"), + + FUNCTIONALITY("Functionality"), + + USER("User"); + + private String value; + + NotificationTargetTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTargetTypeEnum fromValue(String value) { + for (NotificationTargetTypeEnum b : NotificationTargetTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTargetTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTargetTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTargetTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + NotificationTargetTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TARGET_TYPE = "notification_target_type"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TARGET_TYPE) + @jakarta.annotation.Nullable + private NotificationTargetTypeEnum notificationTargetType; + + public static final String SERIALIZED_NAME_NOTIFICATION_TARGET_ID = "notification_target_id"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TARGET_ID) + @jakarta.annotation.Nullable + private String notificationTargetId; + public static final String SERIALIZED_NAME_FIELD_MAPPINGS_ATTRIBUTES = "field_mappings_attributes"; @SerializedName(SERIALIZED_NAME_FIELD_MAPPINGS_ATTRIBUTES) @jakarta.annotation.Nullable @@ -134,6 +202,44 @@ public void setAcceptThreadedEmails(@jakarta.annotation.Nullable Boolean acceptT } + public NewAlertsSourceDataAttributesSourceableAttributes notificationTargetType(@jakarta.annotation.Nullable NotificationTargetTypeEnum notificationTargetType) { + this.notificationTargetType = notificationTargetType; + return this; + } + + /** + * Email sources only. The type of the notification target every alert from this source pages directly; While it points to an active, pageable target, Alert Routes are not evaluated. Only used when the `email-alert-source-notification-target` feature flag is on for the team. + * @return notificationTargetType + */ + @jakarta.annotation.Nullable + public NotificationTargetTypeEnum getNotificationTargetType() { + return notificationTargetType; + } + + public void setNotificationTargetType(@jakarta.annotation.Nullable NotificationTargetTypeEnum notificationTargetType) { + this.notificationTargetType = notificationTargetType; + } + + + public NewAlertsSourceDataAttributesSourceableAttributes notificationTargetId(@jakarta.annotation.Nullable String notificationTargetId) { + this.notificationTargetId = notificationTargetId; + return this; + } + + /** + * Email sources only. The ID of the notification target. Set to null to clear it; this also clears `notification_target_type`. Only used when the `email-alert-source-notification-target` feature flag is on for the team. + * @return notificationTargetId + */ + @jakarta.annotation.Nullable + public String getNotificationTargetId() { + return notificationTargetId; + } + + public void setNotificationTargetId(@jakarta.annotation.Nullable String notificationTargetId) { + this.notificationTargetId = notificationTargetId; + } + + public NewAlertsSourceDataAttributesSourceableAttributes fieldMappingsAttributes(@jakarta.annotation.Nullable List fieldMappingsAttributes) { this.fieldMappingsAttributes = fieldMappingsAttributes; return this; @@ -174,6 +280,8 @@ public boolean equals(Object o) { return Objects.equals(this.autoResolve, newAlertsSourceDataAttributesSourceableAttributes.autoResolve) && Objects.equals(this.resolveState, newAlertsSourceDataAttributesSourceableAttributes.resolveState) && Objects.equals(this.acceptThreadedEmails, newAlertsSourceDataAttributesSourceableAttributes.acceptThreadedEmails) && + Objects.equals(this.notificationTargetType, newAlertsSourceDataAttributesSourceableAttributes.notificationTargetType) && + Objects.equals(this.notificationTargetId, newAlertsSourceDataAttributesSourceableAttributes.notificationTargetId) && Objects.equals(this.fieldMappingsAttributes, newAlertsSourceDataAttributesSourceableAttributes.fieldMappingsAttributes); } @@ -183,7 +291,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(autoResolve, resolveState, acceptThreadedEmails, fieldMappingsAttributes); + return Objects.hash(autoResolve, resolveState, acceptThreadedEmails, notificationTargetType, notificationTargetId, fieldMappingsAttributes); } private static int hashCodeNullable(JsonNullable a) { @@ -200,6 +308,8 @@ public String toString() { sb.append(" autoResolve: ").append(toIndentedString(autoResolve)).append("\n"); sb.append(" resolveState: ").append(toIndentedString(resolveState)).append("\n"); sb.append(" acceptThreadedEmails: ").append(toIndentedString(acceptThreadedEmails)).append("\n"); + sb.append(" notificationTargetType: ").append(toIndentedString(notificationTargetType)).append("\n"); + sb.append(" notificationTargetId: ").append(toIndentedString(notificationTargetId)).append("\n"); sb.append(" fieldMappingsAttributes: ").append(toIndentedString(fieldMappingsAttributes)).append("\n"); sb.append("}"); return sb.toString(); @@ -226,6 +336,8 @@ private String toIndentedString(Object o) { openapiFields.add("auto_resolve"); openapiFields.add("resolve_state"); openapiFields.add("accept_threaded_emails"); + openapiFields.add("notification_target_type"); + openapiFields.add("notification_target_id"); openapiFields.add("field_mappings_attributes"); // a set of required properties/fields (JSON key names) @@ -256,6 +368,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("resolve_state") != null && !jsonObj.get("resolve_state").isJsonNull()) && !jsonObj.get("resolve_state").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `resolve_state` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolve_state").toString())); } + if ((jsonObj.get("notification_target_type") != null && !jsonObj.get("notification_target_type").isJsonNull()) && !jsonObj.get("notification_target_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_target_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_target_type").toString())); + } + // validate the optional field `notification_target_type` + if (jsonObj.get("notification_target_type") != null && !jsonObj.get("notification_target_type").isJsonNull()) { + NotificationTargetTypeEnum.validateJsonElement(jsonObj.get("notification_target_type")); + } + if ((jsonObj.get("notification_target_id") != null && !jsonObj.get("notification_target_id").isJsonNull()) && !jsonObj.get("notification_target_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_target_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_target_id").toString())); + } if (jsonObj.get("field_mappings_attributes") != null && !jsonObj.get("field_mappings_attributes").isJsonNull()) { JsonArray jsonArrayfieldMappingsAttributes = jsonObj.getAsJsonArray("field_mappings_attributes"); if (jsonArrayfieldMappingsAttributes != null) { diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java index 8082cf45..e89372c2 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java @@ -48,7 +48,7 @@ /** * NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner { /** * Select the field on which the condition to be evaluated diff --git a/src/main/java/com/rootly/client/model/NewApiKey.java b/src/main/java/com/rootly/client/model/NewApiKey.java index f93ba111..53b306a7 100644 --- a/src/main/java/com/rootly/client/model/NewApiKey.java +++ b/src/main/java/com/rootly/client/model/NewApiKey.java @@ -49,7 +49,7 @@ /** * NewApiKey */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewApiKey { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewApiKeyData.java b/src/main/java/com/rootly/client/model/NewApiKeyData.java index 84db0bbb..05e0cc01 100644 --- a/src/main/java/com/rootly/client/model/NewApiKeyData.java +++ b/src/main/java/com/rootly/client/model/NewApiKeyData.java @@ -49,7 +49,7 @@ /** * NewApiKeyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewApiKeyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java index 17843bd9..99503185 100644 --- a/src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java @@ -50,7 +50,7 @@ /** * NewApiKeyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewApiKeyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAuthorization.java b/src/main/java/com/rootly/client/model/NewAuthorization.java index 38165359..49e6d7cb 100644 --- a/src/main/java/com/rootly/client/model/NewAuthorization.java +++ b/src/main/java/com/rootly/client/model/NewAuthorization.java @@ -49,7 +49,7 @@ /** * NewAuthorization */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAuthorization { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewAuthorizationData.java b/src/main/java/com/rootly/client/model/NewAuthorizationData.java index 8203c9e3..7ef3ba2d 100644 --- a/src/main/java/com/rootly/client/model/NewAuthorizationData.java +++ b/src/main/java/com/rootly/client/model/NewAuthorizationData.java @@ -49,7 +49,7 @@ /** * NewAuthorizationData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAuthorizationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java b/src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java index c12a1029..cad7d938 100644 --- a/src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java @@ -50,7 +50,7 @@ /** * NewAuthorizationDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAuthorizationDataAttributes { public static final String SERIALIZED_NAME_AUTHORIZABLE_ID = "authorizable_id"; @SerializedName(SERIALIZED_NAME_AUTHORIZABLE_ID) diff --git a/src/main/java/com/rootly/client/model/NewCatalog.java b/src/main/java/com/rootly/client/model/NewCatalog.java index 7de29960..77ddaaac 100644 --- a/src/main/java/com/rootly/client/model/NewCatalog.java +++ b/src/main/java/com/rootly/client/model/NewCatalog.java @@ -49,7 +49,7 @@ /** * NewCatalog */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalog { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.java index b83784a1..8cebd5f7 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.java +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.java @@ -49,7 +49,7 @@ /** * NewCatalogChecklistTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogChecklistTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java index 6da59668..85831422 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java @@ -49,7 +49,7 @@ /** * NewCatalogChecklistTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogChecklistTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java index 31b04326..affb01d8 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java @@ -53,7 +53,7 @@ /** * NewCatalogChecklistTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogChecklistTemplateDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java index 006b15fa..4dbbd8c1 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java @@ -59,7 +59,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogChecklistTemplateDataAttributesFieldsInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewCatalogChecklistTemplateDataAttributesFieldsInner.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java index 50a3c419..fb0965b4 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java @@ -48,7 +48,7 @@ /** * NewCatalogChecklistTemplateDataAttributesOwnersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogChecklistTemplateDataAttributesOwnersInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewCatalogData.java b/src/main/java/com/rootly/client/model/NewCatalogData.java index 3a43ad1e..1a3b84fa 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogData.java @@ -49,7 +49,7 @@ /** * NewCatalogData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java index f4c159c6..04ed7836 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java @@ -49,7 +49,7 @@ /** * NewCatalogDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntity.java b/src/main/java/com/rootly/client/model/NewCatalogEntity.java index fc5d1c99..d72d3930 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntity.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntity.java @@ -49,7 +49,7 @@ /** * NewCatalogEntity */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntity { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityData.java b/src/main/java/com/rootly/client/model/NewCatalogEntityData.java index 59d12a43..96a1ddf5 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityData.java @@ -49,7 +49,7 @@ /** * NewCatalogEntityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java index 9b44b831..afec8bb0 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java @@ -52,7 +52,7 @@ /** * NewCatalogEntityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java index 79aad5cc..4c099522 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java @@ -48,7 +48,7 @@ /** * NewCatalogEntityDataAttributesPropertiesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityDataAttributesPropertiesInner { public static final String SERIALIZED_NAME_CATALOG_PROPERTY_ID = "catalog_property_id"; @SerializedName(SERIALIZED_NAME_CATALOG_PROPERTY_ID) diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java b/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java index 6f57d8c6..ecf8c349 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java @@ -51,7 +51,7 @@ * @deprecated */ @Deprecated -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityProperty { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java b/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java index d55b298a..7a991427 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java @@ -49,7 +49,7 @@ /** * NewCatalogEntityPropertyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityPropertyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java index 7eb11499..c3ef767a 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java @@ -48,7 +48,7 @@ /** * Maximum of 50 values allowed per catalog field. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityPropertyDataAttributes { public static final String SERIALIZED_NAME_CATALOG_ENTITY_ID = "catalog_entity_id"; @SerializedName(SERIALIZED_NAME_CATALOG_ENTITY_ID) diff --git a/src/main/java/com/rootly/client/model/NewCatalogField.java b/src/main/java/com/rootly/client/model/NewCatalogField.java index e66bc6aa..6641a675 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogField.java +++ b/src/main/java/com/rootly/client/model/NewCatalogField.java @@ -49,7 +49,7 @@ /** * A catalog can have a maximum of 50 fields. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCatalogFieldData.java b/src/main/java/com/rootly/client/model/NewCatalogFieldData.java index 62a8767d..579000ee 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogFieldData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogFieldData.java @@ -49,7 +49,7 @@ /** * NewCatalogFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java index 8041f2e6..06c523cb 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java @@ -49,7 +49,7 @@ /** * NewCatalogFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogFieldDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCatalogProperty.java b/src/main/java/com/rootly/client/model/NewCatalogProperty.java index cab010ad..93b514a8 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogProperty.java +++ b/src/main/java/com/rootly/client/model/NewCatalogProperty.java @@ -49,7 +49,7 @@ /** * A catalog can have a maximum of 50 properties. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogProperty { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCatalogPropertyData.java b/src/main/java/com/rootly/client/model/NewCatalogPropertyData.java index 23f671d6..14bb9e0a 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogPropertyData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogPropertyData.java @@ -49,7 +49,7 @@ /** * NewCatalogPropertyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogPropertyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java index 6479d129..8b810a41 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java @@ -49,7 +49,7 @@ /** * NewCatalogPropertyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogPropertyDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCause.java b/src/main/java/com/rootly/client/model/NewCause.java index f6dc5c65..075950a9 100644 --- a/src/main/java/com/rootly/client/model/NewCause.java +++ b/src/main/java/com/rootly/client/model/NewCause.java @@ -49,7 +49,7 @@ /** * NewCause */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCause { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCauseData.java b/src/main/java/com/rootly/client/model/NewCauseData.java index 0a078166..671710c3 100644 --- a/src/main/java/com/rootly/client/model/NewCauseData.java +++ b/src/main/java/com/rootly/client/model/NewCauseData.java @@ -49,7 +49,7 @@ /** * NewCauseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCauseData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCauseDataAttributes.java b/src/main/java/com/rootly/client/model/NewCauseDataAttributes.java index b2d74433..4057775f 100644 --- a/src/main/java/com/rootly/client/model/NewCauseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCauseDataAttributes.java @@ -52,7 +52,7 @@ /** * NewCauseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCauseDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java b/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java index 0ab054c5..2b57799b 100644 --- a/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java +++ b/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java @@ -48,7 +48,7 @@ /** * Set a value for a catalog property */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCauseDataAttributesPropertiesInner { public static final String SERIALIZED_NAME_CATALOG_PROPERTY_ID = "catalog_property_id"; @SerializedName(SERIALIZED_NAME_CATALOG_PROPERTY_ID) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsGroup.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroup.java index 08b528ff..c2477599 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsGroup.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroup.java @@ -49,7 +49,7 @@ /** * NewCommunicationsGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java index a2b7c464..f4d2c502 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java @@ -49,7 +49,7 @@ /** * NewCommunicationsGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java index caac351d..92529f44 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java @@ -53,7 +53,7 @@ /** * NewCommunicationsGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java index 1a018fc4..a00ad136 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java @@ -48,7 +48,7 @@ /** * NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java index 32394f26..75ec6831 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java @@ -51,7 +51,7 @@ /** * NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner { /** * Property type diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsStage.java b/src/main/java/com/rootly/client/model/NewCommunicationsStage.java index ae298e31..cc7460c1 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsStage.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsStage.java @@ -49,7 +49,7 @@ /** * NewCommunicationsStage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsStage { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsStageData.java b/src/main/java/com/rootly/client/model/NewCommunicationsStageData.java index b5d26032..1628f7eb 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsStageData.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsStageData.java @@ -49,7 +49,7 @@ /** * NewCommunicationsStageData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsStageData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java index 366c354c..244a90ca 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java @@ -49,7 +49,7 @@ /** * NewCommunicationsStageDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsStageDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java index 8f68feee..ced645fc 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java @@ -49,7 +49,7 @@ /** * NewCommunicationsTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java index af10ddc3..ff5ae705 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java @@ -49,7 +49,7 @@ /** * NewCommunicationsTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java index 2c75abbd..2cc713b0 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java @@ -52,7 +52,7 @@ /** * NewCommunicationsTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java index c1d351bf..2e1a3f25 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java @@ -49,7 +49,7 @@ /** * NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner { public static final String SERIALIZED_NAME_COMMUNICATION_STAGE_ID = "communication_stage_id"; @SerializedName(SERIALIZED_NAME_COMMUNICATION_STAGE_ID) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsType.java b/src/main/java/com/rootly/client/model/NewCommunicationsType.java index 136b0148..d274deea 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsType.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsType.java @@ -49,7 +49,7 @@ /** * NewCommunicationsType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsType { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java b/src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java index 07ceb9a7..559e2c18 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java @@ -49,7 +49,7 @@ /** * NewCommunicationsTypeData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTypeData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java index 865fc725..2c1f557a 100644 --- a/src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java @@ -49,7 +49,7 @@ /** * NewCommunicationsTypeDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTypeDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewCustomField.java b/src/main/java/com/rootly/client/model/NewCustomField.java index 852fc967..81dfcf7e 100644 --- a/src/main/java/com/rootly/client/model/NewCustomField.java +++ b/src/main/java/com/rootly/client/model/NewCustomField.java @@ -49,7 +49,7 @@ /** * NewCustomField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCustomFieldData.java b/src/main/java/com/rootly/client/model/NewCustomFieldData.java index 24a729b7..41f6f4e8 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldData.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldData.java @@ -49,7 +49,7 @@ /** * NewCustomFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java b/src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java index 1253bf27..1c5a0ea9 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java @@ -51,7 +51,7 @@ /** * NewCustomFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFieldDataAttributes { public static final String SERIALIZED_NAME_LABEL = "label"; @SerializedName(SERIALIZED_NAME_LABEL) diff --git a/src/main/java/com/rootly/client/model/NewCustomFieldOption.java b/src/main/java/com/rootly/client/model/NewCustomFieldOption.java index 28808ac7..11571377 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldOption.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldOption.java @@ -49,7 +49,7 @@ /** * NewCustomFieldOption */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFieldOption { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCustomFieldOptionData.java b/src/main/java/com/rootly/client/model/NewCustomFieldOptionData.java index b4c07564..8e9bad0d 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldOptionData.java @@ -49,7 +49,7 @@ /** * NewCustomFieldOptionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFieldOptionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCustomFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/NewCustomFieldOptionDataAttributes.java index 97fbc439..ff7f2a02 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldOptionDataAttributes.java @@ -48,7 +48,7 @@ /** * NewCustomFieldOptionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFieldOptionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) diff --git a/src/main/java/com/rootly/client/model/NewCustomForm.java b/src/main/java/com/rootly/client/model/NewCustomForm.java index 889d5e04..4c78f094 100644 --- a/src/main/java/com/rootly/client/model/NewCustomForm.java +++ b/src/main/java/com/rootly/client/model/NewCustomForm.java @@ -49,7 +49,7 @@ /** * NewCustomForm */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomForm { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewCustomFormData.java b/src/main/java/com/rootly/client/model/NewCustomFormData.java index 816906b0..3e4a84a6 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFormData.java +++ b/src/main/java/com/rootly/client/model/NewCustomFormData.java @@ -49,7 +49,7 @@ /** * NewCustomFormData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFormData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewCustomFormDataAttributes.java b/src/main/java/com/rootly/client/model/NewCustomFormDataAttributes.java index dd01d471..77b779ee 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFormDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCustomFormDataAttributes.java @@ -49,7 +49,7 @@ /** * NewCustomFormDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFormDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewDashboard.java b/src/main/java/com/rootly/client/model/NewDashboard.java index edc7e685..d7bcba9f 100644 --- a/src/main/java/com/rootly/client/model/NewDashboard.java +++ b/src/main/java/com/rootly/client/model/NewDashboard.java @@ -49,7 +49,7 @@ /** * NewDashboard */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboard { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewDashboardData.java b/src/main/java/com/rootly/client/model/NewDashboardData.java index fbab7afb..a813593a 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardData.java +++ b/src/main/java/com/rootly/client/model/NewDashboardData.java @@ -49,7 +49,7 @@ /** * NewDashboardData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewDashboardDataAttributes.java b/src/main/java/com/rootly/client/model/NewDashboardDataAttributes.java index e778082b..4643fe10 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewDashboardDataAttributes.java @@ -49,7 +49,7 @@ /** * NewDashboardDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanel.java b/src/main/java/com/rootly/client/model/NewDashboardPanel.java index 4bbfa3d9..a9b5519b 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanel.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanel.java @@ -49,7 +49,7 @@ /** * NewDashboardPanel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanel { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelData.java b/src/main/java/com/rootly/client/model/NewDashboardPanelData.java index d701840a..05cb4458 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelData.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelData.java @@ -49,7 +49,7 @@ /** * NewDashboardPanelData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributes.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributes.java index 706a1a8b..5fda85ff 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributes.java @@ -51,7 +51,7 @@ /** * NewDashboardPanelDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParams.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParams.java index 90c3c16c..190018c7 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParams.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParams.java @@ -53,7 +53,7 @@ /** * NewDashboardPanelDataAttributesParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParams { /** * Gets or Sets display diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabels.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabels.java index 1b98780e..7eb7ac67 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabels.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabels.java @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsDatalabels */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatalabels { public static final String SERIALIZED_NAME_ENABLED = "enabled"; @SerializedName(SERIALIZED_NAME_ENABLED) diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInner.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInner.java index 7b350b3f..99e23de1 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInner.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInner.java @@ -54,7 +54,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.java index 7c2e4833..d3dce467 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.java @@ -49,7 +49,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate { /** * Gets or Sets operation diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java index 429a4ff3..f3c4056a 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java @@ -51,7 +51,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner { /** * Gets or Sets operation diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java index e9f02867..65406d14 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner { /** * Gets or Sets operation diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java index 567d5558..1286e7cc 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java @@ -58,7 +58,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java index f373bd36..c110472e 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf { /** * Gets or Sets key diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java index 2dad5591..0d06893c 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsLegend */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsLegend { /** * Gets or Sets groups diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java index 9cf0bb51..f3e26823 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java @@ -49,7 +49,7 @@ /** * NewDashboardPanelDataAttributesPosition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesPosition { public static final String SERIALIZED_NAME_X = "x"; @SerializedName(SERIALIZED_NAME_X) diff --git a/src/main/java/com/rootly/client/model/NewEdgeConnector.java b/src/main/java/com/rootly/client/model/NewEdgeConnector.java index e4ad59be..5fe9af84 100644 --- a/src/main/java/com/rootly/client/model/NewEdgeConnector.java +++ b/src/main/java/com/rootly/client/model/NewEdgeConnector.java @@ -49,7 +49,7 @@ /** * NewEdgeConnector */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEdgeConnector { public static final String SERIALIZED_NAME_EDGE_CONNECTOR = "edge_connector"; @SerializedName(SERIALIZED_NAME_EDGE_CONNECTOR) diff --git a/src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java index 7f50f299..95e9cc36 100644 --- a/src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java @@ -49,7 +49,7 @@ /** * NewEdgeConnectorAction */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEdgeConnectorAction { public static final String SERIALIZED_NAME_ACTION = "action"; @SerializedName(SERIALIZED_NAME_ACTION) diff --git a/src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java index 4fd57b18..6b79bb8a 100644 --- a/src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java @@ -49,7 +49,7 @@ /** * NewEdgeConnectorActionAction */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEdgeConnectorActionAction { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java index 02fd9a97..87fa2f5e 100644 --- a/src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java @@ -52,7 +52,7 @@ /** * NewEdgeConnectorActionActionMetadata */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEdgeConnectorActionActionMetadata { public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) diff --git a/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java index 97421787..c7c62db0 100644 --- a/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -51,7 +52,7 @@ /** * NewEdgeConnectorEdgeConnector */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEdgeConnectorEdgeConnector { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -125,6 +126,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subscriptions = new ArrayList<>(); + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public NewEdgeConnectorEdgeConnector() { } @@ -212,6 +218,33 @@ public void setSubscriptions(@jakarta.annotation.Nullable List subscript } + public NewEdgeConnectorEdgeConnector ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public NewEdgeConnectorEdgeConnector addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams (groups) that own this connector. Required when the caller is a team admin without tenant-wide edge connector permissions + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + @Override public boolean equals(Object o) { @@ -225,7 +258,8 @@ public boolean equals(Object o) { return Objects.equals(this.name, newEdgeConnectorEdgeConnector.name) && Objects.equals(this.description, newEdgeConnectorEdgeConnector.description) && Objects.equals(this.status, newEdgeConnectorEdgeConnector.status) && - Objects.equals(this.subscriptions, newEdgeConnectorEdgeConnector.subscriptions); + Objects.equals(this.subscriptions, newEdgeConnectorEdgeConnector.subscriptions) && + Objects.equals(this.ownerGroupIds, newEdgeConnectorEdgeConnector.ownerGroupIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -234,7 +268,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, status, subscriptions); + return Objects.hash(name, description, status, subscriptions, ownerGroupIds); } private static int hashCodeNullable(JsonNullable a) { @@ -252,6 +286,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" subscriptions: ").append(toIndentedString(subscriptions)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -278,6 +313,7 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("status"); openapiFields.add("subscriptions"); + openapiFields.add("owner_group_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -329,6 +365,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("subscriptions") != null && !jsonObj.get("subscriptions").isJsonNull() && !jsonObj.get("subscriptions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `subscriptions` to be an array in the JSON string but got `%s`", jsonObj.get("subscriptions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewEnvironment.java b/src/main/java/com/rootly/client/model/NewEnvironment.java index 7dabf285..6365f2c7 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironment.java +++ b/src/main/java/com/rootly/client/model/NewEnvironment.java @@ -49,7 +49,7 @@ /** * NewEnvironment */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironment { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewEnvironmentData.java b/src/main/java/com/rootly/client/model/NewEnvironmentData.java index 9cce0ede..64806bd0 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentData.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentData.java @@ -49,7 +49,7 @@ /** * NewEnvironmentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironmentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java index c78be570..6f28c295 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java @@ -54,7 +54,7 @@ /** * NewEnvironmentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironmentDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java index db7710aa..75507291 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java @@ -48,7 +48,7 @@ /** * NewEnvironmentDataAttributesSlackAliasesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironmentDataAttributesSlackAliasesInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInner.java b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInner.java index ed835235..35a5c6fa 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInner.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInner.java @@ -48,7 +48,7 @@ /** * NewEnvironmentDataAttributesSlackChannelsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironmentDataAttributesSlackChannelsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicy.java b/src/main/java/com/rootly/client/model/NewEscalationPolicy.java index 591814b8..68eb0fca 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicy.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicy */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicy { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyData.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyData.java index f727a01e..b85eeb4b 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyData.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyData.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributes.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributes.java index 7dc45afe..b83118ec 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributes.java @@ -52,7 +52,7 @@ /** * NewEscalationPolicyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java index 0bde068c..42594ad1 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java @@ -53,7 +53,7 @@ * @deprecated */ @Deprecated -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyDataAttributesBusinessHours { /** * Time zone for business hours @@ -204,6 +204,10 @@ public enum TimeZoneEnum { ATLANTIC_CAPE_VERDE("Atlantic/Cape_Verde"), + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + EDINBURGH("Edinburgh"), EUROPE_LONDON("Europe/London"), @@ -250,10 +254,6 @@ public enum TimeZoneEnum { EUROPE_BUDAPEST("Europe/Budapest"), - CASABLANCA("Casablanca"), - - AFRICA_CASABLANCA("Africa/Casablanca"), - COPENHAGEN("Copenhagen"), EUROPE_COPENHAGEN("Europe/Copenhagen"), @@ -342,7 +342,7 @@ public enum TimeZoneEnum { KYIV("Kyiv"), - EUROPE_KIEV("Europe/Kiev"), + EUROPE_KYIV("Europe/Kyiv"), PRETORIA("Pretoria"), @@ -476,7 +476,7 @@ public enum TimeZoneEnum { RANGOON("Rangoon"), - ASIA_RANGOON("Asia/Rangoon"), + ASIA_YANGON("Asia/Yangon"), BANGKOK("Bangkok"), @@ -668,7 +668,11 @@ public enum TimeZoneEnum { PACIFIC_KIRITIMATI("Pacific/Kiritimati"), - PACIFIC_NORFOLK("Pacific/Norfolk"); + PACIFIC_NORFOLK("Pacific/Norfolk"), + + ASIA_RANGOON("Asia/Rangoon"), + + EUROPE_KIEV("Europe/Kiev"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java index 7adae711..ca2a4150 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyLevel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyLevel { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelData.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelData.java index 03368c96..c0318f1d 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelData.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelData.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyLevelData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyLevelData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributes.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributes.java index b1e78832..b7d37607 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributes.java @@ -52,7 +52,7 @@ /** * NewEscalationPolicyLevelDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyLevelDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java index 3c563898..c809b450 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java index e7d2d90b..7c58cc83 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyPath */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPath { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java index 4f5508d6..b1afd9c6 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyPathData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java index 576b4c82..f5ca5c4a 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner; import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner; import com.rootly.client.model.NewEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * NewEscalationPolicyPathDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -318,16 +319,156 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private Integer initialDelay; + /** + * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. + */ + @JsonAdapter(RetriggerTimeoutMinutesEnum.Adapter.class) + public enum RetriggerTimeoutMinutesEnum { + NUMBER_MINUS_1(-1), + + NUMBER_10(10), + + NUMBER_20(20), + + NUMBER_30(30), + + NUMBER_40(40), + + NUMBER_50(50), + + NUMBER_60(60), + + NUMBER_90(90), + + NUMBER_120(120), + + NUMBER_180(180), + + NUMBER_240(240), + + NUMBER_300(300), + + NUMBER_360(360), + + NUMBER_720(720), + + NUMBER_1440(1440); + + private Integer value; + + RetriggerTimeoutMinutesEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RetriggerTimeoutMinutesEnum fromValue(Integer value) { + for (RetriggerTimeoutMinutesEnum b : RetriggerTimeoutMinutesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RetriggerTimeoutMinutesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RetriggerTimeoutMinutesEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES = "retrigger_timeout_minutes"; @SerializedName(SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES) @jakarta.annotation.Nullable - private Integer retriggerTimeoutMinutes; + private RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes; public static final String SERIALIZED_NAME_RULES = "rules"; @SerializedName(SERIALIZED_NAME_RULES) @jakarta.annotation.Nullable private List rules = new ArrayList<>(); + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE_RULES = "notification_type_rules"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE_RULES) + @jakarta.annotation.Nullable + private List notificationTypeRules = new ArrayList<>(); + + /** + * Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. + */ + @JsonAdapter(NotificationTypeFallbackEnum.Adapter.class) + public enum NotificationTypeFallbackEnum { + AUDIBLE("audible"), + + QUIET("quiet"); + + private String value; + + NotificationTypeFallbackEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeFallbackEnum fromValue(String value) { + for (NotificationTypeFallbackEnum b : NotificationTypeFallbackEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeFallbackEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeFallbackEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeFallbackEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + NotificationTypeFallbackEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE_FALLBACK = "notification_type_fallback"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE_FALLBACK) + @jakarta.annotation.Nullable + private NotificationTypeFallbackEnum notificationTypeFallback = NotificationTypeFallbackEnum.AUDIBLE; + /** * Time zone used for time restrictions. */ @@ -477,6 +618,10 @@ public enum TimeRestrictionTimeZoneEnum { ATLANTIC_CAPE_VERDE("Atlantic/Cape_Verde"), + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + EDINBURGH("Edinburgh"), EUROPE_LONDON("Europe/London"), @@ -523,10 +668,6 @@ public enum TimeRestrictionTimeZoneEnum { EUROPE_BUDAPEST("Europe/Budapest"), - CASABLANCA("Casablanca"), - - AFRICA_CASABLANCA("Africa/Casablanca"), - COPENHAGEN("Copenhagen"), EUROPE_COPENHAGEN("Europe/Copenhagen"), @@ -615,7 +756,7 @@ public enum TimeRestrictionTimeZoneEnum { KYIV("Kyiv"), - EUROPE_KIEV("Europe/Kiev"), + EUROPE_KYIV("Europe/Kyiv"), PRETORIA("Pretoria"), @@ -749,7 +890,7 @@ public enum TimeRestrictionTimeZoneEnum { RANGOON("Rangoon"), - ASIA_RANGOON("Asia/Rangoon"), + ASIA_YANGON("Asia/Yangon"), BANGKOK("Bangkok"), @@ -941,7 +1082,11 @@ public enum TimeRestrictionTimeZoneEnum { PACIFIC_KIRITIMATI("Pacific/Kiritimati"), - PACIFIC_NORFOLK("Pacific/Norfolk"); + PACIFIC_NORFOLK("Pacific/Norfolk"), + + ASIA_RANGOON("Asia/Rangoon"), + + EUROPE_KIEV("Europe/Kiev"); private String value; @@ -1208,21 +1353,21 @@ public void setInitialDelay(@jakarta.annotation.Nullable Integer initialDelay) { } - public NewEscalationPolicyPathDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public NewEscalationPolicyPathDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; return this; } /** - * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, negative = never. + * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. * @return retriggerTimeoutMinutes */ @jakarta.annotation.Nullable - public Integer getRetriggerTimeoutMinutes() { + public RetriggerTimeoutMinutesEnum getRetriggerTimeoutMinutes() { return retriggerTimeoutMinutes; } - public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; } @@ -1254,6 +1399,52 @@ public void setRules(@jakarta.annotation.Nullable List notificationTypeRules) { + this.notificationTypeRules = notificationTypeRules; + return this; + } + + public NewEscalationPolicyPathDataAttributes addNotificationTypeRulesItem(NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner notificationTypeRulesItem) { + if (this.notificationTypeRules == null) { + this.notificationTypeRules = new ArrayList<>(); + } + this.notificationTypeRules.add(notificationTypeRulesItem); + return this; + } + + /** + * Rules deciding whether an alert pages audible or quiet, evaluated in order — the first matching rule's notification_type wins, otherwise notification_type_fallback applies. When present, the path's notification_type is aligned to notification_type_fallback. Only available when notification type conditions are enabled for the team. + * @return notificationTypeRules + */ + @jakarta.annotation.Nullable + public List getNotificationTypeRules() { + return notificationTypeRules; + } + + public void setNotificationTypeRules(@jakarta.annotation.Nullable List notificationTypeRules) { + this.notificationTypeRules = notificationTypeRules; + } + + + public NewEscalationPolicyPathDataAttributes notificationTypeFallback(@jakarta.annotation.Nullable NotificationTypeFallbackEnum notificationTypeFallback) { + this.notificationTypeFallback = notificationTypeFallback; + return this; + } + + /** + * Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. + * @return notificationTypeFallback + */ + @jakarta.annotation.Nullable + public NotificationTypeFallbackEnum getNotificationTypeFallback() { + return notificationTypeFallback; + } + + public void setNotificationTypeFallback(@jakarta.annotation.Nullable NotificationTypeFallbackEnum notificationTypeFallback) { + this.notificationTypeFallback = notificationTypeFallback; + } + + public NewEscalationPolicyPathDataAttributes timeRestrictionTimeZone(@jakarta.annotation.Nullable TimeRestrictionTimeZoneEnum timeRestrictionTimeZone) { this.timeRestrictionTimeZone = timeRestrictionTimeZone; return this; @@ -1323,6 +1514,8 @@ public boolean equals(Object o) { Objects.equals(this.initialDelay, newEscalationPolicyPathDataAttributes.initialDelay) && Objects.equals(this.retriggerTimeoutMinutes, newEscalationPolicyPathDataAttributes.retriggerTimeoutMinutes) && Objects.equals(this.rules, newEscalationPolicyPathDataAttributes.rules) && + Objects.equals(this.notificationTypeRules, newEscalationPolicyPathDataAttributes.notificationTypeRules) && + Objects.equals(this.notificationTypeFallback, newEscalationPolicyPathDataAttributes.notificationTypeFallback) && Objects.equals(this.timeRestrictionTimeZone, newEscalationPolicyPathDataAttributes.timeRestrictionTimeZone) && Objects.equals(this.timeRestrictions, newEscalationPolicyPathDataAttributes.timeRestrictions); } @@ -1333,7 +1526,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, notificationType, pathType, afterDeferralBehavior, afterDeferralPathId, _default, matchMode, position, repeat, repeatCount, initialDelay, retriggerTimeoutMinutes, rules, timeRestrictionTimeZone, timeRestrictions); + return Objects.hash(name, notificationType, pathType, afterDeferralBehavior, afterDeferralPathId, _default, matchMode, position, repeat, repeatCount, initialDelay, retriggerTimeoutMinutes, rules, notificationTypeRules, notificationTypeFallback, timeRestrictionTimeZone, timeRestrictions); } private static int hashCodeNullable(JsonNullable a) { @@ -1360,6 +1553,8 @@ public String toString() { sb.append(" initialDelay: ").append(toIndentedString(initialDelay)).append("\n"); sb.append(" retriggerTimeoutMinutes: ").append(toIndentedString(retriggerTimeoutMinutes)).append("\n"); sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" notificationTypeRules: ").append(toIndentedString(notificationTypeRules)).append("\n"); + sb.append(" notificationTypeFallback: ").append(toIndentedString(notificationTypeFallback)).append("\n"); sb.append(" timeRestrictionTimeZone: ").append(toIndentedString(timeRestrictionTimeZone)).append("\n"); sb.append(" timeRestrictions: ").append(toIndentedString(timeRestrictions)).append("\n"); sb.append("}"); @@ -1397,6 +1592,8 @@ private String toIndentedString(Object o) { openapiFields.add("initial_delay"); openapiFields.add("retrigger_timeout_minutes"); openapiFields.add("rules"); + openapiFields.add("notification_type_rules"); + openapiFields.add("notification_type_fallback"); openapiFields.add("time_restriction_time_zone"); openapiFields.add("time_restrictions"); @@ -1467,6 +1664,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("match_mode") != null && !jsonObj.get("match_mode").isJsonNull()) { MatchModeEnum.validateJsonElement(jsonObj.get("match_mode")); } + // validate the optional field `retrigger_timeout_minutes` + if (jsonObj.get("retrigger_timeout_minutes") != null && !jsonObj.get("retrigger_timeout_minutes").isJsonNull()) { + RetriggerTimeoutMinutesEnum.validateJsonElement(jsonObj.get("retrigger_timeout_minutes")); + } if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) { JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules"); if (jsonArrayrules != null) { @@ -1481,6 +1682,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if (jsonObj.get("notification_type_rules") != null && !jsonObj.get("notification_type_rules").isJsonNull()) { + JsonArray jsonArraynotificationTypeRules = jsonObj.getAsJsonArray("notification_type_rules"); + if (jsonArraynotificationTypeRules != null) { + // ensure the json data is an array + if (!jsonObj.get("notification_type_rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type_rules` to be an array in the JSON string but got `%s`", jsonObj.get("notification_type_rules").toString())); + } + + // validate the optional field `notification_type_rules` (array) + for (int i = 0; i < jsonArraynotificationTypeRules.size(); i++) { + NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.validateJsonElement(jsonArraynotificationTypeRules.get(i)); + }; + } + } + if ((jsonObj.get("notification_type_fallback") != null && !jsonObj.get("notification_type_fallback").isJsonNull()) && !jsonObj.get("notification_type_fallback").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type_fallback` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_type_fallback").toString())); + } + // validate the optional field `notification_type_fallback` + if (jsonObj.get("notification_type_fallback") != null && !jsonObj.get("notification_type_fallback").isJsonNull()) { + NotificationTypeFallbackEnum.validateJsonElement(jsonObj.get("notification_type_fallback")); + } if ((jsonObj.get("time_restriction_time_zone") != null && !jsonObj.get("time_restriction_time_zone").isJsonNull()) && !jsonObj.get("time_restriction_time_zone").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `time_restriction_time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_restriction_time_zone").toString())); } diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.java new file mode 100644 index 00000000..b9063434 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.java @@ -0,0 +1,404 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner { + /** + * Outcome when this rule matches + */ + @JsonAdapter(NotificationTypeEnum.Adapter.class) + public enum NotificationTypeEnum { + AUDIBLE("audible"), + + QUIET("quiet"); + + private String value; + + NotificationTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeEnum fromValue(String value) { + for (NotificationTypeEnum b : NotificationTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + NotificationTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "notification_type"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE) + @jakarta.annotation.Nullable + private NotificationTypeEnum notificationType = NotificationTypeEnum.AUDIBLE; + + /** + * Whether all or any of the rule's conditions must match + */ + @JsonAdapter(MatchModeEnum.Adapter.class) + public enum MatchModeEnum { + MATCH_ALL_RULES("match-all-rules"), + + MATCH_ANY_RULE("match-any-rule"); + + private String value; + + MatchModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MatchModeEnum fromValue(String value) { + for (MatchModeEnum b : MatchModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MatchModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MatchModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MatchModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + MatchModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MATCH_MODE = "match_mode"; + @SerializedName(SERIALIZED_NAME_MATCH_MODE) + @jakarta.annotation.Nullable + private MatchModeEnum matchMode = MatchModeEnum.MATCH_ALL_RULES; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @jakarta.annotation.Nonnull + private List conditions = new ArrayList<>(); + + public NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner() { + } + + public NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner notificationType(@jakarta.annotation.Nullable NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + return this; + } + + /** + * Outcome when this rule matches + * @return notificationType + */ + @jakarta.annotation.Nullable + public NotificationTypeEnum getNotificationType() { + return notificationType; + } + + public void setNotificationType(@jakarta.annotation.Nullable NotificationTypeEnum notificationType) { + this.notificationType = notificationType; + } + + + public NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner matchMode(@jakarta.annotation.Nullable MatchModeEnum matchMode) { + this.matchMode = matchMode; + return this; + } + + /** + * Whether all or any of the rule's conditions must match + * @return matchMode + */ + @jakarta.annotation.Nullable + public MatchModeEnum getMatchMode() { + return matchMode; + } + + public void setMatchMode(@jakarta.annotation.Nullable MatchModeEnum matchMode) { + this.matchMode = matchMode; + } + + + public NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner conditions(@jakarta.annotation.Nonnull List conditions) { + this.conditions = conditions; + return this; + } + + public NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner addConditionsItem(NewEscalationPolicyPathDataAttributesRulesInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Conditions combined per match_mode, at least one per rule. A deferral_window condition matches when the alert falls inside its time blocks. + * @return conditions + */ + @jakarta.annotation.Nonnull + public List getConditions() { + return conditions; + } + + public void setConditions(@jakarta.annotation.Nonnull List conditions) { + this.conditions = conditions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner newEscalationPolicyPathDataAttributesNotificationTypeRulesInner = (NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner) o; + return Objects.equals(this.notificationType, newEscalationPolicyPathDataAttributesNotificationTypeRulesInner.notificationType) && + Objects.equals(this.matchMode, newEscalationPolicyPathDataAttributesNotificationTypeRulesInner.matchMode) && + Objects.equals(this.conditions, newEscalationPolicyPathDataAttributesNotificationTypeRulesInner.conditions); + } + + @Override + public int hashCode() { + return Objects.hash(notificationType, matchMode, conditions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner {\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append(" matchMode: ").append(toIndentedString(matchMode)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("notification_type"); + openapiFields.add("match_mode"); + openapiFields.add("conditions"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("conditions"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("notification_type") != null && !jsonObj.get("notification_type").isJsonNull()) && !jsonObj.get("notification_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_type").toString())); + } + // validate the optional field `notification_type` + if (jsonObj.get("notification_type") != null && !jsonObj.get("notification_type").isJsonNull()) { + NotificationTypeEnum.validateJsonElement(jsonObj.get("notification_type")); + } + if ((jsonObj.get("match_mode") != null && !jsonObj.get("match_mode").isJsonNull()) && !jsonObj.get("match_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `match_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("match_mode").toString())); + } + // validate the optional field `match_mode` + if (jsonObj.get("match_mode") != null && !jsonObj.get("match_mode").isJsonNull()) { + MatchModeEnum.validateJsonElement(jsonObj.get("match_mode")); + } + // ensure the json data is an array + if (!jsonObj.get("conditions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `conditions` to be an array in the JSON string but got `%s`", jsonObj.get("conditions").toString())); + } + + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + // validate the required field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + NewEscalationPolicyPathDataAttributesRulesInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner + */ + public static NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java index 6398cc4f..b91fef12 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java @@ -19,15 +19,15 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf2; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf3; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf4; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf6; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf7; +import com.rootly.client.model.AlertField; +import com.rootly.client.model.AlertSource; +import com.rootly.client.model.AlertUrgency; +import com.rootly.client.model.DeferralWindow; +import com.rootly.client.model.DeferralWindowTimeBlocksInner; +import com.rootly.client.model.JSONPath; +import com.rootly.client.model.RelatedIncidents; +import com.rootly.client.model.Service; +import com.rootly.client.model.WorkingHours; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -69,7 +69,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewEscalationPolicyPathDataAttributesRulesInner.class.getName()); @@ -81,14 +81,14 @@ public TypeAdapter create(Gson gson, TypeToken type) { return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInner' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf6 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf7 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.class)); + final TypeAdapter adapterAlertUrgency = gson.getDelegateAdapter(this, TypeToken.get(AlertUrgency.class)); + final TypeAdapter adapterWorkingHours = gson.getDelegateAdapter(this, TypeToken.get(WorkingHours.class)); + final TypeAdapter adapterJSONPath = gson.getDelegateAdapter(this, TypeToken.get(JSONPath.class)); + final TypeAdapter adapterAlertField = gson.getDelegateAdapter(this, TypeToken.get(AlertField.class)); + final TypeAdapter adapterService = gson.getDelegateAdapter(this, TypeToken.get(Service.class)); + final TypeAdapter adapterDeferralWindow = gson.getDelegateAdapter(this, TypeToken.get(DeferralWindow.class)); + final TypeAdapter adapterAlertSource = gson.getDelegateAdapter(this, TypeToken.get(AlertSource.class)); + final TypeAdapter adapterRelatedIncidents = gson.getDelegateAdapter(this, TypeToken.get(RelatedIncidents.class)); return (TypeAdapter) new TypeAdapter() { @Override @@ -98,55 +98,55 @@ public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInne return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf)value.getActualInstance()); + // check if the actual instance is of the type `AlertUrgency` + if (value.getActualInstance() instanceof AlertUrgency) { + JsonElement element = adapterAlertUrgency.toJsonTree((AlertUrgency)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)value.getActualInstance()); + // check if the actual instance is of the type `WorkingHours` + if (value.getActualInstance() instanceof WorkingHours) { + JsonElement element = adapterWorkingHours.toJsonTree((WorkingHours)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)value.getActualInstance()); + // check if the actual instance is of the type `JSONPath` + if (value.getActualInstance() instanceof JSONPath) { + JsonElement element = adapterJSONPath.toJsonTree((JSONPath)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)value.getActualInstance()); + // check if the actual instance is of the type `AlertField` + if (value.getActualInstance() instanceof AlertField) { + JsonElement element = adapterAlertField.toJsonTree((AlertField)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf4)value.getActualInstance()); + // check if the actual instance is of the type `Service` + if (value.getActualInstance() instanceof Service) { + JsonElement element = adapterService.toJsonTree((Service)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf5)value.getActualInstance()); + // check if the actual instance is of the type `DeferralWindow` + if (value.getActualInstance() instanceof DeferralWindow) { + JsonElement element = adapterDeferralWindow.toJsonTree((DeferralWindow)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf6) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf6.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf6)value.getActualInstance()); + // check if the actual instance is of the type `AlertSource` + if (value.getActualInstance() instanceof AlertSource) { + JsonElement element = adapterAlertSource.toJsonTree((AlertSource)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf7) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf7.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf7)value.getActualInstance()); + // check if the actual instance is of the type `RelatedIncidents` + if (value.getActualInstance() instanceof RelatedIncidents) { + JsonElement element = adapterRelatedIncidents.toJsonTree((RelatedIncidents)value.getActualInstance()); elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7"); + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours"); } @Override @@ -158,101 +158,101 @@ public NewEscalationPolicyPathDataAttributesRulesInner read(JsonReader in) throw ArrayList errorMessages = new ArrayList<>(); TypeAdapter actualAdapter = elementAdapter; - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf + // deserialize AlertUrgency try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf; + AlertUrgency.validateJsonElement(jsonElement); + actualAdapter = adapterAlertUrgency; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'"); + log.log(Level.FINER, "Input data matches schema 'AlertUrgency'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'", e); + errorMessages.add(String.format("Deserialization for AlertUrgency failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AlertUrgency'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + // deserialize WorkingHours try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1; + WorkingHours.validateJsonElement(jsonElement); + actualAdapter = adapterWorkingHours; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1'"); + log.log(Level.FINER, "Input data matches schema 'WorkingHours'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1'", e); + errorMessages.add(String.format("Deserialization for WorkingHours failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'WorkingHours'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + // deserialize JSONPath try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2; + JSONPath.validateJsonElement(jsonElement); + actualAdapter = adapterJSONPath; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'"); + log.log(Level.FINER, "Input data matches schema 'JSONPath'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'", e); + errorMessages.add(String.format("Deserialization for JSONPath failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'JSONPath'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + // deserialize AlertField try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3; + AlertField.validateJsonElement(jsonElement); + actualAdapter = adapterAlertField; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3'"); + log.log(Level.FINER, "Input data matches schema 'AlertField'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3'", e); + errorMessages.add(String.format("Deserialization for AlertField failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AlertField'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + // deserialize Service try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4; + Service.validateJsonElement(jsonElement); + actualAdapter = adapterService; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4'"); + log.log(Level.FINER, "Input data matches schema 'Service'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4'", e); + errorMessages.add(String.format("Deserialization for Service failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'Service'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + // deserialize DeferralWindow try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5; + DeferralWindow.validateJsonElement(jsonElement); + actualAdapter = adapterDeferralWindow; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5'"); + log.log(Level.FINER, "Input data matches schema 'DeferralWindow'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5'", e); + errorMessages.add(String.format("Deserialization for DeferralWindow failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'DeferralWindow'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + // deserialize AlertSource try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf6; + AlertSource.validateJsonElement(jsonElement); + actualAdapter = adapterAlertSource; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf6'"); + log.log(Level.FINER, "Input data matches schema 'AlertSource'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf6'", e); + errorMessages.add(String.format("Deserialization for AlertSource failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AlertSource'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + // deserialize RelatedIncidents try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf7; + RelatedIncidents.validateJsonElement(jsonElement); + actualAdapter = adapterRelatedIncidents; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf7'"); + log.log(Level.FINER, "Input data matches schema 'RelatedIncidents'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf7'", e); + errorMessages.add(String.format("Deserialization for RelatedIncidents failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'RelatedIncidents'", e); } if (match == 1) { @@ -280,14 +280,14 @@ public NewEscalationPolicyPathDataAttributesRulesInner(Object o) { } static { - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf", NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf1", NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf2", NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf3", NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf4", NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf5", NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf6", NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf7", NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.class); + schemas.put("AlertUrgency", AlertUrgency.class); + schemas.put("WorkingHours", WorkingHours.class); + schemas.put("JSONPath", JSONPath.class); + schemas.put("AlertField", AlertField.class); + schemas.put("Service", Service.class); + schemas.put("DeferralWindow", DeferralWindow.class); + schemas.put("AlertSource", AlertSource.class); + schemas.put("RelatedIncidents", RelatedIncidents.class); } @Override @@ -298,60 +298,60 @@ public Map> getSchemas() { /** * Set the instance that matches the oneOf child schema, check * the instance parameter is valid against the oneOf child schemas: - * NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + * AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours * * It could be an instance of the 'oneOf' schemas. */ @Override public void setActualInstance(Object instance) { - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { + if (instance instanceof AlertUrgency) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { + if (instance instanceof WorkingHours) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { + if (instance instanceof JSONPath) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { + if (instance instanceof AlertField) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) { + if (instance instanceof Service) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) { + if (instance instanceof DeferralWindow) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf6) { + if (instance instanceof AlertSource) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf7) { + if (instance instanceof RelatedIncidents) { super.setActualInstance(instance); return; } - throw new RuntimeException("Invalid instance type. Must be NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7"); + throw new RuntimeException("Invalid instance type. Must be AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours"); } /** * Get the actual instance, which can be the following: - * NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + * AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours * - * @return The actual instance (NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7) + * @return The actual instance (AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours) */ @SuppressWarnings("unchecked") @Override @@ -360,91 +360,91 @@ public Object getActualInstance() { } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`, + * Get the actual instance of `AlertUrgency`. If the actual instance is not `AlertUrgency`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` + * @return The actual instance of `AlertUrgency` + * @throws ClassCastException if the instance is not `AlertUrgency` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf getNewEscalationPolicyPathDataAttributesRulesInnerOneOf() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf)super.getActualInstance(); + public AlertUrgency getAlertUrgency() throws ClassCastException { + return (AlertUrgency)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`, + * Get the actual instance of `WorkingHours`. If the actual instance is not `WorkingHours`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` + * @return The actual instance of `WorkingHours` + * @throws ClassCastException if the instance is not `WorkingHours` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf1() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)super.getActualInstance(); + public WorkingHours getWorkingHours() throws ClassCastException { + return (WorkingHours)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`, + * Get the actual instance of `JSONPath`. If the actual instance is not `JSONPath`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` + * @return The actual instance of `JSONPath` + * @throws ClassCastException if the instance is not `JSONPath` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf2() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)super.getActualInstance(); + public JSONPath getJSONPath() throws ClassCastException { + return (JSONPath)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`, + * Get the actual instance of `AlertField`. If the actual instance is not `AlertField`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + * @return The actual instance of `AlertField` + * @throws ClassCastException if the instance is not `AlertField` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf3() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)super.getActualInstance(); + public AlertField getAlertField() throws ClassCastException { + return (AlertField)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`, + * Get the actual instance of `Service`. If the actual instance is not `Service`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` + * @return The actual instance of `Service` + * @throws ClassCastException if the instance is not `Service` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf4() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf4)super.getActualInstance(); + public Service getService() throws ClassCastException { + return (Service)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`, + * Get the actual instance of `DeferralWindow`. If the actual instance is not `DeferralWindow`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` + * @return The actual instance of `DeferralWindow` + * @throws ClassCastException if the instance is not `DeferralWindow` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf5() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf5)super.getActualInstance(); + public DeferralWindow getDeferralWindow() throws ClassCastException { + return (DeferralWindow)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6`, + * Get the actual instance of `AlertSource`. If the actual instance is not `AlertSource`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6` + * @return The actual instance of `AlertSource` + * @throws ClassCastException if the instance is not `AlertSource` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf6() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf6)super.getActualInstance(); + public AlertSource getAlertSource() throws ClassCastException { + return (AlertSource)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7`, + * Get the actual instance of `RelatedIncidents`. If the actual instance is not `RelatedIncidents`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7` + * @return The actual instance of `RelatedIncidents` + * @throws ClassCastException if the instance is not `RelatedIncidents` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf7() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf7)super.getActualInstance(); + public RelatedIncidents getRelatedIncidents() throws ClassCastException { + return (RelatedIncidents)super.getActualInstance(); } /** @@ -457,72 +457,72 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate oneOf schemas one by one int validCount = 0; ArrayList errorMessages = new ArrayList<>(); - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf + // validate the json string with AlertUrgency try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); + AlertUrgency.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for AlertUrgency failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + // validate the json string with WorkingHours try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); + WorkingHours.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for WorkingHours failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + // validate the json string with JSONPath try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); + JSONPath.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for JSONPath failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + // validate the json string with AlertField try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); + AlertField.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for AlertField failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + // validate the json string with Service try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); + Service.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for Service failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + // validate the json string with DeferralWindow try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); + DeferralWindow.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for DeferralWindow failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + // validate the json string with AlertSource try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.validateJsonElement(jsonElement); + AlertSource.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for AlertSource failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + // validate the json string with RelatedIncidents try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.validateJsonElement(jsonElement); + RelatedIncidents.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for RelatedIncidents failed with `%s`.", e.getMessage())); // continue to the next one } if (validCount != 1) { - throw new IOException(String.format("The JSON string is invalid for NewEscalationPolicyPathDataAttributesRulesInner with oneOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); + throw new IOException(String.format("The JSON string is invalid for NewEscalationPolicyPathDataAttributesRulesInner with oneOf schemas: AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); } } diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java index 6d67bcf4..f761457f 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java @@ -48,7 +48,7 @@ /** * NewEscalationPolicyPathDataAttributesTimeRestrictionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesTimeRestrictionsInner { /** * Gets or Sets startDay diff --git a/src/main/java/com/rootly/client/model/NewFormField.java b/src/main/java/com/rootly/client/model/NewFormField.java index d007022d..5a7b8db5 100644 --- a/src/main/java/com/rootly/client/model/NewFormField.java +++ b/src/main/java/com/rootly/client/model/NewFormField.java @@ -49,7 +49,7 @@ /** * NewFormField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldData.java b/src/main/java/com/rootly/client/model/NewFormFieldData.java index d911e958..0c5b8695 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldData.java @@ -49,7 +49,7 @@ /** * NewFormFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java index 883221ed..2ca66dbe 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java @@ -51,7 +51,7 @@ /** * NewFormFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -74,6 +74,8 @@ public enum KindEnum { RESOLUTION_MESSAGE("resolution_message"), + CANCELLATION_MESSAGE("cancellation_message"), + SEVERITY("severity"), ENVIRONMENTS("environments"), diff --git a/src/main/java/com/rootly/client/model/NewFormFieldOption.java b/src/main/java/com/rootly/client/model/NewFormFieldOption.java index fdbf1df3..077339fa 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldOption.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldOption.java @@ -49,7 +49,7 @@ /** * NewFormFieldOption */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldOption { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldOptionData.java b/src/main/java/com/rootly/client/model/NewFormFieldOptionData.java index ebb86133..91c5a5ae 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldOptionData.java @@ -49,7 +49,7 @@ /** * NewFormFieldOptionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldOptionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormFieldOptionDataAttributes.java index 9a3b852c..c6fa1f79 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldOptionDataAttributes.java @@ -48,7 +48,7 @@ /** * NewFormFieldOptionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldOptionDataAttributes { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java index 8776fbf4..c54f220d 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java @@ -49,7 +49,7 @@ /** * NewFormFieldPlacement */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacement { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacementCondition.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacementCondition.java index 6f099ceb..2549dd7a 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementCondition.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementCondition.java @@ -49,7 +49,7 @@ /** * NewFormFieldPlacementCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacementCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionData.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionData.java index b57b2f67..e019405f 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionData.java @@ -49,7 +49,7 @@ /** * NewFormFieldPlacementConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacementConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributes.java index 4687ae82..7bdb2cbb 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * NewFormFieldPlacementConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacementConditionDataAttributes { /** * The resource or attribute the condition applies. diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java index 58422f88..16157657 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java @@ -49,7 +49,7 @@ /** * NewFormFieldPlacementData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacementData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacementDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacementDataAttributes.java index eba65b60..752a9aeb 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementDataAttributes.java @@ -48,7 +48,7 @@ /** * NewFormFieldPlacementDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacementDataAttributes { public static final String SERIALIZED_NAME_FORM_SET_ID = "form_set_id"; @SerializedName(SERIALIZED_NAME_FORM_SET_ID) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPosition.java b/src/main/java/com/rootly/client/model/NewFormFieldPosition.java index ebde1896..0c7c8a5b 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPosition.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPosition.java @@ -49,7 +49,7 @@ /** * NewFormFieldPosition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPosition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPositionData.java b/src/main/java/com/rootly/client/model/NewFormFieldPositionData.java index df83df77..99730b1a 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPositionData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPositionData.java @@ -49,7 +49,7 @@ /** * NewFormFieldPositionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPositionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPositionDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormFieldPositionDataAttributes.java index 2ddafdcd..e1cbb931 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPositionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPositionDataAttributes.java @@ -48,7 +48,7 @@ /** * NewFormFieldPositionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPositionDataAttributes { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewFormSet.java b/src/main/java/com/rootly/client/model/NewFormSet.java index bc933dfb..789981ae 100644 --- a/src/main/java/com/rootly/client/model/NewFormSet.java +++ b/src/main/java/com/rootly/client/model/NewFormSet.java @@ -49,7 +49,7 @@ /** * NewFormSet */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSet { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormSetCondition.java b/src/main/java/com/rootly/client/model/NewFormSetCondition.java index 56f76e53..198ba3ac 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetCondition.java +++ b/src/main/java/com/rootly/client/model/NewFormSetCondition.java @@ -49,7 +49,7 @@ /** * NewFormSetCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFormSetConditionData.java b/src/main/java/com/rootly/client/model/NewFormSetConditionData.java index 50738fdf..7a3e70c1 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetConditionData.java +++ b/src/main/java/com/rootly/client/model/NewFormSetConditionData.java @@ -49,7 +49,7 @@ /** * NewFormSetConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormSetConditionDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormSetConditionDataAttributes.java index f08bc5f8..a791eccc 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormSetConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * NewFormSetConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetConditionDataAttributes { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewFormSetData.java b/src/main/java/com/rootly/client/model/NewFormSetData.java index 6863ec6d..bc213ce6 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetData.java +++ b/src/main/java/com/rootly/client/model/NewFormSetData.java @@ -49,7 +49,7 @@ /** * NewFormSetData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java b/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java index 32911a66..7d923cf8 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java @@ -51,7 +51,7 @@ /** * NewFormSetDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewFunctionality.java b/src/main/java/com/rootly/client/model/NewFunctionality.java index f8c9cc5c..a9c9a250 100644 --- a/src/main/java/com/rootly/client/model/NewFunctionality.java +++ b/src/main/java/com/rootly/client/model/NewFunctionality.java @@ -49,7 +49,7 @@ /** * NewFunctionality */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFunctionality { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewFunctionalityData.java b/src/main/java/com/rootly/client/model/NewFunctionalityData.java index 638c6d02..121f393f 100644 --- a/src/main/java/com/rootly/client/model/NewFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/NewFunctionalityData.java @@ -49,7 +49,7 @@ /** * NewFunctionalityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFunctionalityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/NewFunctionalityDataAttributes.java index 1dc665fd..6ae5c482 100644 --- a/src/main/java/com/rootly/client/model/NewFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFunctionalityDataAttributes.java @@ -54,7 +54,7 @@ /** * NewFunctionalityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFunctionalityDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewHeartbeat.java b/src/main/java/com/rootly/client/model/NewHeartbeat.java index ee2ffffd..bbb3765e 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeat.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeat.java @@ -49,7 +49,7 @@ /** * NewHeartbeat */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewHeartbeat { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewHeartbeatData.java b/src/main/java/com/rootly/client/model/NewHeartbeatData.java index 11196c17..99a828e9 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeatData.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeatData.java @@ -49,7 +49,7 @@ /** * NewHeartbeatData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewHeartbeatData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java b/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java index 60604fea..08d7a2cf 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java @@ -51,7 +51,7 @@ /** * NewHeartbeatDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewHeartbeatDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewIncident.java b/src/main/java/com/rootly/client/model/NewIncident.java index 02386640..82069312 100644 --- a/src/main/java/com/rootly/client/model/NewIncident.java +++ b/src/main/java/com/rootly/client/model/NewIncident.java @@ -49,7 +49,7 @@ /** * NewIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentActionItem.java b/src/main/java/com/rootly/client/model/NewIncidentActionItem.java index af7015ac..c3f00619 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItem.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItem.java @@ -49,7 +49,7 @@ /** * NewIncidentActionItem */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentActionItem { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentActionItemData.java b/src/main/java/com/rootly/client/model/NewIncidentActionItemData.java index f344e694..ec88dfbc 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemData.java @@ -49,7 +49,7 @@ /** * NewIncidentActionItemData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentActionItemData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java index ca122a18..66228f38 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java @@ -52,7 +52,7 @@ /** * NewIncidentActionItemDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentActionItemDataAttributes { public static final String SERIALIZED_NAME_SUMMARY = "summary"; @SerializedName(SERIALIZED_NAME_SUMMARY) diff --git a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInner.java b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInner.java index 84d901e2..5ab4f77a 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInner.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInner.java @@ -52,7 +52,7 @@ /** * NewIncidentActionItemDataAttributesFormFieldSelectionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentActionItemDataAttributesFormFieldSelectionsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInnerValue.java b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInnerValue.java index b75875cd..9d689871 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInnerValue.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributesFormFieldSelectionsInnerValue.java @@ -51,7 +51,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentActionItemDataAttributesFormFieldSelectionsInnerValue extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewIncidentActionItemDataAttributesFormFieldSelectionsInnerValue.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java index f4ac5d72..fdc4aff5 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java @@ -49,7 +49,7 @@ /** * NewIncidentCustomFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentCustomFieldSelection { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionData.java b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionData.java index ebb9e39c..a63e6a9f 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionData.java @@ -49,7 +49,7 @@ /** * NewIncidentCustomFieldSelectionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentCustomFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributes.java index 8c3dd8c6..26008203 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributes.java @@ -50,7 +50,7 @@ /** * NewIncidentCustomFieldSelectionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentCustomFieldSelectionDataAttributes { public static final String SERIALIZED_NAME_CUSTOM_FIELD_ID = "custom_field_id"; @SerializedName(SERIALIZED_NAME_CUSTOM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentData.java b/src/main/java/com/rootly/client/model/NewIncidentData.java index 8f32f05e..1a113076 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentData.java @@ -49,7 +49,7 @@ /** * NewIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentDataAttributes.java index 909bef50..ee3832ef 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentDataAttributes.java @@ -51,7 +51,7 @@ /** * NewIncidentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -254,6 +254,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String jiraIssueUrl; + public static final String SERIALIZED_NAME_LINEAR_ISSUE_KEY = "linear_issue_key"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_KEY) + @jakarta.annotation.Nullable + private String linearIssueKey; + + public static final String SERIALIZED_NAME_LINEAR_ISSUE_ID = "linear_issue_id"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_ID) + @jakarta.annotation.Nullable + private String linearIssueId; + + public static final String SERIALIZED_NAME_LINEAR_ISSUE_URL = "linear_issue_url"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_URL) + @jakarta.annotation.Nullable + private String linearIssueUrl; + public static final String SERIALIZED_NAME_NOTIFY_EMAILS = "notify_emails"; @SerializedName(SERIALIZED_NAME_NOTIFY_EMAILS) @jakarta.annotation.Nullable @@ -969,6 +984,63 @@ public void setJiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { } + public NewIncidentDataAttributes linearIssueKey(@jakarta.annotation.Nullable String linearIssueKey) { + this.linearIssueKey = linearIssueKey; + return this; + } + + /** + * Linear issue key + * @return linearIssueKey + */ + @jakarta.annotation.Nullable + public String getLinearIssueKey() { + return linearIssueKey; + } + + public void setLinearIssueKey(@jakarta.annotation.Nullable String linearIssueKey) { + this.linearIssueKey = linearIssueKey; + } + + + public NewIncidentDataAttributes linearIssueId(@jakarta.annotation.Nullable String linearIssueId) { + this.linearIssueId = linearIssueId; + return this; + } + + /** + * Linear issue ID + * @return linearIssueId + */ + @jakarta.annotation.Nullable + public String getLinearIssueId() { + return linearIssueId; + } + + public void setLinearIssueId(@jakarta.annotation.Nullable String linearIssueId) { + this.linearIssueId = linearIssueId; + } + + + public NewIncidentDataAttributes linearIssueUrl(@jakarta.annotation.Nullable String linearIssueUrl) { + this.linearIssueUrl = linearIssueUrl; + return this; + } + + /** + * Linear issue URL + * @return linearIssueUrl + */ + @jakarta.annotation.Nullable + public String getLinearIssueUrl() { + return linearIssueUrl; + } + + public void setLinearIssueUrl(@jakarta.annotation.Nullable String linearIssueUrl) { + this.linearIssueUrl = linearIssueUrl; + } + + public NewIncidentDataAttributes notifyEmails(@jakarta.annotation.Nullable List notifyEmails) { this.notifyEmails = notifyEmails; return this; @@ -1261,6 +1333,9 @@ public boolean equals(Object o) { Objects.equals(this.jiraIssueKey, newIncidentDataAttributes.jiraIssueKey) && Objects.equals(this.jiraIssueId, newIncidentDataAttributes.jiraIssueId) && Objects.equals(this.jiraIssueUrl, newIncidentDataAttributes.jiraIssueUrl) && + Objects.equals(this.linearIssueKey, newIncidentDataAttributes.linearIssueKey) && + Objects.equals(this.linearIssueId, newIncidentDataAttributes.linearIssueId) && + Objects.equals(this.linearIssueUrl, newIncidentDataAttributes.linearIssueUrl) && Objects.equals(this.notifyEmails, newIncidentDataAttributes.notifyEmails) && Objects.equals(this.status, newIncidentDataAttributes.status) && Objects.equals(this.url, newIncidentDataAttributes.url) && @@ -1282,7 +1357,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, kind, parentIncidentId, duplicateIncidentId, _private, summary, userId, severityId, publicTitle, alertIds, environmentIds, incidentTypeIds, serviceIds, functionalityIds, groupIds, causeIds, mutedServiceIds, labels, slackChannelName, slackChannelId, slackChannelUrl, slackChannelArchived, googleDriveParentId, googleDriveUrl, jiraIssueKey, jiraIssueId, jiraIssueUrl, notifyEmails, status, url, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt); + return Objects.hash(title, kind, parentIncidentId, duplicateIncidentId, _private, summary, userId, severityId, publicTitle, alertIds, environmentIds, incidentTypeIds, serviceIds, functionalityIds, groupIds, causeIds, mutedServiceIds, labels, slackChannelName, slackChannelId, slackChannelUrl, slackChannelArchived, googleDriveParentId, googleDriveUrl, jiraIssueKey, jiraIssueId, jiraIssueUrl, linearIssueKey, linearIssueId, linearIssueUrl, notifyEmails, status, url, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt); } private static int hashCodeNullable(JsonNullable a) { @@ -1323,6 +1398,9 @@ public String toString() { sb.append(" jiraIssueKey: ").append(toIndentedString(jiraIssueKey)).append("\n"); sb.append(" jiraIssueId: ").append(toIndentedString(jiraIssueId)).append("\n"); sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); + sb.append(" linearIssueKey: ").append(toIndentedString(linearIssueKey)).append("\n"); + sb.append(" linearIssueId: ").append(toIndentedString(linearIssueId)).append("\n"); + sb.append(" linearIssueUrl: ").append(toIndentedString(linearIssueUrl)).append("\n"); sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); @@ -1385,6 +1463,9 @@ private String toIndentedString(Object o) { openapiFields.add("jira_issue_key"); openapiFields.add("jira_issue_id"); openapiFields.add("jira_issue_url"); + openapiFields.add("linear_issue_key"); + openapiFields.add("linear_issue_id"); + openapiFields.add("linear_issue_url"); openapiFields.add("notify_emails"); openapiFields.add("status"); openapiFields.add("url"); @@ -1508,6 +1589,15 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("jira_issue_url") != null && !jsonObj.get("jira_issue_url").isJsonNull()) && !jsonObj.get("jira_issue_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `jira_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_url").toString())); } + if ((jsonObj.get("linear_issue_key") != null && !jsonObj.get("linear_issue_key").isJsonNull()) && !jsonObj.get("linear_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_key").toString())); + } + if ((jsonObj.get("linear_issue_id") != null && !jsonObj.get("linear_issue_id").isJsonNull()) && !jsonObj.get("linear_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_id").toString())); + } + if ((jsonObj.get("linear_issue_url") != null && !jsonObj.get("linear_issue_url").isJsonNull()) && !jsonObj.get("linear_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_url").toString())); + } // ensure the optional json data is an array if present if (jsonObj.get("notify_emails") != null && !jsonObj.get("notify_emails").isJsonNull() && !jsonObj.get("notify_emails").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `notify_emails` to be an array in the JSON string but got `%s`", jsonObj.get("notify_emails").toString())); diff --git a/src/main/java/com/rootly/client/model/NewIncidentEvent.java b/src/main/java/com/rootly/client/model/NewIncidentEvent.java index 96d44eb1..35870387 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEvent.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEvent.java @@ -49,7 +49,7 @@ /** * NewIncidentEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEvent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventData.java b/src/main/java/com/rootly/client/model/NewIncidentEventData.java index 17e27929..5b11b269 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventData.java @@ -49,7 +49,7 @@ /** * NewIncidentEventData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentEventDataAttributes.java index 67396d94..84a60771 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventDataAttributes.java @@ -48,7 +48,7 @@ /** * NewIncidentEventDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionality.java b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionality.java index 06ef0692..68d7042d 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionality.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionality.java @@ -49,7 +49,7 @@ /** * NewIncidentEventFunctionality */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventFunctionality { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityData.java b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityData.java index a79e0823..24284bc9 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityData.java @@ -49,7 +49,7 @@ /** * NewIncidentEventFunctionalityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventFunctionalityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributes.java index b91c9d15..de925086 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributes.java @@ -48,7 +48,7 @@ /** * NewIncidentEventFunctionalityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventFunctionalityDataAttributes { public static final String SERIALIZED_NAME_INCIDENT_EVENT_ID = "incident_event_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_EVENT_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventService.java b/src/main/java/com/rootly/client/model/NewIncidentEventService.java index 039ffae2..941eebd2 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventService.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventService.java @@ -49,7 +49,7 @@ /** * NewIncidentEventService */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventService { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventServiceData.java b/src/main/java/com/rootly/client/model/NewIncidentEventServiceData.java index 7cc75d7e..ccf7dbbb 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventServiceData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventServiceData.java @@ -49,7 +49,7 @@ /** * NewIncidentEventServiceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventServiceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentEventServiceDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentEventServiceDataAttributes.java index e801d48b..bc15fb37 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventServiceDataAttributes.java @@ -48,7 +48,7 @@ /** * NewIncidentEventServiceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentEventServiceDataAttributes { public static final String SERIALIZED_NAME_INCIDENT_EVENT_ID = "incident_event_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_EVENT_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentFeedback.java b/src/main/java/com/rootly/client/model/NewIncidentFeedback.java index cfc40e38..42894ce0 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFeedback.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFeedback.java @@ -49,7 +49,7 @@ /** * NewIncidentFeedback */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentFeedback { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentFeedbackData.java b/src/main/java/com/rootly/client/model/NewIncidentFeedbackData.java index bcea9d15..140873ad 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFeedbackData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFeedbackData.java @@ -49,7 +49,7 @@ /** * NewIncidentFeedbackData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentFeedbackData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentFeedbackDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentFeedbackDataAttributes.java index 5ad2f3a9..ecf02027 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFeedbackDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFeedbackDataAttributes.java @@ -48,7 +48,7 @@ /** * NewIncidentFeedbackDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentFeedbackDataAttributes { public static final String SERIALIZED_NAME_FEEDBACK = "feedback"; @SerializedName(SERIALIZED_NAME_FEEDBACK) diff --git a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelection.java b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelection.java index 0ef43b8a..17fa90dd 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelection.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelection.java @@ -49,7 +49,7 @@ /** * NewIncidentFormFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentFormFieldSelection { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionData.java b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionData.java index 780b17c4..8cd60008 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionData.java @@ -49,7 +49,7 @@ /** * NewIncidentFormFieldSelectionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentFormFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributes.java index 744a6d1c..042c1ec0 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributes.java @@ -51,7 +51,7 @@ /** * NewIncidentFormFieldSelectionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentFormFieldSelectionDataAttributes { public static final String SERIALIZED_NAME_INCIDENT_ID = "incident_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java index 5720d5ad..87aab46e 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSet */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSet { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBoolean.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBoolean.java index 3c2d397e..e4758a06 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBoolean.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBoolean.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetBoolean */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetBoolean { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanData.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanData.java index 80c2e647..37a25460 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanData.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetBooleanData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetBooleanData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributes.java index 8bfe48a8..4ac3f7a7 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributes.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetBooleanDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetBooleanDataAttributes { public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParams.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParams.java index de346a91..d9978de7 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParams.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParams.java @@ -51,7 +51,7 @@ /** * NewIncidentPermissionSetBooleanDataAttributesSeverityParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetBooleanDataAttributesSeverityParams { public static final String SERIALIZED_NAME_FULLY_ENABLED = "fully_enabled"; @SerializedName(SERIALIZED_NAME_FULLY_ENABLED) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetData.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetData.java index d4e78156..d7b28f04 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetData.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributes.java index 2e74417c..3647090c 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributes.java @@ -51,7 +51,7 @@ /** * NewIncidentPermissionSetDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java index 4ed63de6..13f73ece 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetResource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetResource { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceData.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceData.java index ded59b99..382e095c 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceData.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetResourceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetResourceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributes.java index ecf30b84..1d3efda1 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributes.java @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetResourceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetResourceDataAttributes { public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentRole.java b/src/main/java/com/rootly/client/model/NewIncidentRole.java index 6d9ba7c5..df5f3a44 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRole.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRole.java @@ -49,7 +49,7 @@ /** * NewIncidentRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRole { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleData.java b/src/main/java/com/rootly/client/model/NewIncidentRoleData.java index f08e6797..9d37478e 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleData.java @@ -49,7 +49,7 @@ /** * NewIncidentRoleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentRoleDataAttributes.java index 27168dd5..6a20cfd3 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleDataAttributes.java @@ -49,7 +49,7 @@ /** * NewIncidentRoleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java b/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java index b742be0d..c89c8dfc 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java @@ -49,7 +49,7 @@ /** * NewIncidentRoleTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleTask { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleTaskData.java b/src/main/java/com/rootly/client/model/NewIncidentRoleTaskData.java index 85f96feb..f3906fd3 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleTaskData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleTaskData.java @@ -49,7 +49,7 @@ /** * NewIncidentRoleTaskData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributes.java index 24e8a344..39db0d3c 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributes.java @@ -49,7 +49,7 @@ /** * NewIncidentRoleTaskDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleTaskDataAttributes { public static final String SERIALIZED_NAME_INCIDENT_ROLE_ID = "incident_role_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ROLE_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEvent.java b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEvent.java index 8f93c01b..87edd858 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEvent.java @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentStatusPageEvent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventData.java b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventData.java index d98caf61..f45a613a 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventData.java @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEventData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentStatusPageEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java index abe74eed..54acaa99 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java @@ -53,7 +53,7 @@ /** * NewIncidentStatusPageEventDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentStatusPageEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) @@ -283,7 +283,7 @@ public NewIncidentStatusPageEventDataAttributes addStatusPageComponentsItem(NewI } /** - * Affected status page components and their statuses. Requires the status-page-v3-phase-1 feature. Ignored for terminal event statuses (resolved, completed), which clear component impact. A status is required per component except for scheduled maintenance incidents. + * Affected status page components and their statuses. This field is in Early Access and is not generally available; contact Rootly Support to request access. Ignored for terminal event statuses (resolved, completed), which clear component impact. A status is required per component except for scheduled maintenance incidents. * @return statusPageComponents */ @jakarta.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner.java b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner.java index fbc57c84..425ab725 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner.java @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentStatusPageEventDataAttributesStatusPageComponentsInner { public static final String SERIALIZED_NAME_STATUS_PAGE_COMPONENT_ID = "status_page_component_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_COMPONENT_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java b/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java index 4832b272..98a046ef 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java +++ b/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java @@ -49,7 +49,7 @@ /** * NewIncidentSubStatus */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentSubStatus { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentSubStatusData.java b/src/main/java/com/rootly/client/model/NewIncidentSubStatusData.java index c885a223..836dd685 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentSubStatusData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentSubStatusData.java @@ -49,7 +49,7 @@ /** * NewIncidentSubStatusData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentSubStatusData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentSubStatusDataAttributes.java index 5f62d651..665bf712 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentSubStatusDataAttributes.java @@ -49,7 +49,7 @@ /** * NewIncidentSubStatusDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentSubStatusDataAttributes { public static final String SERIALIZED_NAME_SUB_STATUS_ID = "sub_status_id"; @SerializedName(SERIALIZED_NAME_SUB_STATUS_ID) diff --git a/src/main/java/com/rootly/client/model/NewIncidentType.java b/src/main/java/com/rootly/client/model/NewIncidentType.java index 89ceadc2..ad92a26e 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentType.java +++ b/src/main/java/com/rootly/client/model/NewIncidentType.java @@ -49,7 +49,7 @@ /** * NewIncidentType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentType { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewIncidentTypeData.java b/src/main/java/com/rootly/client/model/NewIncidentTypeData.java index 8424b408..75ebb65f 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentTypeData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentTypeData.java @@ -49,7 +49,7 @@ /** * NewIncidentTypeData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentTypeData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewIncidentTypeDataAttributes.java b/src/main/java/com/rootly/client/model/NewIncidentTypeDataAttributes.java index 90188a17..b4f709eb 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentTypeDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentTypeDataAttributes.java @@ -54,7 +54,7 @@ /** * NewIncidentTypeDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentTypeDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouter.java b/src/main/java/com/rootly/client/model/NewLiveCallRouter.java index bfa53816..bcb7fb96 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouter.java @@ -49,7 +49,7 @@ /** * NewLiveCallRouter */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouter { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouterData.java b/src/main/java/com/rootly/client/model/NewLiveCallRouterData.java index a1cc89ae..2746ed5a 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterData.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterData.java @@ -49,7 +49,7 @@ /** * NewLiveCallRouterData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouterData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java index a3ebe63d..8ef8d7e4 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java @@ -53,7 +53,7 @@ /** * NewLiveCallRouterDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouterDataAttributes { /** * The kind of the live_call_router diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java index ac74d8d4..20796073 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java @@ -48,7 +48,7 @@ /** * NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java index 81d74f96..0d72d0b2 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java @@ -48,7 +48,7 @@ /** * NewLiveCallRouterDataAttributesPagingTargetsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouterDataAttributesPagingTargetsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewOnCallPayReport.java b/src/main/java/com/rootly/client/model/NewOnCallPayReport.java index 82f5998c..9b7c1060 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallPayReport.java +++ b/src/main/java/com/rootly/client/model/NewOnCallPayReport.java @@ -49,7 +49,7 @@ /** * NewOnCallPayReport */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallPayReport { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewOnCallPayReportData.java b/src/main/java/com/rootly/client/model/NewOnCallPayReportData.java index 05cb7f26..4947c2de 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallPayReportData.java +++ b/src/main/java/com/rootly/client/model/NewOnCallPayReportData.java @@ -49,7 +49,7 @@ /** * NewOnCallPayReportData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallPayReportData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java b/src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java index 4cd69374..6b51524c 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java @@ -51,7 +51,7 @@ /** * NewOnCallPayReportDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallPayReportDataAttributes { public static final String SERIALIZED_NAME_START_DATE = "start_date"; @SerializedName(SERIALIZED_NAME_START_DATE) diff --git a/src/main/java/com/rootly/client/model/NewOnCallRole.java b/src/main/java/com/rootly/client/model/NewOnCallRole.java index 071f8529..7edfc16e 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRole.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRole.java @@ -49,7 +49,7 @@ /** * NewOnCallRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallRole { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewOnCallRoleData.java b/src/main/java/com/rootly/client/model/NewOnCallRoleData.java index 8023f759..0405dada 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRoleData.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRoleData.java @@ -49,7 +49,7 @@ /** * NewOnCallRoleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java b/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java index babb03f1..a7e2e49b 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java @@ -51,7 +51,7 @@ /** * NewOnCallRoleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallRoleDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -1152,6 +1152,65 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List liveCallRoutingPermissions = new ArrayList<>(); + /** + * Gets or Sets membersPermissions + */ + @JsonAdapter(MembersPermissionsEnum.Adapter.class) + public enum MembersPermissionsEnum { + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + MembersPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MembersPermissionsEnum fromValue(String value) { + for (MembersPermissionsEnum b : MembersPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MembersPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MembersPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MembersPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + MembersPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MEMBERS_PERMISSIONS = "members_permissions"; + @SerializedName(SERIALIZED_NAME_MEMBERS_PERMISSIONS) + @jakarta.annotation.Nullable + private List membersPermissions = new ArrayList<>(); + /** * Gets or Sets scheduleOverridePermissions */ @@ -2106,6 +2165,33 @@ public void setLiveCallRoutingPermissions(@jakarta.annotation.Nullable List membersPermissions) { + this.membersPermissions = membersPermissions; + return this; + } + + public NewOnCallRoleDataAttributes addMembersPermissionsItem(MembersPermissionsEnum membersPermissionsItem) { + if (this.membersPermissions == null) { + this.membersPermissions = new ArrayList<>(); + } + this.membersPermissions.add(membersPermissionsItem); + return this; + } + + /** + * Get membersPermissions + * @return membersPermissions + */ + @jakarta.annotation.Nullable + public List getMembersPermissions() { + return membersPermissions; + } + + public void setMembersPermissions(@jakarta.annotation.Nullable List membersPermissions) { + this.membersPermissions = membersPermissions; + } + + public NewOnCallRoleDataAttributes scheduleOverridePermissions(@jakarta.annotation.Nullable List scheduleOverridePermissions) { this.scheduleOverridePermissions = scheduleOverridePermissions; return this; @@ -2325,6 +2411,7 @@ public boolean equals(Object o) { Objects.equals(this.integrationsPermissions, newOnCallRoleDataAttributes.integrationsPermissions) && Objects.equals(this.invitationsPermissions, newOnCallRoleDataAttributes.invitationsPermissions) && Objects.equals(this.liveCallRoutingPermissions, newOnCallRoleDataAttributes.liveCallRoutingPermissions) && + Objects.equals(this.membersPermissions, newOnCallRoleDataAttributes.membersPermissions) && Objects.equals(this.scheduleOverridePermissions, newOnCallRoleDataAttributes.scheduleOverridePermissions) && Objects.equals(this.schedulesPermissions, newOnCallRoleDataAttributes.schedulesPermissions) && Objects.equals(this.servicesPermissions, newOnCallRoleDataAttributes.servicesPermissions) && @@ -2340,7 +2427,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, systemRole, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertSourcesPermissions, alertUrgencyPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, functionalitiesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions); + return Objects.hash(slug, name, systemRole, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertSourcesPermissions, alertUrgencyPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, membersPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, functionalitiesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions); } private static int hashCodeNullable(JsonNullable a) { @@ -2374,6 +2461,7 @@ public String toString() { sb.append(" integrationsPermissions: ").append(toIndentedString(integrationsPermissions)).append("\n"); sb.append(" invitationsPermissions: ").append(toIndentedString(invitationsPermissions)).append("\n"); sb.append(" liveCallRoutingPermissions: ").append(toIndentedString(liveCallRoutingPermissions)).append("\n"); + sb.append(" membersPermissions: ").append(toIndentedString(membersPermissions)).append("\n"); sb.append(" scheduleOverridePermissions: ").append(toIndentedString(scheduleOverridePermissions)).append("\n"); sb.append(" schedulesPermissions: ").append(toIndentedString(schedulesPermissions)).append("\n"); sb.append(" servicesPermissions: ").append(toIndentedString(servicesPermissions)).append("\n"); @@ -2423,6 +2511,7 @@ private String toIndentedString(Object o) { openapiFields.add("integrations_permissions"); openapiFields.add("invitations_permissions"); openapiFields.add("live_call_routing_permissions"); + openapiFields.add("members_permissions"); openapiFields.add("schedule_override_permissions"); openapiFields.add("schedules_permissions"); openapiFields.add("services_permissions"); @@ -2543,6 +2632,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `live_call_routing_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("live_call_routing_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("members_permissions") != null && !jsonObj.get("members_permissions").isJsonNull() && !jsonObj.get("members_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `members_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("members_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("schedule_override_permissions") != null && !jsonObj.get("schedule_override_permissions").isJsonNull() && !jsonObj.get("schedule_override_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `schedule_override_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_override_permissions").toString())); } diff --git a/src/main/java/com/rootly/client/model/NewOnCallShadow.java b/src/main/java/com/rootly/client/model/NewOnCallShadow.java index 92e5ec5f..6d8f995a 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallShadow.java +++ b/src/main/java/com/rootly/client/model/NewOnCallShadow.java @@ -49,7 +49,7 @@ /** * NewOnCallShadow */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallShadow { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewOnCallShadowData.java b/src/main/java/com/rootly/client/model/NewOnCallShadowData.java index 11b78862..d739c3f2 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallShadowData.java +++ b/src/main/java/com/rootly/client/model/NewOnCallShadowData.java @@ -49,7 +49,7 @@ /** * NewOnCallShadowData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallShadowData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewOnCallShadowDataAttributes.java b/src/main/java/com/rootly/client/model/NewOnCallShadowDataAttributes.java index ae40420b..2978ccd9 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallShadowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOnCallShadowDataAttributes.java @@ -49,7 +49,7 @@ /** * NewOnCallShadowDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallShadowDataAttributes { /** * Gets or Sets shadowableType diff --git a/src/main/java/com/rootly/client/model/NewOverrideShift.java b/src/main/java/com/rootly/client/model/NewOverrideShift.java index 2c42ee40..066ac8b4 100644 --- a/src/main/java/com/rootly/client/model/NewOverrideShift.java +++ b/src/main/java/com/rootly/client/model/NewOverrideShift.java @@ -49,7 +49,7 @@ /** * NewOverrideShift */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOverrideShift { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewOverrideShiftData.java b/src/main/java/com/rootly/client/model/NewOverrideShiftData.java index f010900e..22c3815d 100644 --- a/src/main/java/com/rootly/client/model/NewOverrideShiftData.java +++ b/src/main/java/com/rootly/client/model/NewOverrideShiftData.java @@ -49,7 +49,7 @@ /** * NewOverrideShiftData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOverrideShiftData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewOverrideShiftDataAttributes.java b/src/main/java/com/rootly/client/model/NewOverrideShiftDataAttributes.java index 86816e6e..ac27df53 100644 --- a/src/main/java/com/rootly/client/model/NewOverrideShiftDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOverrideShiftDataAttributes.java @@ -49,7 +49,7 @@ /** * NewOverrideShiftDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOverrideShiftDataAttributes { public static final String SERIALIZED_NAME_STARTS_AT = "starts_at"; @SerializedName(SERIALIZED_NAME_STARTS_AT) diff --git a/src/main/java/com/rootly/client/model/NewPlaybook.java b/src/main/java/com/rootly/client/model/NewPlaybook.java index 1a820cfd..f21fcb8c 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybook.java +++ b/src/main/java/com/rootly/client/model/NewPlaybook.java @@ -49,7 +49,7 @@ /** * NewPlaybook */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybook { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewPlaybookData.java b/src/main/java/com/rootly/client/model/NewPlaybookData.java index 39c15122..ef0a0a09 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookData.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookData.java @@ -49,7 +49,7 @@ /** * NewPlaybookData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewPlaybookDataAttributes.java b/src/main/java/com/rootly/client/model/NewPlaybookDataAttributes.java index 426505a3..5224fae7 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookDataAttributes.java @@ -51,7 +51,7 @@ /** * NewPlaybookDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -63,6 +63,68 @@ public class NewPlaybookDataAttributes { @jakarta.annotation.Nullable private String summary; + /** + * Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + INTERNAL_DOCUMENT("internal_document"), + + EXTERNAL_URL("external_url"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @jakarta.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @jakarta.annotation.Nullable + private String content; + public static final String SERIALIZED_NAME_EXTERNAL_URL = "external_url"; @SerializedName(SERIALIZED_NAME_EXTERNAL_URL) @jakarta.annotation.Nullable @@ -98,6 +160,11 @@ public class NewPlaybookDataAttributes { @jakarta.annotation.Nullable private List incidentTypeIds; + public static final String SERIALIZED_NAME_CAUSE_IDS = "cause_ids"; + @SerializedName(SERIALIZED_NAME_CAUSE_IDS) + @jakarta.annotation.Nullable + private List causeIds; + public NewPlaybookDataAttributes() { } @@ -139,6 +206,44 @@ public void setSummary(@jakarta.annotation.Nullable String summary) { } + public NewPlaybookDataAttributes kind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). + * @return kind + */ + @jakarta.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public NewPlaybookDataAttributes content(@jakarta.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * Sanitized HTML instructions. Still returned when `kind` is `external_url`, where the body may be stale — branch on `kind`, not on `content` being present. + * @return content + */ + @jakarta.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@jakarta.annotation.Nullable String content) { + this.content = content; + } + + public NewPlaybookDataAttributes externalUrl(@jakarta.annotation.Nullable String externalUrl) { this.externalUrl = externalUrl; return this; @@ -320,6 +425,33 @@ public void setIncidentTypeIds(@jakarta.annotation.Nullable List inciden } + public NewPlaybookDataAttributes causeIds(@jakarta.annotation.Nullable List causeIds) { + this.causeIds = causeIds; + return this; + } + + public NewPlaybookDataAttributes addCauseIdsItem(String causeIdsItem) { + if (this.causeIds == null) { + this.causeIds = new ArrayList<>(); + } + this.causeIds.add(causeIdsItem); + return this; + } + + /** + * The Cause IDs to attach to the incident + * @return causeIds + */ + @jakarta.annotation.Nullable + public List getCauseIds() { + return causeIds; + } + + public void setCauseIds(@jakarta.annotation.Nullable List causeIds) { + this.causeIds = causeIds; + } + + @Override public boolean equals(Object o) { @@ -332,13 +464,16 @@ public boolean equals(Object o) { NewPlaybookDataAttributes newPlaybookDataAttributes = (NewPlaybookDataAttributes) o; return Objects.equals(this.title, newPlaybookDataAttributes.title) && Objects.equals(this.summary, newPlaybookDataAttributes.summary) && + Objects.equals(this.kind, newPlaybookDataAttributes.kind) && + Objects.equals(this.content, newPlaybookDataAttributes.content) && Objects.equals(this.externalUrl, newPlaybookDataAttributes.externalUrl) && Objects.equals(this.severityIds, newPlaybookDataAttributes.severityIds) && Objects.equals(this.environmentIds, newPlaybookDataAttributes.environmentIds) && Objects.equals(this.serviceIds, newPlaybookDataAttributes.serviceIds) && Objects.equals(this.functionalityIds, newPlaybookDataAttributes.functionalityIds) && Objects.equals(this.groupIds, newPlaybookDataAttributes.groupIds) && - Objects.equals(this.incidentTypeIds, newPlaybookDataAttributes.incidentTypeIds); + Objects.equals(this.incidentTypeIds, newPlaybookDataAttributes.incidentTypeIds) && + Objects.equals(this.causeIds, newPlaybookDataAttributes.causeIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -347,7 +482,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, summary, externalUrl, severityIds, environmentIds, serviceIds, functionalityIds, groupIds, incidentTypeIds); + return Objects.hash(title, summary, kind, content, externalUrl, severityIds, environmentIds, serviceIds, functionalityIds, groupIds, incidentTypeIds, causeIds); } private static int hashCodeNullable(JsonNullable a) { @@ -363,6 +498,8 @@ public String toString() { sb.append("class NewPlaybookDataAttributes {\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" externalUrl: ").append(toIndentedString(externalUrl)).append("\n"); sb.append(" severityIds: ").append(toIndentedString(severityIds)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); @@ -370,6 +507,7 @@ public String toString() { sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); sb.append(" incidentTypeIds: ").append(toIndentedString(incidentTypeIds)).append("\n"); + sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -394,6 +532,8 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("title"); openapiFields.add("summary"); + openapiFields.add("kind"); + openapiFields.add("content"); openapiFields.add("external_url"); openapiFields.add("severity_ids"); openapiFields.add("environment_ids"); @@ -401,6 +541,7 @@ private String toIndentedString(Object o) { openapiFields.add("functionality_ids"); openapiFields.add("group_ids"); openapiFields.add("incident_type_ids"); + openapiFields.add("cause_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -441,6 +582,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("summary") != null && !jsonObj.get("summary").isJsonNull()) && !jsonObj.get("summary").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("summary").toString())); } + if ((jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) && !jsonObj.get("kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + KindEnum.validateJsonElement(jsonObj.get("kind")); + } + if ((jsonObj.get("content") != null && !jsonObj.get("content").isJsonNull()) && !jsonObj.get("content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content").toString())); + } if ((jsonObj.get("external_url") != null && !jsonObj.get("external_url").isJsonNull()) && !jsonObj.get("external_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `external_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("external_url").toString())); } @@ -468,6 +619,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("incident_type_ids") != null && !jsonObj.get("incident_type_ids").isJsonNull() && !jsonObj.get("incident_type_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_type_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("cause_ids") != null && !jsonObj.get("cause_ids").isJsonNull() && !jsonObj.get("cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("cause_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewPlaybookTask.java b/src/main/java/com/rootly/client/model/NewPlaybookTask.java index 2fc5eef8..5583eaae 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookTask.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookTask.java @@ -49,7 +49,7 @@ /** * NewPlaybookTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookTask { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewPlaybookTaskData.java b/src/main/java/com/rootly/client/model/NewPlaybookTaskData.java index cb1c476f..67694731 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookTaskData.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookTaskData.java @@ -49,7 +49,7 @@ /** * NewPlaybookTaskData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java b/src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java index 39615b45..387d6f82 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java @@ -49,7 +49,7 @@ /** * NewPlaybookTaskDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookTaskDataAttributes { public static final String SERIALIZED_NAME_TASK = "task"; @SerializedName(SERIALIZED_NAME_TASK) diff --git a/src/main/java/com/rootly/client/model/NewPostMortemTemplate.java b/src/main/java/com/rootly/client/model/NewPostMortemTemplate.java index 3f85c377..f771d8e8 100644 --- a/src/main/java/com/rootly/client/model/NewPostMortemTemplate.java +++ b/src/main/java/com/rootly/client/model/NewPostMortemTemplate.java @@ -49,7 +49,7 @@ /** * NewPostMortemTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPostMortemTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java b/src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java index d022aad0..943cdc08 100644 --- a/src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java +++ b/src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java @@ -49,7 +49,7 @@ /** * NewPostMortemTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPostMortemTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java index 7e7b527c..edea7067 100644 --- a/src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java @@ -49,7 +49,7 @@ /** * NewPostMortemTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewProblem.java b/src/main/java/com/rootly/client/model/NewProblem.java new file mode 100644 index 00000000..1946ac24 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewProblem.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewProblem + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewProblem { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private NewProblemData data; + + public NewProblem() { + } + + public NewProblem data(@jakarta.annotation.Nonnull NewProblemData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public NewProblemData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull NewProblemData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewProblem newProblem = (NewProblem) o; + return Objects.equals(this.data, newProblem.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewProblem {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewProblem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewProblem.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewProblem is not found in the empty JSON string", NewProblem.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewProblem.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewProblem` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewProblem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + NewProblemData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewProblem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewProblem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewProblem.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewProblem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewProblem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewProblem given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewProblem + * @throws IOException if the JSON string is invalid with respect to NewProblem + */ + public static NewProblem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewProblem.class); + } + + /** + * Convert an instance of NewProblem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewProblemActionItem.java b/src/main/java/com/rootly/client/model/NewProblemActionItem.java new file mode 100644 index 00000000..b6b2af40 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewProblemActionItem.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemActionItemData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewProblemActionItem + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewProblemActionItem { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private NewProblemActionItemData data; + + public NewProblemActionItem() { + } + + public NewProblemActionItem data(@jakarta.annotation.Nonnull NewProblemActionItemData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public NewProblemActionItemData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull NewProblemActionItemData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewProblemActionItem newProblemActionItem = (NewProblemActionItem) o; + return Objects.equals(this.data, newProblemActionItem.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewProblemActionItem {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewProblemActionItem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewProblemActionItem.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewProblemActionItem is not found in the empty JSON string", NewProblemActionItem.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewProblemActionItem.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewProblemActionItem` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewProblemActionItem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + NewProblemActionItemData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewProblemActionItem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewProblemActionItem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewProblemActionItem.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewProblemActionItem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewProblemActionItem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewProblemActionItem given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewProblemActionItem + * @throws IOException if the JSON string is invalid with respect to NewProblemActionItem + */ + public static NewProblemActionItem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewProblemActionItem.class); + } + + /** + * Convert an instance of NewProblemActionItem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewProblemActionItemData.java b/src/main/java/com/rootly/client/model/NewProblemActionItemData.java new file mode 100644 index 00000000..ca4e1f49 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewProblemActionItemData.java @@ -0,0 +1,297 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemActionItemDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewProblemActionItemData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewProblemActionItemData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEM_ACTION_ITEMS("problem_action_items"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private NewProblemActionItemDataAttributes attributes; + + public NewProblemActionItemData() { + } + + public NewProblemActionItemData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewProblemActionItemData attributes(@jakarta.annotation.Nonnull NewProblemActionItemDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public NewProblemActionItemDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull NewProblemActionItemDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewProblemActionItemData newProblemActionItemData = (NewProblemActionItemData) o; + return Objects.equals(this.type, newProblemActionItemData.type) && + Objects.equals(this.attributes, newProblemActionItemData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewProblemActionItemData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewProblemActionItemData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewProblemActionItemData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewProblemActionItemData is not found in the empty JSON string", NewProblemActionItemData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewProblemActionItemData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewProblemActionItemData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewProblemActionItemData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + NewProblemActionItemDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewProblemActionItemData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewProblemActionItemData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewProblemActionItemData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewProblemActionItemData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewProblemActionItemData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewProblemActionItemData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewProblemActionItemData + * @throws IOException if the JSON string is invalid with respect to NewProblemActionItemData + */ + public static NewProblemActionItemData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewProblemActionItemData.class); + } + + /** + * Convert an instance of NewProblemActionItemData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewProblemActionItemDataAttributes.java b/src/main/java/com/rootly/client/model/NewProblemActionItemDataAttributes.java new file mode 100644 index 00000000..9e764018 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewProblemActionItemDataAttributes.java @@ -0,0 +1,521 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewProblemActionItemDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewProblemActionItemDataAttributes { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + @jakarta.annotation.Nonnull + private String summary; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_ASSIGNED_TO_USER_ID = "assigned_to_user_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNED_TO_USER_ID) + @jakarta.annotation.Nullable + private Integer assignedToUserId; + + /** + * The priority of the action item + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + HIGH("high"), + + MEDIUM("medium"), + + LOW("low"); + + private String value; + + PriorityEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PriorityEnum fromValue(String value) { + for (PriorityEnum b : PriorityEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PriorityEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PriorityEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PriorityEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PriorityEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + @jakarta.annotation.Nullable + private PriorityEnum priority; + + /** + * The status of the action item + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + OPEN("open"), + + IN_PROGRESS("in_progress"), + + CANCELLED("cancelled"), + + DONE("done"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + @jakarta.annotation.Nullable + private String dueDate; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) + @jakarta.annotation.Nullable + private String jiraIssueUrl; + + public NewProblemActionItemDataAttributes() { + } + + public NewProblemActionItemDataAttributes summary(@jakarta.annotation.Nonnull String summary) { + this.summary = summary; + return this; + } + + /** + * The summary of the action item + * @return summary + */ + @jakarta.annotation.Nonnull + public String getSummary() { + return summary; + } + + public void setSummary(@jakarta.annotation.Nonnull String summary) { + this.summary = summary; + } + + + public NewProblemActionItemDataAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the action item + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public NewProblemActionItemDataAttributes assignedToUserId(@jakarta.annotation.Nullable Integer assignedToUserId) { + this.assignedToUserId = assignedToUserId; + return this; + } + + /** + * ID of user you wish to assign this action item + * @return assignedToUserId + */ + @jakarta.annotation.Nullable + public Integer getAssignedToUserId() { + return assignedToUserId; + } + + public void setAssignedToUserId(@jakarta.annotation.Nullable Integer assignedToUserId) { + this.assignedToUserId = assignedToUserId; + } + + + public NewProblemActionItemDataAttributes priority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * The priority of the action item + * @return priority + */ + @jakarta.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public NewProblemActionItemDataAttributes status(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * The status of the action item + * @return status + */ + @jakarta.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public NewProblemActionItemDataAttributes dueDate(@jakarta.annotation.Nullable String dueDate) { + this.dueDate = dueDate; + return this; + } + + /** + * The due date of the action item + * @return dueDate + */ + @jakarta.annotation.Nullable + public String getDueDate() { + return dueDate; + } + + public void setDueDate(@jakarta.annotation.Nullable String dueDate) { + this.dueDate = dueDate; + } + + + public NewProblemActionItemDataAttributes jiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + return this; + } + + /** + * The Jira issue URL. + * @return jiraIssueUrl + */ + @jakarta.annotation.Nullable + public String getJiraIssueUrl() { + return jiraIssueUrl; + } + + public void setJiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewProblemActionItemDataAttributes newProblemActionItemDataAttributes = (NewProblemActionItemDataAttributes) o; + return Objects.equals(this.summary, newProblemActionItemDataAttributes.summary) && + Objects.equals(this.description, newProblemActionItemDataAttributes.description) && + Objects.equals(this.assignedToUserId, newProblemActionItemDataAttributes.assignedToUserId) && + Objects.equals(this.priority, newProblemActionItemDataAttributes.priority) && + Objects.equals(this.status, newProblemActionItemDataAttributes.status) && + Objects.equals(this.dueDate, newProblemActionItemDataAttributes.dueDate) && + Objects.equals(this.jiraIssueUrl, newProblemActionItemDataAttributes.jiraIssueUrl); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(summary, description, assignedToUserId, priority, status, dueDate, jiraIssueUrl); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewProblemActionItemDataAttributes {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" assignedToUserId: ").append(toIndentedString(assignedToUserId)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("summary"); + openapiFields.add("description"); + openapiFields.add("assigned_to_user_id"); + openapiFields.add("priority"); + openapiFields.add("status"); + openapiFields.add("due_date"); + openapiFields.add("jira_issue_url"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("summary"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewProblemActionItemDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewProblemActionItemDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewProblemActionItemDataAttributes is not found in the empty JSON string", NewProblemActionItemDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewProblemActionItemDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewProblemActionItemDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewProblemActionItemDataAttributes.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("summary").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("summary").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) && !jsonObj.get("priority").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `priority` to be a primitive type in the JSON string but got `%s`", jsonObj.get("priority").toString())); + } + // validate the optional field `priority` + if (jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) { + PriorityEnum.validateJsonElement(jsonObj.get("priority")); + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the optional field `status` + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) { + StatusEnum.validateJsonElement(jsonObj.get("status")); + } + if ((jsonObj.get("due_date") != null && !jsonObj.get("due_date").isJsonNull()) && !jsonObj.get("due_date").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `due_date` to be a primitive type in the JSON string but got `%s`", jsonObj.get("due_date").toString())); + } + if ((jsonObj.get("jira_issue_url") != null && !jsonObj.get("jira_issue_url").isJsonNull()) && !jsonObj.get("jira_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_url").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewProblemActionItemDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewProblemActionItemDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewProblemActionItemDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewProblemActionItemDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewProblemActionItemDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewProblemActionItemDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewProblemActionItemDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewProblemActionItemDataAttributes + */ + public static NewProblemActionItemDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewProblemActionItemDataAttributes.class); + } + + /** + * Convert an instance of NewProblemActionItemDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewProblemData.java b/src/main/java/com/rootly/client/model/NewProblemData.java new file mode 100644 index 00000000..c45714b6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewProblemData.java @@ -0,0 +1,297 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewProblemData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewProblemData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEMS("problems"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private NewProblemDataAttributes attributes; + + public NewProblemData() { + } + + public NewProblemData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewProblemData attributes(@jakarta.annotation.Nonnull NewProblemDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public NewProblemDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull NewProblemDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewProblemData newProblemData = (NewProblemData) o; + return Objects.equals(this.type, newProblemData.type) && + Objects.equals(this.attributes, newProblemData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewProblemData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewProblemData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewProblemData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewProblemData is not found in the empty JSON string", NewProblemData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewProblemData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewProblemData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewProblemData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + NewProblemDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewProblemData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewProblemData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewProblemData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewProblemData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewProblemData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewProblemData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewProblemData + * @throws IOException if the JSON string is invalid with respect to NewProblemData + */ + public static NewProblemData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewProblemData.class); + } + + /** + * Convert an instance of NewProblemData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewProblemDataAttributes.java b/src/main/java/com/rootly/client/model/NewProblemDataAttributes.java new file mode 100644 index 00000000..e62fc26c --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewProblemDataAttributes.java @@ -0,0 +1,778 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewProblemDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewProblemDataAttributes { + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @jakarta.annotation.Nonnull + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_OWNER_USER_ID = "owner_user_id"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_ID) + @jakarta.annotation.Nullable + private Integer ownerUserId; + + public static final String SERIALIZED_NAME_OWNER_GROUP_ID = "owner_group_id"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_ID) + @jakarta.annotation.Nullable + private String ownerGroupId; + + /** + * The priority of the problem + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + P0("P0"), + + P1("P1"), + + P2("P2"), + + P3("P3"); + + private String value; + + PriorityEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PriorityEnum fromValue(String value) { + for (PriorityEnum b : PriorityEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PriorityEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PriorityEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PriorityEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PriorityEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + @jakarta.annotation.Nullable + private PriorityEnum priority; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + @jakarta.annotation.Nullable + private LocalDate dueDate; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + @jakarta.annotation.Nullable + private String scope; + + public static final String SERIALIZED_NAME_EXIT_CRITERIA = "exit_criteria"; + @SerializedName(SERIALIZED_NAME_EXIT_CRITERIA) + @jakarta.annotation.Nullable + private String exitCriteria; + + public static final String SERIALIZED_NAME_IMPACT_SO_FAR = "impact_so_far"; + @SerializedName(SERIALIZED_NAME_IMPACT_SO_FAR) + @jakarta.annotation.Nullable + private String impactSoFar; + + public static final String SERIALIZED_NAME_ROOT_CAUSE = "root_cause"; + @SerializedName(SERIALIZED_NAME_ROOT_CAUSE) + @jakarta.annotation.Nullable + private String rootCause; + + public static final String SERIALIZED_NAME_RESOLUTION = "resolution"; + @SerializedName(SERIALIZED_NAME_RESOLUTION) + @jakarta.annotation.Nullable + private String resolution; + + public static final String SERIALIZED_NAME_DEFERRAL_REASON = "deferral_reason"; + @SerializedName(SERIALIZED_NAME_DEFERRAL_REASON) + @jakarta.annotation.Nullable + private String deferralReason; + + public static final String SERIALIZED_NAME_CANCELLATION_REASON = "cancellation_reason"; + @SerializedName(SERIALIZED_NAME_CANCELLATION_REASON) + @jakarta.annotation.Nullable + private String cancellationReason; + + public static final String SERIALIZED_NAME_NEXT_REVIEW_AT = "next_review_at"; + @SerializedName(SERIALIZED_NAME_NEXT_REVIEW_AT) + @jakarta.annotation.Nullable + private String nextReviewAt; + + public static final String SERIALIZED_NAME_RE_REVIEW_CADENCE = "re_review_cadence"; + @SerializedName(SERIALIZED_NAME_RE_REVIEW_CADENCE) + @jakarta.annotation.Nullable + private Integer reReviewCadence; + + public static final String SERIALIZED_NAME_INCIDENT_IDS = "incident_ids"; + @SerializedName(SERIALIZED_NAME_INCIDENT_IDS) + @jakarta.annotation.Nullable + private List incidentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_FORM_FIELD_SELECTIONS = "form_field_selections"; + @SerializedName(SERIALIZED_NAME_FORM_FIELD_SELECTIONS) + @jakarta.annotation.Nullable + private List formFieldSelections = new ArrayList<>(); + + public NewProblemDataAttributes() { + } + + public NewProblemDataAttributes title(@jakarta.annotation.Nonnull String title) { + this.title = title; + return this; + } + + /** + * The title of the problem + * @return title + */ + @jakarta.annotation.Nonnull + public String getTitle() { + return title; + } + + public void setTitle(@jakarta.annotation.Nonnull String title) { + this.title = title; + } + + + public NewProblemDataAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the problem + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public NewProblemDataAttributes ownerUserId(@jakarta.annotation.Nullable Integer ownerUserId) { + this.ownerUserId = ownerUserId; + return this; + } + + /** + * ID of the user who owns the problem + * @return ownerUserId + */ + @jakarta.annotation.Nullable + public Integer getOwnerUserId() { + return ownerUserId; + } + + public void setOwnerUserId(@jakarta.annotation.Nullable Integer ownerUserId) { + this.ownerUserId = ownerUserId; + } + + + public NewProblemDataAttributes ownerGroupId(@jakarta.annotation.Nullable String ownerGroupId) { + this.ownerGroupId = ownerGroupId; + return this; + } + + /** + * ID of the group (team) that owns the problem + * @return ownerGroupId + */ + @jakarta.annotation.Nullable + public String getOwnerGroupId() { + return ownerGroupId; + } + + public void setOwnerGroupId(@jakarta.annotation.Nullable String ownerGroupId) { + this.ownerGroupId = ownerGroupId; + } + + + public NewProblemDataAttributes priority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * The priority of the problem + * @return priority + */ + @jakarta.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public NewProblemDataAttributes dueDate(@jakarta.annotation.Nullable LocalDate dueDate) { + this.dueDate = dueDate; + return this; + } + + /** + * The due date of the problem + * @return dueDate + */ + @jakarta.annotation.Nullable + public LocalDate getDueDate() { + return dueDate; + } + + public void setDueDate(@jakarta.annotation.Nullable LocalDate dueDate) { + this.dueDate = dueDate; + } + + + public NewProblemDataAttributes scope(@jakarta.annotation.Nullable String scope) { + this.scope = scope; + return this; + } + + /** + * The scope of the problem + * @return scope + */ + @jakarta.annotation.Nullable + public String getScope() { + return scope; + } + + public void setScope(@jakarta.annotation.Nullable String scope) { + this.scope = scope; + } + + + public NewProblemDataAttributes exitCriteria(@jakarta.annotation.Nullable String exitCriteria) { + this.exitCriteria = exitCriteria; + return this; + } + + /** + * The exit criteria of the problem + * @return exitCriteria + */ + @jakarta.annotation.Nullable + public String getExitCriteria() { + return exitCriteria; + } + + public void setExitCriteria(@jakarta.annotation.Nullable String exitCriteria) { + this.exitCriteria = exitCriteria; + } + + + public NewProblemDataAttributes impactSoFar(@jakarta.annotation.Nullable String impactSoFar) { + this.impactSoFar = impactSoFar; + return this; + } + + /** + * The impact observed so far + * @return impactSoFar + */ + @jakarta.annotation.Nullable + public String getImpactSoFar() { + return impactSoFar; + } + + public void setImpactSoFar(@jakarta.annotation.Nullable String impactSoFar) { + this.impactSoFar = impactSoFar; + } + + + public NewProblemDataAttributes rootCause(@jakarta.annotation.Nullable String rootCause) { + this.rootCause = rootCause; + return this; + } + + /** + * The root cause of the problem + * @return rootCause + */ + @jakarta.annotation.Nullable + public String getRootCause() { + return rootCause; + } + + public void setRootCause(@jakarta.annotation.Nullable String rootCause) { + this.rootCause = rootCause; + } + + + public NewProblemDataAttributes resolution(@jakarta.annotation.Nullable String resolution) { + this.resolution = resolution; + return this; + } + + /** + * The resolution of the problem + * @return resolution + */ + @jakarta.annotation.Nullable + public String getResolution() { + return resolution; + } + + public void setResolution(@jakarta.annotation.Nullable String resolution) { + this.resolution = resolution; + } + + + public NewProblemDataAttributes deferralReason(@jakarta.annotation.Nullable String deferralReason) { + this.deferralReason = deferralReason; + return this; + } + + /** + * The reason and accepted risk for deferring the problem + * @return deferralReason + */ + @jakarta.annotation.Nullable + public String getDeferralReason() { + return deferralReason; + } + + public void setDeferralReason(@jakarta.annotation.Nullable String deferralReason) { + this.deferralReason = deferralReason; + } + + + public NewProblemDataAttributes cancellationReason(@jakarta.annotation.Nullable String cancellationReason) { + this.cancellationReason = cancellationReason; + return this; + } + + /** + * The reason for cancelling the problem + * @return cancellationReason + */ + @jakarta.annotation.Nullable + public String getCancellationReason() { + return cancellationReason; + } + + public void setCancellationReason(@jakarta.annotation.Nullable String cancellationReason) { + this.cancellationReason = cancellationReason; + } + + + public NewProblemDataAttributes nextReviewAt(@jakarta.annotation.Nullable String nextReviewAt) { + this.nextReviewAt = nextReviewAt; + return this; + } + + /** + * The next review date for a deferred problem + * @return nextReviewAt + */ + @jakarta.annotation.Nullable + public String getNextReviewAt() { + return nextReviewAt; + } + + public void setNextReviewAt(@jakarta.annotation.Nullable String nextReviewAt) { + this.nextReviewAt = nextReviewAt; + } + + + public NewProblemDataAttributes reReviewCadence(@jakarta.annotation.Nullable Integer reReviewCadence) { + this.reReviewCadence = reReviewCadence; + return this; + } + + /** + * Days between reviews for a deferred problem + * @return reReviewCadence + */ + @jakarta.annotation.Nullable + public Integer getReReviewCadence() { + return reReviewCadence; + } + + public void setReReviewCadence(@jakarta.annotation.Nullable Integer reReviewCadence) { + this.reReviewCadence = reReviewCadence; + } + + + public NewProblemDataAttributes incidentIds(@jakarta.annotation.Nullable List incidentIds) { + this.incidentIds = incidentIds; + return this; + } + + public NewProblemDataAttributes addIncidentIdsItem(String incidentIdsItem) { + if (this.incidentIds == null) { + this.incidentIds = new ArrayList<>(); + } + this.incidentIds.add(incidentIdsItem); + return this; + } + + /** + * IDs of incidents to link to the problem + * @return incidentIds + */ + @jakarta.annotation.Nullable + public List getIncidentIds() { + return incidentIds; + } + + public void setIncidentIds(@jakarta.annotation.Nullable List incidentIds) { + this.incidentIds = incidentIds; + } + + + public NewProblemDataAttributes formFieldSelections(@jakarta.annotation.Nullable List formFieldSelections) { + this.formFieldSelections = formFieldSelections; + return this; + } + + public NewProblemDataAttributes addFormFieldSelectionsItem(Object formFieldSelectionsItem) { + if (this.formFieldSelections == null) { + this.formFieldSelections = new ArrayList<>(); + } + this.formFieldSelections.add(formFieldSelectionsItem); + return this; + } + + /** + * Custom (form) field selections for the problem + * @return formFieldSelections + */ + @jakarta.annotation.Nullable + public List getFormFieldSelections() { + return formFieldSelections; + } + + public void setFormFieldSelections(@jakarta.annotation.Nullable List formFieldSelections) { + this.formFieldSelections = formFieldSelections; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewProblemDataAttributes newProblemDataAttributes = (NewProblemDataAttributes) o; + return Objects.equals(this.title, newProblemDataAttributes.title) && + Objects.equals(this.description, newProblemDataAttributes.description) && + Objects.equals(this.ownerUserId, newProblemDataAttributes.ownerUserId) && + Objects.equals(this.ownerGroupId, newProblemDataAttributes.ownerGroupId) && + Objects.equals(this.priority, newProblemDataAttributes.priority) && + Objects.equals(this.dueDate, newProblemDataAttributes.dueDate) && + Objects.equals(this.scope, newProblemDataAttributes.scope) && + Objects.equals(this.exitCriteria, newProblemDataAttributes.exitCriteria) && + Objects.equals(this.impactSoFar, newProblemDataAttributes.impactSoFar) && + Objects.equals(this.rootCause, newProblemDataAttributes.rootCause) && + Objects.equals(this.resolution, newProblemDataAttributes.resolution) && + Objects.equals(this.deferralReason, newProblemDataAttributes.deferralReason) && + Objects.equals(this.cancellationReason, newProblemDataAttributes.cancellationReason) && + Objects.equals(this.nextReviewAt, newProblemDataAttributes.nextReviewAt) && + Objects.equals(this.reReviewCadence, newProblemDataAttributes.reReviewCadence) && + Objects.equals(this.incidentIds, newProblemDataAttributes.incidentIds) && + Objects.equals(this.formFieldSelections, newProblemDataAttributes.formFieldSelections); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(title, description, ownerUserId, ownerGroupId, priority, dueDate, scope, exitCriteria, impactSoFar, rootCause, resolution, deferralReason, cancellationReason, nextReviewAt, reReviewCadence, incidentIds, formFieldSelections); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewProblemDataAttributes {\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).append("\n"); + sb.append(" ownerGroupId: ").append(toIndentedString(ownerGroupId)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" exitCriteria: ").append(toIndentedString(exitCriteria)).append("\n"); + sb.append(" impactSoFar: ").append(toIndentedString(impactSoFar)).append("\n"); + sb.append(" rootCause: ").append(toIndentedString(rootCause)).append("\n"); + sb.append(" resolution: ").append(toIndentedString(resolution)).append("\n"); + sb.append(" deferralReason: ").append(toIndentedString(deferralReason)).append("\n"); + sb.append(" cancellationReason: ").append(toIndentedString(cancellationReason)).append("\n"); + sb.append(" nextReviewAt: ").append(toIndentedString(nextReviewAt)).append("\n"); + sb.append(" reReviewCadence: ").append(toIndentedString(reReviewCadence)).append("\n"); + sb.append(" incidentIds: ").append(toIndentedString(incidentIds)).append("\n"); + sb.append(" formFieldSelections: ").append(toIndentedString(formFieldSelections)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("title"); + openapiFields.add("description"); + openapiFields.add("owner_user_id"); + openapiFields.add("owner_group_id"); + openapiFields.add("priority"); + openapiFields.add("due_date"); + openapiFields.add("scope"); + openapiFields.add("exit_criteria"); + openapiFields.add("impact_so_far"); + openapiFields.add("root_cause"); + openapiFields.add("resolution"); + openapiFields.add("deferral_reason"); + openapiFields.add("cancellation_reason"); + openapiFields.add("next_review_at"); + openapiFields.add("re_review_cadence"); + openapiFields.add("incident_ids"); + openapiFields.add("form_field_selections"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("title"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewProblemDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewProblemDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewProblemDataAttributes is not found in the empty JSON string", NewProblemDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewProblemDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewProblemDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewProblemDataAttributes.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("owner_group_id") != null && !jsonObj.get("owner_group_id").isJsonNull()) && !jsonObj.get("owner_group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("owner_group_id").toString())); + } + if ((jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) && !jsonObj.get("priority").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `priority` to be a primitive type in the JSON string but got `%s`", jsonObj.get("priority").toString())); + } + // validate the optional field `priority` + if (jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) { + PriorityEnum.validateJsonElement(jsonObj.get("priority")); + } + if ((jsonObj.get("scope") != null && !jsonObj.get("scope").isJsonNull()) && !jsonObj.get("scope").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope").toString())); + } + if ((jsonObj.get("exit_criteria") != null && !jsonObj.get("exit_criteria").isJsonNull()) && !jsonObj.get("exit_criteria").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `exit_criteria` to be a primitive type in the JSON string but got `%s`", jsonObj.get("exit_criteria").toString())); + } + if ((jsonObj.get("impact_so_far") != null && !jsonObj.get("impact_so_far").isJsonNull()) && !jsonObj.get("impact_so_far").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `impact_so_far` to be a primitive type in the JSON string but got `%s`", jsonObj.get("impact_so_far").toString())); + } + if ((jsonObj.get("root_cause") != null && !jsonObj.get("root_cause").isJsonNull()) && !jsonObj.get("root_cause").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `root_cause` to be a primitive type in the JSON string but got `%s`", jsonObj.get("root_cause").toString())); + } + if ((jsonObj.get("resolution") != null && !jsonObj.get("resolution").isJsonNull()) && !jsonObj.get("resolution").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `resolution` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolution").toString())); + } + if ((jsonObj.get("deferral_reason") != null && !jsonObj.get("deferral_reason").isJsonNull()) && !jsonObj.get("deferral_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deferral_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deferral_reason").toString())); + } + if ((jsonObj.get("cancellation_reason") != null && !jsonObj.get("cancellation_reason").isJsonNull()) && !jsonObj.get("cancellation_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `cancellation_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cancellation_reason").toString())); + } + if ((jsonObj.get("next_review_at") != null && !jsonObj.get("next_review_at").isJsonNull()) && !jsonObj.get("next_review_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `next_review_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("next_review_at").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_ids") != null && !jsonObj.get("incident_ids").isJsonNull() && !jsonObj.get("incident_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("form_field_selections") != null && !jsonObj.get("form_field_selections").isJsonNull() && !jsonObj.get("form_field_selections").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `form_field_selections` to be an array in the JSON string but got `%s`", jsonObj.get("form_field_selections").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewProblemDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewProblemDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewProblemDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewProblemDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewProblemDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewProblemDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewProblemDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewProblemDataAttributes + */ + public static NewProblemDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewProblemDataAttributes.class); + } + + /** + * Convert an instance of NewProblemDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewPulse.java b/src/main/java/com/rootly/client/model/NewPulse.java index 0d433d67..64f8fd89 100644 --- a/src/main/java/com/rootly/client/model/NewPulse.java +++ b/src/main/java/com/rootly/client/model/NewPulse.java @@ -49,7 +49,7 @@ /** * NewPulse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPulse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewPulseData.java b/src/main/java/com/rootly/client/model/NewPulseData.java index b8056aa2..d1edcdee 100644 --- a/src/main/java/com/rootly/client/model/NewPulseData.java +++ b/src/main/java/com/rootly/client/model/NewPulseData.java @@ -49,7 +49,7 @@ /** * NewPulseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPulseData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewPulseDataAttributes.java b/src/main/java/com/rootly/client/model/NewPulseDataAttributes.java index bfb928ed..16bc9207 100644 --- a/src/main/java/com/rootly/client/model/NewPulseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPulseDataAttributes.java @@ -54,7 +54,7 @@ /** * NewPulseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPulseDataAttributes { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) diff --git a/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java b/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java index eea6aca2..5dde2577 100644 --- a/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java +++ b/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java @@ -48,7 +48,7 @@ /** * NewPulseDataAttributesLabelsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPulseDataAttributesLabelsInner { public static final String SERIALIZED_NAME_KEY = "key"; @SerializedName(SERIALIZED_NAME_KEY) diff --git a/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java b/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java index c48158f2..12c0dc0e 100644 --- a/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java +++ b/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java @@ -48,7 +48,7 @@ /** * NewPulseDataAttributesRefsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPulseDataAttributesRefsInner { public static final String SERIALIZED_NAME_KEY = "key"; @SerializedName(SERIALIZED_NAME_KEY) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java index fb84753a..4d7da162 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcess */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcess { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java index 450509d6..e783c29a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributes.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributes.java index 43aeaca3..7609b66a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributes.java @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.java index b711cdfa..0b9dc8b1 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.java @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.java index 7ac1b6df..822d1e4a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.java @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf { public static final String SERIALIZED_NAME_SEVERITY_IDS = "severity_ids"; @SerializedName(SERIALIZED_NAME_SEVERITY_IDS) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java index 91773a24..13892f20 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1 { public static final String SERIALIZED_NAME_GROUP_IDS = "group_ids"; @SerializedName(SERIALIZED_NAME_GROUP_IDS) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java index 47201571..399cd250 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2 { public static final String SERIALIZED_NAME_INCIDENT_TYPE_IDS = "incident_type_ids"; @SerializedName(SERIALIZED_NAME_INCIDENT_TYPE_IDS) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java index 806dc02d..9f40e78b 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupData.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupData.java index 1e85c5c7..d47ac22c 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupData.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributes.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributes.java index 8092f6d8..b9d982f2 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributes.java @@ -48,7 +48,7 @@ /** * NewRetrospectiveProcessGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessGroupDataAttributes { public static final String SERIALIZED_NAME_SUB_STATUS_ID = "sub_status_id"; @SerializedName(SERIALIZED_NAME_SUB_STATUS_ID) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStep.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStep.java index abe46af8..ba05f8b2 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStep.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStep.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroupStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessGroupStep { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepData.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepData.java index c0c2216b..9f776e9a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepData.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroupStepData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessGroupStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributes.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributes.java index 4268494c..5d211a6a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributes.java @@ -48,7 +48,7 @@ /** * NewRetrospectiveProcessGroupStepDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveProcessGroupStepDataAttributes { public static final String SERIALIZED_NAME_RETROSPECTIVE_STEP_ID = "retrospective_step_id"; @SerializedName(SERIALIZED_NAME_RETROSPECTIVE_STEP_ID) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveStep.java b/src/main/java/com/rootly/client/model/NewRetrospectiveStep.java index 2f08cc12..bba7ee58 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveStep.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveStep { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveStepData.java b/src/main/java/com/rootly/client/model/NewRetrospectiveStepData.java index 5ba69cf2..10c40d8a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveStepData.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveStepData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/NewRetrospectiveStepDataAttributes.java index 646b8625..75363cb5 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveStepDataAttributes.java @@ -49,7 +49,7 @@ /** * NewRetrospectiveStepDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewRole.java b/src/main/java/com/rootly/client/model/NewRole.java index 93d01478..6a9d5f18 100644 --- a/src/main/java/com/rootly/client/model/NewRole.java +++ b/src/main/java/com/rootly/client/model/NewRole.java @@ -49,7 +49,7 @@ /** * NewRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRole { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewRoleData.java b/src/main/java/com/rootly/client/model/NewRoleData.java index 472904e9..4681819a 100644 --- a/src/main/java/com/rootly/client/model/NewRoleData.java +++ b/src/main/java/com/rootly/client/model/NewRoleData.java @@ -49,7 +49,7 @@ /** * NewRoleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewRoleDataAttributes.java b/src/main/java/com/rootly/client/model/NewRoleDataAttributes.java index 5f9a665b..07e37fbd 100644 --- a/src/main/java/com/rootly/client/model/NewRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRoleDataAttributes.java @@ -51,7 +51,7 @@ /** * NewRoleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRoleDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -1527,6 +1527,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List statusPagesPermissions = new ArrayList<>(); + /** + * Gets or Sets statusPageUpdatesPermissions + */ + @JsonAdapter(StatusPageUpdatesPermissionsEnum.Adapter.class) + public enum StatusPageUpdatesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + StatusPageUpdatesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusPageUpdatesPermissionsEnum fromValue(String value) { + for (StatusPageUpdatesPermissionsEnum b : StatusPageUpdatesPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusPageUpdatesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusPageUpdatesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusPageUpdatesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusPageUpdatesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS_PAGE_UPDATES_PERMISSIONS = "status_page_updates_permissions"; + @SerializedName(SERIALIZED_NAME_STATUS_PAGE_UPDATES_PERMISSIONS) + @jakarta.annotation.Nullable + private List statusPageUpdatesPermissions; + /** * Gets or Sets webhooksPermissions */ @@ -1832,6 +1893,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List edgeConnectorPermissions = new ArrayList<>(); + /** + * Gets or Sets privateAgentPermissions + */ + @JsonAdapter(PrivateAgentPermissionsEnum.Adapter.class) + public enum PrivateAgentPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + PrivateAgentPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrivateAgentPermissionsEnum fromValue(String value) { + for (PrivateAgentPermissionsEnum b : PrivateAgentPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrivateAgentPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrivateAgentPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrivateAgentPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PrivateAgentPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIVATE_AGENT_PERMISSIONS = "private_agent_permissions"; + @SerializedName(SERIALIZED_NAME_PRIVATE_AGENT_PERMISSIONS) + @jakarta.annotation.Nullable + private List privateAgentPermissions = new ArrayList<>(); + /** * Gets or Sets slasPermissions */ @@ -2790,6 +2912,33 @@ public void setStatusPagesPermissions(@jakarta.annotation.Nullable List statusPageUpdatesPermissions) { + this.statusPageUpdatesPermissions = statusPageUpdatesPermissions; + return this; + } + + public NewRoleDataAttributes addStatusPageUpdatesPermissionsItem(StatusPageUpdatesPermissionsEnum statusPageUpdatesPermissionsItem) { + if (this.statusPageUpdatesPermissions == null) { + this.statusPageUpdatesPermissions = new ArrayList<>(); + } + this.statusPageUpdatesPermissions.add(statusPageUpdatesPermissionsItem); + return this; + } + + /** + * Get statusPageUpdatesPermissions + * @return statusPageUpdatesPermissions + */ + @jakarta.annotation.Nullable + public List getStatusPageUpdatesPermissions() { + return statusPageUpdatesPermissions; + } + + public void setStatusPageUpdatesPermissions(@jakarta.annotation.Nullable List statusPageUpdatesPermissions) { + this.statusPageUpdatesPermissions = statusPageUpdatesPermissions; + } + + public NewRoleDataAttributes webhooksPermissions(@jakarta.annotation.Nullable List webhooksPermissions) { this.webhooksPermissions = webhooksPermissions; return this; @@ -2925,6 +3074,33 @@ public void setEdgeConnectorPermissions(@jakarta.annotation.Nullable List privateAgentPermissions) { + this.privateAgentPermissions = privateAgentPermissions; + return this; + } + + public NewRoleDataAttributes addPrivateAgentPermissionsItem(PrivateAgentPermissionsEnum privateAgentPermissionsItem) { + if (this.privateAgentPermissions == null) { + this.privateAgentPermissions = new ArrayList<>(); + } + this.privateAgentPermissions.add(privateAgentPermissionsItem); + return this; + } + + /** + * Private Agent management permissions: create issues enrollment tokens, read views agent inventory and details, and delete revokes agent credentials. Create and delete can be used independently through the API; browser inventory requires read. + * @return privateAgentPermissions + */ + @jakarta.annotation.Nullable + public List getPrivateAgentPermissions() { + return privateAgentPermissions; + } + + public void setPrivateAgentPermissions(@jakarta.annotation.Nullable List privateAgentPermissions) { + this.privateAgentPermissions = privateAgentPermissions; + } + + public NewRoleDataAttributes slasPermissions(@jakarta.annotation.Nullable List slasPermissions) { this.slasPermissions = slasPermissions; return this; @@ -3070,11 +3246,13 @@ public boolean equals(Object o) { Objects.equals(this.servicesPermissions, newRoleDataAttributes.servicesPermissions) && Objects.equals(this.severitiesPermissions, newRoleDataAttributes.severitiesPermissions) && Objects.equals(this.statusPagesPermissions, newRoleDataAttributes.statusPagesPermissions) && + Objects.equals(this.statusPageUpdatesPermissions, newRoleDataAttributes.statusPageUpdatesPermissions) && Objects.equals(this.webhooksPermissions, newRoleDataAttributes.webhooksPermissions) && Objects.equals(this.workflowsPermissions, newRoleDataAttributes.workflowsPermissions) && Objects.equals(this.catalogsPermissions, newRoleDataAttributes.catalogsPermissions) && Objects.equals(this.subStatusesPermissions, newRoleDataAttributes.subStatusesPermissions) && Objects.equals(this.edgeConnectorPermissions, newRoleDataAttributes.edgeConnectorPermissions) && + Objects.equals(this.privateAgentPermissions, newRoleDataAttributes.privateAgentPermissions) && Objects.equals(this.slasPermissions, newRoleDataAttributes.slasPermissions) && Objects.equals(this.pagingPermissions, newRoleDataAttributes.pagingPermissions) && Objects.equals(this.incidentCommunicationPermissions, newRoleDataAttributes.incidentCommunicationPermissions) && @@ -3087,7 +3265,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, incidentPermissionSetId, alertsPermissions, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, pulsesPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions); + return Objects.hash(slug, name, incidentPermissionSetId, alertsPermissions, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, pulsesPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, statusPageUpdatesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, privateAgentPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions); } private static int hashCodeNullable(JsonNullable a) { @@ -3128,11 +3306,13 @@ public String toString() { sb.append(" servicesPermissions: ").append(toIndentedString(servicesPermissions)).append("\n"); sb.append(" severitiesPermissions: ").append(toIndentedString(severitiesPermissions)).append("\n"); sb.append(" statusPagesPermissions: ").append(toIndentedString(statusPagesPermissions)).append("\n"); + sb.append(" statusPageUpdatesPermissions: ").append(toIndentedString(statusPageUpdatesPermissions)).append("\n"); sb.append(" webhooksPermissions: ").append(toIndentedString(webhooksPermissions)).append("\n"); sb.append(" workflowsPermissions: ").append(toIndentedString(workflowsPermissions)).append("\n"); sb.append(" catalogsPermissions: ").append(toIndentedString(catalogsPermissions)).append("\n"); sb.append(" subStatusesPermissions: ").append(toIndentedString(subStatusesPermissions)).append("\n"); sb.append(" edgeConnectorPermissions: ").append(toIndentedString(edgeConnectorPermissions)).append("\n"); + sb.append(" privateAgentPermissions: ").append(toIndentedString(privateAgentPermissions)).append("\n"); sb.append(" slasPermissions: ").append(toIndentedString(slasPermissions)).append("\n"); sb.append(" pagingPermissions: ").append(toIndentedString(pagingPermissions)).append("\n"); sb.append(" incidentCommunicationPermissions: ").append(toIndentedString(incidentCommunicationPermissions)).append("\n"); @@ -3186,11 +3366,13 @@ private String toIndentedString(Object o) { openapiFields.add("services_permissions"); openapiFields.add("severities_permissions"); openapiFields.add("status_pages_permissions"); + openapiFields.add("status_page_updates_permissions"); openapiFields.add("webhooks_permissions"); openapiFields.add("workflows_permissions"); openapiFields.add("catalogs_permissions"); openapiFields.add("sub_statuses_permissions"); openapiFields.add("edge_connector_permissions"); + openapiFields.add("private_agent_permissions"); openapiFields.add("slas_permissions"); openapiFields.add("paging_permissions"); openapiFields.add("incident_communication_permissions"); @@ -3335,6 +3517,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `status_pages_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("status_pages_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("status_page_updates_permissions") != null && !jsonObj.get("status_page_updates_permissions").isJsonNull() && !jsonObj.get("status_page_updates_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `status_page_updates_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("status_page_updates_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("webhooks_permissions") != null && !jsonObj.get("webhooks_permissions").isJsonNull() && !jsonObj.get("webhooks_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `webhooks_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("webhooks_permissions").toString())); } @@ -3355,6 +3541,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `edge_connector_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("edge_connector_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("private_agent_permissions") != null && !jsonObj.get("private_agent_permissions").isJsonNull() && !jsonObj.get("private_agent_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `private_agent_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("private_agent_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("slas_permissions") != null && !jsonObj.get("slas_permissions").isJsonNull() && !jsonObj.get("slas_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `slas_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("slas_permissions").toString())); } diff --git a/src/main/java/com/rootly/client/model/NewSchedule.java b/src/main/java/com/rootly/client/model/NewSchedule.java index 37b2303c..07e81915 100644 --- a/src/main/java/com/rootly/client/model/NewSchedule.java +++ b/src/main/java/com/rootly/client/model/NewSchedule.java @@ -49,7 +49,7 @@ /** * NewSchedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSchedule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewScheduleData.java b/src/main/java/com/rootly/client/model/NewScheduleData.java index 9c09a595..ae338658 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleData.java @@ -49,7 +49,7 @@ /** * NewScheduleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java index b08b0cf3..4cc36540 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewScheduleDataAttributesBusinessHours; import com.rootly.client.model.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; @@ -53,7 +54,7 @@ /** * NewScheduleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -70,6 +71,11 @@ public class NewScheduleDataAttributes { @jakarta.annotation.Nullable private Boolean allTimeCoverage; + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @jakarta.annotation.Nullable + private String timeZone; + public static final String SERIALIZED_NAME_SLACK_USER_GROUP = "slack_user_group"; @SerializedName(SERIALIZED_NAME_SLACK_USER_GROUP) @jakarta.annotation.Nullable @@ -192,6 +198,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String shiftReportTimeZone; + public static final String SERIALIZED_NAME_BUSINESS_HOURS = "business_hours"; + @SerializedName(SERIALIZED_NAME_BUSINESS_HOURS) + @jakarta.annotation.Nullable + private NewScheduleDataAttributesBusinessHours businessHours; + public NewScheduleDataAttributes() { } @@ -252,6 +263,25 @@ public void setAllTimeCoverage(@jakarta.annotation.Nullable Boolean allTimeCover } + public NewScheduleDataAttributes timeZone(@jakarta.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * IANA time zone the schedule's rotations are rendered in. Only writable for organizations configured with one timezone per schedule; otherwise it is derived from the rotations. + * @return timeZone + */ + @jakarta.annotation.Nullable + public String getTimeZone() { + return timeZone; + } + + public void setTimeZone(@jakarta.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + } + + public NewScheduleDataAttributes slackUserGroup(@jakarta.annotation.Nullable NewScheduleDataAttributesSlackUserGroup slackUserGroup) { this.slackUserGroup = slackUserGroup; return this; @@ -488,6 +518,25 @@ public void setShiftReportTimeZone(@jakarta.annotation.Nullable String shiftRepo } + public NewScheduleDataAttributes businessHours(@jakarta.annotation.Nullable NewScheduleDataAttributesBusinessHours businessHours) { + this.businessHours = businessHours; + return this; + } + + /** + * Get businessHours + * @return businessHours + */ + @jakarta.annotation.Nullable + public NewScheduleDataAttributesBusinessHours getBusinessHours() { + return businessHours; + } + + public void setBusinessHours(@jakarta.annotation.Nullable NewScheduleDataAttributesBusinessHours businessHours) { + this.businessHours = businessHours; + } + + @Override public boolean equals(Object o) { @@ -501,6 +550,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, newScheduleDataAttributes.name) && Objects.equals(this.description, newScheduleDataAttributes.description) && Objects.equals(this.allTimeCoverage, newScheduleDataAttributes.allTimeCoverage) && + Objects.equals(this.timeZone, newScheduleDataAttributes.timeZone) && Objects.equals(this.slackUserGroup, newScheduleDataAttributes.slackUserGroup) && Objects.equals(this.slackChannel, newScheduleDataAttributes.slackChannel) && Objects.equals(this.ownerGroupIds, newScheduleDataAttributes.ownerGroupIds) && @@ -512,7 +562,8 @@ public boolean equals(Object o) { Objects.equals(this.shiftReportEnabled, newScheduleDataAttributes.shiftReportEnabled) && Objects.equals(this.shiftReportDayOfWeek, newScheduleDataAttributes.shiftReportDayOfWeek) && Objects.equals(this.shiftReportTimeOfDay, newScheduleDataAttributes.shiftReportTimeOfDay) && - Objects.equals(this.shiftReportTimeZone, newScheduleDataAttributes.shiftReportTimeZone); + Objects.equals(this.shiftReportTimeZone, newScheduleDataAttributes.shiftReportTimeZone) && + Objects.equals(this.businessHours, newScheduleDataAttributes.businessHours); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -521,7 +572,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, allTimeCoverage, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, syncLinearEnabled, includeShadowsInSlackNotifications, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, shiftReportEnabled, shiftReportDayOfWeek, shiftReportTimeOfDay, shiftReportTimeZone); + return Objects.hash(name, description, allTimeCoverage, timeZone, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, syncLinearEnabled, includeShadowsInSlackNotifications, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, shiftReportEnabled, shiftReportDayOfWeek, shiftReportTimeOfDay, shiftReportTimeZone, businessHours); } private static int hashCodeNullable(JsonNullable a) { @@ -538,6 +589,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" allTimeCoverage: ").append(toIndentedString(allTimeCoverage)).append("\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); sb.append(" slackUserGroup: ").append(toIndentedString(slackUserGroup)).append("\n"); sb.append(" slackChannel: ").append(toIndentedString(slackChannel)).append("\n"); sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); @@ -550,6 +602,7 @@ public String toString() { sb.append(" shiftReportDayOfWeek: ").append(toIndentedString(shiftReportDayOfWeek)).append("\n"); sb.append(" shiftReportTimeOfDay: ").append(toIndentedString(shiftReportTimeOfDay)).append("\n"); sb.append(" shiftReportTimeZone: ").append(toIndentedString(shiftReportTimeZone)).append("\n"); + sb.append(" businessHours: ").append(toIndentedString(businessHours)).append("\n"); sb.append("}"); return sb.toString(); } @@ -575,6 +628,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("all_time_coverage"); + openapiFields.add("time_zone"); openapiFields.add("slack_user_group"); openapiFields.add("slack_channel"); openapiFields.add("owner_group_ids"); @@ -587,6 +641,7 @@ private String toIndentedString(Object o) { openapiFields.add("shift_report_day_of_week"); openapiFields.add("shift_report_time_of_day"); openapiFields.add("shift_report_time_zone"); + openapiFields.add("business_hours"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -628,6 +683,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + if ((jsonObj.get("time_zone") != null && !jsonObj.get("time_zone").isJsonNull()) && !jsonObj.get("time_zone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_zone").toString())); + } // validate the optional field `slack_user_group` if (jsonObj.get("slack_user_group") != null && !jsonObj.get("slack_user_group").isJsonNull()) { NewScheduleDataAttributesSlackUserGroup.validateJsonElement(jsonObj.get("slack_user_group")); @@ -653,6 +711,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("shift_report_time_zone") != null && !jsonObj.get("shift_report_time_zone").isJsonNull()) && !jsonObj.get("shift_report_time_zone").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `shift_report_time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shift_report_time_zone").toString())); } + // validate the optional field `business_hours` + if (jsonObj.get("business_hours") != null && !jsonObj.get("business_hours").isJsonNull()) { + NewScheduleDataAttributesBusinessHours.validateJsonElement(jsonObj.get("business_hours")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHours.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHours.java new file mode 100644 index 00000000..1d4e363f --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHours.java @@ -0,0 +1,273 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Controls shadow paging on the schedule. Null disables shadow paging. start_time and end_time are HH:MM 24-hour format strings. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewScheduleDataAttributesBusinessHours { + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nonnull + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nonnull + private String endTime; + + public static final String SERIALIZED_NAME_INCLUDE_WEEKENDS = "include_weekends"; + @SerializedName(SERIALIZED_NAME_INCLUDE_WEEKENDS) + @jakarta.annotation.Nonnull + private Boolean includeWeekends; + + public NewScheduleDataAttributesBusinessHours() { + } + + public NewScheduleDataAttributesBusinessHours startTime(@jakarta.annotation.Nonnull String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Get startTime + * @return startTime + */ + @jakarta.annotation.Nonnull + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nonnull String startTime) { + this.startTime = startTime; + } + + + public NewScheduleDataAttributesBusinessHours endTime(@jakarta.annotation.Nonnull String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Get endTime + * @return endTime + */ + @jakarta.annotation.Nonnull + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nonnull String endTime) { + this.endTime = endTime; + } + + + public NewScheduleDataAttributesBusinessHours includeWeekends(@jakarta.annotation.Nonnull Boolean includeWeekends) { + this.includeWeekends = includeWeekends; + return this; + } + + /** + * Get includeWeekends + * @return includeWeekends + */ + @jakarta.annotation.Nonnull + public Boolean getIncludeWeekends() { + return includeWeekends; + } + + public void setIncludeWeekends(@jakarta.annotation.Nonnull Boolean includeWeekends) { + this.includeWeekends = includeWeekends; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewScheduleDataAttributesBusinessHours newScheduleDataAttributesBusinessHours = (NewScheduleDataAttributesBusinessHours) o; + return Objects.equals(this.startTime, newScheduleDataAttributesBusinessHours.startTime) && + Objects.equals(this.endTime, newScheduleDataAttributesBusinessHours.endTime) && + Objects.equals(this.includeWeekends, newScheduleDataAttributesBusinessHours.includeWeekends); + } + + @Override + public int hashCode() { + return Objects.hash(startTime, endTime, includeWeekends); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewScheduleDataAttributesBusinessHours {\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" includeWeekends: ").append(toIndentedString(includeWeekends)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + openapiFields.add("include_weekends"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("start_time"); + openapiRequiredFields.add("end_time"); + openapiRequiredFields.add("include_weekends"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewScheduleDataAttributesBusinessHours + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewScheduleDataAttributesBusinessHours.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewScheduleDataAttributesBusinessHours is not found in the empty JSON string", NewScheduleDataAttributesBusinessHours.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewScheduleDataAttributesBusinessHours.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewScheduleDataAttributesBusinessHours` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewScheduleDataAttributesBusinessHours.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if (!jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewScheduleDataAttributesBusinessHours.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewScheduleDataAttributesBusinessHours' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewScheduleDataAttributesBusinessHours.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewScheduleDataAttributesBusinessHours value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewScheduleDataAttributesBusinessHours read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewScheduleDataAttributesBusinessHours given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewScheduleDataAttributesBusinessHours + * @throws IOException if the JSON string is invalid with respect to NewScheduleDataAttributesBusinessHours + */ + public static NewScheduleDataAttributesBusinessHours fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewScheduleDataAttributesBusinessHours.class); + } + + /** + * Convert an instance of NewScheduleDataAttributesBusinessHours to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java index 9d6205b5..ed9c5a74 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java @@ -48,7 +48,7 @@ /** * NewScheduleDataAttributesSlackChannel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleDataAttributesSlackChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java index 0bc4ea9a..c075a2ed 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java @@ -48,7 +48,7 @@ /** * NewScheduleDataAttributesSlackUserGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleDataAttributesSlackUserGroup { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotation.java b/src/main/java/com/rootly/client/model/NewScheduleRotation.java index e7139a65..57e03c9e 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotation.java @@ -49,7 +49,7 @@ /** * NewScheduleRotation */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotation { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java index 1cfb4f74..ef92fb29 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java @@ -49,7 +49,7 @@ /** * NewScheduleRotationActiveDay */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationActiveDay { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayData.java b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayData.java index a2e1fffd..cc5ff9c4 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayData.java @@ -49,7 +49,7 @@ /** * NewScheduleRotationActiveDayData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationActiveDayData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes.java b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes.java index f50c2966..c78c773d 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes.java @@ -51,7 +51,7 @@ /** * NewScheduleRotationActiveDayDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationActiveDayDataAttributes { /** * Schedule rotation day name for which active times to be created diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.java b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.java index 0ae0a725..68fec715 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner { public static final String SERIALIZED_NAME_START_TIME = "start_time"; @SerializedName(SERIALIZED_NAME_START_TIME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationData.java b/src/main/java/com/rootly/client/model/NewScheduleRotationData.java index 83c2be9a..4df0c3ed 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationData.java @@ -49,7 +49,7 @@ /** * NewScheduleRotationData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java index f978991e..66747ee3 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java @@ -55,7 +55,7 @@ /** * NewScheduleRotationDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -457,7 +457,7 @@ public NewScheduleRotationDataAttributes timeZone(@jakarta.annotation.Nullable S } /** - * A valid IANA time zone name. + * A valid IANA time zone name. Organizations with one timezone per schedule manage this on the schedule; a value differing from the schedule's is rejected. * @return timeZone */ @jakarta.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java index 3fb46ce4..66e17428 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesActiveTimeAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesActiveTimeAttributesInner { public static final String SERIALIZED_NAME_START_TIME = "start_time"; @SerializedName(SERIALIZED_NAME_START_TIME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java index 23940115..651cfa1a 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationMembersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesScheduleRotationMembersInner { /** * Type of member diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java index 6787a911..9e1b6831 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesScheduleRotationableAttributes extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewScheduleRotationDataAttributesScheduleRotationableAttributes.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java index c3a5c1cd..74e58ba3 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf { public static final String SERIALIZED_NAME_HANDOFF_TIME = "handoff_time"; @SerializedName(SERIALIZED_NAME_HANDOFF_TIME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java index 6bcff2a2..8e7a35d0 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1 { public static final String SERIALIZED_NAME_HANDOFF_TIME = "handoff_time"; @SerializedName(SERIALIZED_NAME_HANDOFF_TIME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2.java index 9cc1b5fc..1de5a975 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2 { public static final String SERIALIZED_NAME_HANDOFF_TIME = "handoff_time"; @SerializedName(SERIALIZED_NAME_HANDOFF_TIME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3.java index e3a9e5c1..a8e1c77c 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3 { public static final String SERIALIZED_NAME_SHIFT_LENGTH = "shift_length"; @SerializedName(SERIALIZED_NAME_SHIFT_LENGTH) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationUser.java b/src/main/java/com/rootly/client/model/NewScheduleRotationUser.java index f6745816..d95d179a 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationUser.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationUser.java @@ -49,7 +49,7 @@ /** * NewScheduleRotationUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationUserData.java b/src/main/java/com/rootly/client/model/NewScheduleRotationUserData.java index fedf40ea..1bbdd676 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationUserData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationUserData.java @@ -49,7 +49,7 @@ /** * NewScheduleRotationUserData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationUserDataAttributes.java b/src/main/java/com/rootly/client/model/NewScheduleRotationUserDataAttributes.java index 469044f6..15cc0b63 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationUserDataAttributes.java @@ -48,7 +48,7 @@ /** * NewScheduleRotationUserDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationUserDataAttributes { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/NewSecret.java b/src/main/java/com/rootly/client/model/NewSecret.java index f1718469..ff79915a 100644 --- a/src/main/java/com/rootly/client/model/NewSecret.java +++ b/src/main/java/com/rootly/client/model/NewSecret.java @@ -49,7 +49,7 @@ /** * NewSecret */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSecret { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewSecretData.java b/src/main/java/com/rootly/client/model/NewSecretData.java index 57b77b7c..a869ad15 100644 --- a/src/main/java/com/rootly/client/model/NewSecretData.java +++ b/src/main/java/com/rootly/client/model/NewSecretData.java @@ -49,7 +49,7 @@ /** * NewSecretData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSecretData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java b/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java index 2afd9ede..e90cd349 100644 --- a/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -49,7 +51,7 @@ /** * NewSecretDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSecretDataAttributes { /** * The kind of the secret @@ -133,6 +135,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String hashicorpVaultVersion = "0"; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds; + public NewSecretDataAttributes() { } @@ -250,6 +257,33 @@ public void setHashicorpVaultVersion(@jakarta.annotation.Nullable String hashico } + public NewSecretDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public NewSecretDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams whose members can see and pick this secret; their team admins can manage it. Empty means only users with the org Secrets permission can. Ignored unless team scoping is enabled for the organization. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + @Override public boolean equals(Object o) { @@ -265,7 +299,8 @@ public boolean equals(Object o) { Objects.equals(this.secret, newSecretDataAttributes.secret) && Objects.equals(this.hashicorpVaultMount, newSecretDataAttributes.hashicorpVaultMount) && Objects.equals(this.hashicorpVaultPath, newSecretDataAttributes.hashicorpVaultPath) && - Objects.equals(this.hashicorpVaultVersion, newSecretDataAttributes.hashicorpVaultVersion); + Objects.equals(this.hashicorpVaultVersion, newSecretDataAttributes.hashicorpVaultVersion) && + Objects.equals(this.ownerGroupIds, newSecretDataAttributes.ownerGroupIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -274,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(kind, name, secret, hashicorpVaultMount, hashicorpVaultPath, hashicorpVaultVersion); + return Objects.hash(kind, name, secret, hashicorpVaultMount, hashicorpVaultPath, hashicorpVaultVersion, ownerGroupIds); } private static int hashCodeNullable(JsonNullable a) { @@ -294,6 +329,7 @@ public String toString() { sb.append(" hashicorpVaultMount: ").append(toIndentedString(hashicorpVaultMount)).append("\n"); sb.append(" hashicorpVaultPath: ").append(toIndentedString(hashicorpVaultPath)).append("\n"); sb.append(" hashicorpVaultVersion: ").append(toIndentedString(hashicorpVaultVersion)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -322,6 +358,7 @@ private String toIndentedString(Object o) { openapiFields.add("hashicorp_vault_mount"); openapiFields.add("hashicorp_vault_path"); openapiFields.add("hashicorp_vault_version"); + openapiFields.add("owner_group_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -379,6 +416,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("hashicorp_vault_version") != null && !jsonObj.get("hashicorp_vault_version").isJsonNull()) && !jsonObj.get("hashicorp_vault_version").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `hashicorp_vault_version` to be a primitive type in the JSON string but got `%s`", jsonObj.get("hashicorp_vault_version").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewService.java b/src/main/java/com/rootly/client/model/NewService.java index dd845811..326c4c47 100644 --- a/src/main/java/com/rootly/client/model/NewService.java +++ b/src/main/java/com/rootly/client/model/NewService.java @@ -49,7 +49,7 @@ /** * NewService */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewService { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewServiceData.java b/src/main/java/com/rootly/client/model/NewServiceData.java index 44b76c52..1640665c 100644 --- a/src/main/java/com/rootly/client/model/NewServiceData.java +++ b/src/main/java/com/rootly/client/model/NewServiceData.java @@ -49,7 +49,7 @@ /** * NewServiceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewServiceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewServiceDataAttributes.java b/src/main/java/com/rootly/client/model/NewServiceDataAttributes.java index 8869b171..010670bd 100644 --- a/src/main/java/com/rootly/client/model/NewServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewServiceDataAttributes.java @@ -56,7 +56,7 @@ /** * NewServiceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewServiceDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java b/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java index 7f6fd90c..a7d3d6a7 100644 --- a/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java +++ b/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java @@ -48,7 +48,7 @@ /** * Slack channel to broadcast alerts to */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewServiceDataAttributesAlertBroadcastChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java b/src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java index 79eeefaf..77290493 100644 --- a/src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java +++ b/src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java @@ -48,7 +48,7 @@ /** * Slack channel to broadcast incidents to */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewServiceDataAttributesIncidentBroadcastChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/NewSeverity.java b/src/main/java/com/rootly/client/model/NewSeverity.java index 0da46fdb..aeee3939 100644 --- a/src/main/java/com/rootly/client/model/NewSeverity.java +++ b/src/main/java/com/rootly/client/model/NewSeverity.java @@ -49,7 +49,7 @@ /** * NewSeverity */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSeverity { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewSeverityData.java b/src/main/java/com/rootly/client/model/NewSeverityData.java index ab4a54a0..4405b29f 100644 --- a/src/main/java/com/rootly/client/model/NewSeverityData.java +++ b/src/main/java/com/rootly/client/model/NewSeverityData.java @@ -49,7 +49,7 @@ /** * NewSeverityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSeverityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java b/src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java index c77070fb..2bfba0c5 100644 --- a/src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java @@ -53,7 +53,7 @@ /** * NewSeverityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSeverityDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewShiftCoverageRequest.java b/src/main/java/com/rootly/client/model/NewShiftCoverageRequest.java index 95f843a6..99db4d9d 100644 --- a/src/main/java/com/rootly/client/model/NewShiftCoverageRequest.java +++ b/src/main/java/com/rootly/client/model/NewShiftCoverageRequest.java @@ -49,7 +49,7 @@ /** * NewShiftCoverageRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewShiftCoverageRequest { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewShiftCoverageRequestData.java b/src/main/java/com/rootly/client/model/NewShiftCoverageRequestData.java index 5d69898b..99882544 100644 --- a/src/main/java/com/rootly/client/model/NewShiftCoverageRequestData.java +++ b/src/main/java/com/rootly/client/model/NewShiftCoverageRequestData.java @@ -49,7 +49,7 @@ /** * NewShiftCoverageRequestData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewShiftCoverageRequestData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributes.java b/src/main/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributes.java index 6abe5461..848173bb 100644 --- a/src/main/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributes.java @@ -21,7 +21,9 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -49,7 +51,7 @@ /** * NewShiftCoverageRequestDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewShiftCoverageRequestDataAttributes { public static final String SERIALIZED_NAME_STARTS_AT = "starts_at"; @SerializedName(SERIALIZED_NAME_STARTS_AT) @@ -66,6 +68,11 @@ public class NewShiftCoverageRequestDataAttributes { @jakarta.annotation.Nullable private Integer userId; + public static final String SERIALIZED_NAME_RECIPIENT_USER_IDS = "recipient_user_ids"; + @SerializedName(SERIALIZED_NAME_RECIPIENT_USER_IDS) + @jakarta.annotation.Nullable + private List recipientUserIds = new ArrayList<>(); + public NewShiftCoverageRequestDataAttributes() { } @@ -126,6 +133,33 @@ public void setUserId(@jakarta.annotation.Nullable Integer userId) { } + public NewShiftCoverageRequestDataAttributes recipientUserIds(@jakarta.annotation.Nullable List recipientUserIds) { + this.recipientUserIds = recipientUserIds; + return this; + } + + public NewShiftCoverageRequestDataAttributes addRecipientUserIdsItem(Integer recipientUserIdsItem) { + if (this.recipientUserIds == null) { + this.recipientUserIds = new ArrayList<>(); + } + this.recipientUserIds.add(recipientUserIdsItem); + return this; + } + + /** + * Optional. Notify selected active schedule members for every covered shift when targeted-shift-coverage is enabled. Recipients must be eligible for each shift. Omitted, empty, or flag-disabled selections broadcast. + * @return recipientUserIds + */ + @jakarta.annotation.Nullable + public List getRecipientUserIds() { + return recipientUserIds; + } + + public void setRecipientUserIds(@jakarta.annotation.Nullable List recipientUserIds) { + this.recipientUserIds = recipientUserIds; + } + + @Override public boolean equals(Object o) { @@ -138,12 +172,13 @@ public boolean equals(Object o) { NewShiftCoverageRequestDataAttributes newShiftCoverageRequestDataAttributes = (NewShiftCoverageRequestDataAttributes) o; return Objects.equals(this.startsAt, newShiftCoverageRequestDataAttributes.startsAt) && Objects.equals(this.endsAt, newShiftCoverageRequestDataAttributes.endsAt) && - Objects.equals(this.userId, newShiftCoverageRequestDataAttributes.userId); + Objects.equals(this.userId, newShiftCoverageRequestDataAttributes.userId) && + Objects.equals(this.recipientUserIds, newShiftCoverageRequestDataAttributes.recipientUserIds); } @Override public int hashCode() { - return Objects.hash(startsAt, endsAt, userId); + return Objects.hash(startsAt, endsAt, userId, recipientUserIds); } @Override @@ -153,6 +188,7 @@ public String toString() { sb.append(" startsAt: ").append(toIndentedString(startsAt)).append("\n"); sb.append(" endsAt: ").append(toIndentedString(endsAt)).append("\n"); sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" recipientUserIds: ").append(toIndentedString(recipientUserIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -178,6 +214,7 @@ private String toIndentedString(Object o) { openapiFields.add("starts_at"); openapiFields.add("ends_at"); openapiFields.add("user_id"); + openapiFields.add("recipient_user_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -213,6 +250,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the optional json data is an array if present + if (jsonObj.get("recipient_user_ids") != null && !jsonObj.get("recipient_user_ids").isJsonNull() && !jsonObj.get("recipient_user_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `recipient_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("recipient_user_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewSla.java b/src/main/java/com/rootly/client/model/NewSla.java index b80f0d13..2ffd391b 100644 --- a/src/main/java/com/rootly/client/model/NewSla.java +++ b/src/main/java/com/rootly/client/model/NewSla.java @@ -49,7 +49,7 @@ /** * NewSla */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSla { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewSlaData.java b/src/main/java/com/rootly/client/model/NewSlaData.java index 51de6cea..a21f1ef3 100644 --- a/src/main/java/com/rootly/client/model/NewSlaData.java +++ b/src/main/java/com/rootly/client/model/NewSlaData.java @@ -49,7 +49,7 @@ /** * NewSlaData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSlaData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewSlaDataAttributes.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributes.java index bcd209b1..a4e362ef 100644 --- a/src/main/java/com/rootly/client/model/NewSlaDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSlaDataAttributes.java @@ -54,7 +54,7 @@ /** * NewSlaDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSlaDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java index a6cc0f54..4df84faf 100644 --- a/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java +++ b/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java @@ -52,7 +52,7 @@ /** * NewSlaDataAttributesConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSlaDataAttributesConditionsInner { /** * The type of condition diff --git a/src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java index 8049cdac..0786e7fe 100644 --- a/src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java +++ b/src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java @@ -48,7 +48,7 @@ /** * NewSlaDataAttributesNotificationConfigurationsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSlaDataAttributesNotificationConfigurationsInner { /** * When to send the notification relative to the deadline diff --git a/src/main/java/com/rootly/client/model/NewStatusPage.java b/src/main/java/com/rootly/client/model/NewStatusPage.java index d4b260fb..5d73a2cc 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPage.java +++ b/src/main/java/com/rootly/client/model/NewStatusPage.java @@ -49,7 +49,7 @@ /** * NewStatusPage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPage { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageAnnouncement.java b/src/main/java/com/rootly/client/model/NewStatusPageAnnouncement.java index a18938d2..4445fac5 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageAnnouncement.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageAnnouncement.java @@ -49,7 +49,7 @@ /** * NewStatusPageAnnouncement */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageAnnouncement { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementData.java b/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementData.java index d1613366..73165a9f 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementData.java @@ -49,7 +49,7 @@ /** * NewStatusPageAnnouncementData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageAnnouncementData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementDataAttributes.java b/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementDataAttributes.java index d86ca87d..2cc461b3 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageAnnouncementDataAttributes.java @@ -48,7 +48,7 @@ /** * NewStatusPageAnnouncementDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageAnnouncementDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageComponent.java b/src/main/java/com/rootly/client/model/NewStatusPageComponent.java index 74974dd0..b69325fb 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageComponent.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageComponent.java @@ -49,7 +49,7 @@ /** * NewStatusPageComponent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageComponent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageComponentData.java b/src/main/java/com/rootly/client/model/NewStatusPageComponentData.java index 2c8d1146..dccd9e07 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageComponentData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageComponentData.java @@ -49,7 +49,7 @@ /** * NewStatusPageComponentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageComponentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewStatusPageComponentDataAttributes.java b/src/main/java/com/rootly/client/model/NewStatusPageComponentDataAttributes.java index 21bd2986..4bba41b6 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageComponentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageComponentDataAttributes.java @@ -49,7 +49,7 @@ /** * NewStatusPageComponentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageComponentDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageComponentGroup.java b/src/main/java/com/rootly/client/model/NewStatusPageComponentGroup.java index 5798daeb..bb5cd5ec 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageComponentGroup.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageComponentGroup.java @@ -49,7 +49,7 @@ /** * NewStatusPageComponentGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageComponentGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupData.java b/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupData.java index 9cc19940..3f3b0d8b 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupData.java @@ -49,7 +49,7 @@ /** * NewStatusPageComponentGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageComponentGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupDataAttributes.java b/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupDataAttributes.java index 952a251a..6beb4e4f 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageComponentGroupDataAttributes.java @@ -49,7 +49,7 @@ /** * NewStatusPageComponentGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageComponentGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageData.java b/src/main/java/com/rootly/client/model/NewStatusPageData.java index 76f8c9ce..9683daeb 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageData.java @@ -49,7 +49,7 @@ /** * NewStatusPageData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java b/src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java index e8042985..76585163 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java @@ -51,7 +51,7 @@ /** * NewStatusPageDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTeam.java b/src/main/java/com/rootly/client/model/NewStatusPageTeam.java new file mode 100644 index 00000000..fa63ada9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewStatusPageTeam.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewStatusPageTeamData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewStatusPageTeam + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewStatusPageTeam { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private NewStatusPageTeamData data; + + public NewStatusPageTeam() { + } + + public NewStatusPageTeam data(@jakarta.annotation.Nonnull NewStatusPageTeamData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public NewStatusPageTeamData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull NewStatusPageTeamData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewStatusPageTeam newStatusPageTeam = (NewStatusPageTeam) o; + return Objects.equals(this.data, newStatusPageTeam.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewStatusPageTeam {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewStatusPageTeam + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewStatusPageTeam.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewStatusPageTeam is not found in the empty JSON string", NewStatusPageTeam.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewStatusPageTeam.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewStatusPageTeam` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewStatusPageTeam.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + NewStatusPageTeamData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewStatusPageTeam.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewStatusPageTeam' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewStatusPageTeam.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewStatusPageTeam value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewStatusPageTeam read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewStatusPageTeam given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewStatusPageTeam + * @throws IOException if the JSON string is invalid with respect to NewStatusPageTeam + */ + public static NewStatusPageTeam fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewStatusPageTeam.class); + } + + /** + * Convert an instance of NewStatusPageTeam to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTeamData.java b/src/main/java/com/rootly/client/model/NewStatusPageTeamData.java new file mode 100644 index 00000000..296055f9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewStatusPageTeamData.java @@ -0,0 +1,297 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewStatusPageTeamDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewStatusPageTeamData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewStatusPageTeamData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + STATUS_PAGE_GROUPS("status_page_groups"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private NewStatusPageTeamDataAttributes attributes; + + public NewStatusPageTeamData() { + } + + public NewStatusPageTeamData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewStatusPageTeamData attributes(@jakarta.annotation.Nonnull NewStatusPageTeamDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public NewStatusPageTeamDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull NewStatusPageTeamDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewStatusPageTeamData newStatusPageTeamData = (NewStatusPageTeamData) o; + return Objects.equals(this.type, newStatusPageTeamData.type) && + Objects.equals(this.attributes, newStatusPageTeamData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewStatusPageTeamData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewStatusPageTeamData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewStatusPageTeamData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewStatusPageTeamData is not found in the empty JSON string", NewStatusPageTeamData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewStatusPageTeamData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewStatusPageTeamData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewStatusPageTeamData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + NewStatusPageTeamDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewStatusPageTeamData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewStatusPageTeamData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewStatusPageTeamData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewStatusPageTeamData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewStatusPageTeamData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewStatusPageTeamData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewStatusPageTeamData + * @throws IOException if the JSON string is invalid with respect to NewStatusPageTeamData + */ + public static NewStatusPageTeamData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewStatusPageTeamData.class); + } + + /** + * Convert an instance of NewStatusPageTeamData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTeamDataAttributes.java b/src/main/java/com/rootly/client/model/NewStatusPageTeamDataAttributes.java new file mode 100644 index 00000000..1438c228 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewStatusPageTeamDataAttributes.java @@ -0,0 +1,301 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewStatusPageTeamDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewStatusPageTeamDataAttributes { + public static final String SERIALIZED_NAME_GROUP_ID = "group_id"; + @SerializedName(SERIALIZED_NAME_GROUP_ID) + @jakarta.annotation.Nonnull + private UUID groupId; + + /** + * publish_only lets team members post status page updates and announcements. edit_and_publish also lets them edit the page, its components, templates, and subscribers. Defaults to edit_and_publish + */ + @JsonAdapter(PermissionLevelEnum.Adapter.class) + public enum PermissionLevelEnum { + EDIT_AND_PUBLISH("edit_and_publish"), + + PUBLISH_ONLY("publish_only"); + + private String value; + + PermissionLevelEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PermissionLevelEnum fromValue(String value) { + for (PermissionLevelEnum b : PermissionLevelEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PermissionLevelEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PermissionLevelEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PermissionLevelEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PermissionLevelEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PERMISSION_LEVEL = "permission_level"; + @SerializedName(SERIALIZED_NAME_PERMISSION_LEVEL) + @jakarta.annotation.Nullable + private PermissionLevelEnum permissionLevel; + + public NewStatusPageTeamDataAttributes() { + } + + public NewStatusPageTeamDataAttributes groupId(@jakarta.annotation.Nonnull UUID groupId) { + this.groupId = groupId; + return this; + } + + /** + * ID of the team granted access to the status page. Teams are listed by GET /v1/teams. A status page accepts at most 50 teams + * @return groupId + */ + @jakarta.annotation.Nonnull + public UUID getGroupId() { + return groupId; + } + + public void setGroupId(@jakarta.annotation.Nonnull UUID groupId) { + this.groupId = groupId; + } + + + public NewStatusPageTeamDataAttributes permissionLevel(@jakarta.annotation.Nullable PermissionLevelEnum permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + /** + * publish_only lets team members post status page updates and announcements. edit_and_publish also lets them edit the page, its components, templates, and subscribers. Defaults to edit_and_publish + * @return permissionLevel + */ + @jakarta.annotation.Nullable + public PermissionLevelEnum getPermissionLevel() { + return permissionLevel; + } + + public void setPermissionLevel(@jakarta.annotation.Nullable PermissionLevelEnum permissionLevel) { + this.permissionLevel = permissionLevel; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewStatusPageTeamDataAttributes newStatusPageTeamDataAttributes = (NewStatusPageTeamDataAttributes) o; + return Objects.equals(this.groupId, newStatusPageTeamDataAttributes.groupId) && + Objects.equals(this.permissionLevel, newStatusPageTeamDataAttributes.permissionLevel); + } + + @Override + public int hashCode() { + return Objects.hash(groupId, permissionLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewStatusPageTeamDataAttributes {\n"); + sb.append(" groupId: ").append(toIndentedString(groupId)).append("\n"); + sb.append(" permissionLevel: ").append(toIndentedString(permissionLevel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("group_id"); + openapiFields.add("permission_level"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("group_id"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewStatusPageTeamDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewStatusPageTeamDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewStatusPageTeamDataAttributes is not found in the empty JSON string", NewStatusPageTeamDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewStatusPageTeamDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewStatusPageTeamDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewStatusPageTeamDataAttributes.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_id").toString())); + } + if ((jsonObj.get("permission_level") != null && !jsonObj.get("permission_level").isJsonNull()) && !jsonObj.get("permission_level").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `permission_level` to be a primitive type in the JSON string but got `%s`", jsonObj.get("permission_level").toString())); + } + // validate the optional field `permission_level` + if (jsonObj.get("permission_level") != null && !jsonObj.get("permission_level").isJsonNull()) { + PermissionLevelEnum.validateJsonElement(jsonObj.get("permission_level")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewStatusPageTeamDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewStatusPageTeamDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewStatusPageTeamDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewStatusPageTeamDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewStatusPageTeamDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewStatusPageTeamDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewStatusPageTeamDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewStatusPageTeamDataAttributes + */ + public static NewStatusPageTeamDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewStatusPageTeamDataAttributes.class); + } + + /** + * Convert an instance of NewStatusPageTeamDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java b/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java index ae3d87c1..25357c38 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java @@ -49,7 +49,7 @@ /** * NewStatusPageTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java b/src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java index a6be8e05..d67968ac 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java @@ -49,7 +49,7 @@ /** * NewStatusPageTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java index bd81f8aa..929820c9 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java @@ -49,7 +49,7 @@ /** * NewStatusPageTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageTemplateDataAttributes { public static final String SERIALIZED_NAME_STATUS_PAGE_ID = "status_page_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_ID) diff --git a/src/main/java/com/rootly/client/model/NewSubStatus.java b/src/main/java/com/rootly/client/model/NewSubStatus.java index 0ece739d..084b159a 100644 --- a/src/main/java/com/rootly/client/model/NewSubStatus.java +++ b/src/main/java/com/rootly/client/model/NewSubStatus.java @@ -49,7 +49,7 @@ /** * NewSubStatus */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSubStatus { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewSubStatusData.java b/src/main/java/com/rootly/client/model/NewSubStatusData.java index be64ae6b..4ee7dbc6 100644 --- a/src/main/java/com/rootly/client/model/NewSubStatusData.java +++ b/src/main/java/com/rootly/client/model/NewSubStatusData.java @@ -49,7 +49,7 @@ /** * NewSubStatusData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSubStatusData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java index 2dbb243f..b0b742cd 100644 --- a/src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java @@ -49,7 +49,7 @@ /** * NewSubStatusDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSubStatusDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/NewTeam.java b/src/main/java/com/rootly/client/model/NewTeam.java index e685b3f0..4f238e34 100644 --- a/src/main/java/com/rootly/client/model/NewTeam.java +++ b/src/main/java/com/rootly/client/model/NewTeam.java @@ -49,7 +49,7 @@ /** * NewTeam */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewTeam { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewTeamData.java b/src/main/java/com/rootly/client/model/NewTeamData.java index b3410813..82b5842d 100644 --- a/src/main/java/com/rootly/client/model/NewTeamData.java +++ b/src/main/java/com/rootly/client/model/NewTeamData.java @@ -49,7 +49,7 @@ /** * NewTeamData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewTeamData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewTeamDataAttributes.java b/src/main/java/com/rootly/client/model/NewTeamDataAttributes.java index cf22ebf1..077c0c19 100644 --- a/src/main/java/com/rootly/client/model/NewTeamDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewTeamDataAttributes.java @@ -56,7 +56,7 @@ /** * NewTeamDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewTeamDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -144,6 +144,16 @@ public class NewTeamDataAttributes { @jakarta.annotation.Nullable private String serviceNowCiSysId; + public static final String SERIALIZED_NAME_SCIM_GROUP_ID = "scim_group_id"; + @SerializedName(SERIALIZED_NAME_SCIM_GROUP_ID) + @jakarta.annotation.Nullable + private String scimGroupId; + + public static final String SERIALIZED_NAME_SCIM_GROUP_EXTERNAL_ID = "scim_group_external_id"; + @SerializedName(SERIALIZED_NAME_SCIM_GROUP_EXTERNAL_ID) + @jakarta.annotation.Nullable + private String scimGroupExternalId; + public static final String SERIALIZED_NAME_USER_IDS = "user_ids"; @SerializedName(SERIALIZED_NAME_USER_IDS) @jakarta.annotation.Nullable @@ -260,6 +270,65 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private AutoAddMembersScopeEnum autoAddMembersScope; + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + */ + @JsonAdapter(ScheduleOverridePolicyEnum.Adapter.class) + public enum ScheduleOverridePolicyEnum { + EVERYONE("everyone"), + + MEMBERS("members"), + + ADMINS("admins"); + + private String value; + + ScheduleOverridePolicyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScheduleOverridePolicyEnum fromValue(String value) { + for (ScheduleOverridePolicyEnum b : ScheduleOverridePolicyEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScheduleOverridePolicyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScheduleOverridePolicyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY = "schedule_override_policy"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY) + @jakarta.annotation.Nullable + private ScheduleOverridePolicyEnum scheduleOverridePolicy; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; @SerializedName(SERIALIZED_NAME_PROPERTIES) @jakarta.annotation.Nullable @@ -603,6 +672,44 @@ public void setServiceNowCiSysId(@jakarta.annotation.Nullable String serviceNowC } + public NewTeamDataAttributes scimGroupId(@jakarta.annotation.Nullable String scimGroupId) { + this.scimGroupId = scimGroupId; + return this; + } + + /** + * The SCIM group id linked to this team. Membership syncs from the SCIM group while the team keeps its own name. + * @return scimGroupId + */ + @jakarta.annotation.Nullable + public String getScimGroupId() { + return scimGroupId; + } + + public void setScimGroupId(@jakarta.annotation.Nullable String scimGroupId) { + this.scimGroupId = scimGroupId; + } + + + public NewTeamDataAttributes scimGroupExternalId(@jakarta.annotation.Nullable String scimGroupExternalId) { + this.scimGroupExternalId = scimGroupExternalId; + return this; + } + + /** + * Link by the SCIM group's externalId from your identity provider instead of scim_group_id. Write-only. Rejected when it names a different SCIM group than scim_group_id. + * @return scimGroupExternalId + */ + @jakarta.annotation.Nullable + public String getScimGroupExternalId() { + return scimGroupExternalId; + } + + public void setScimGroupExternalId(@jakarta.annotation.Nullable String scimGroupExternalId) { + this.scimGroupExternalId = scimGroupExternalId; + } + + public NewTeamDataAttributes userIds(@jakarta.annotation.Nullable List userIds) { this.userIds = userIds; return this; @@ -863,6 +970,25 @@ public void setAutoAddMembersScope(@jakarta.annotation.Nullable AutoAddMembersSc } + public NewTeamDataAttributes scheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + return this; + } + + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + * @return scheduleOverridePolicy + */ + @jakarta.annotation.Nullable + public ScheduleOverridePolicyEnum getScheduleOverridePolicy() { + return scheduleOverridePolicy; + } + + public void setScheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + } + + public NewTeamDataAttributes properties(@jakarta.annotation.Nullable List properties) { this.properties = properties; return this; @@ -917,6 +1043,8 @@ public boolean equals(Object o) { Objects.equals(this.pagertreeId, newTeamDataAttributes.pagertreeId) && Objects.equals(this.cortexId, newTeamDataAttributes.cortexId) && Objects.equals(this.serviceNowCiSysId, newTeamDataAttributes.serviceNowCiSysId) && + Objects.equals(this.scimGroupId, newTeamDataAttributes.scimGroupId) && + Objects.equals(this.scimGroupExternalId, newTeamDataAttributes.scimGroupExternalId) && Objects.equals(this.userIds, newTeamDataAttributes.userIds) && Objects.equals(this.adminIds, newTeamDataAttributes.adminIds) && Objects.equals(this.alertsEmailEnabled, newTeamDataAttributes.alertsEmailEnabled) && @@ -929,6 +1057,7 @@ public boolean equals(Object o) { Objects.equals(this.incidentBroadcastChannel, newTeamDataAttributes.incidentBroadcastChannel) && Objects.equals(this.autoAddMembersWhenAttached, newTeamDataAttributes.autoAddMembersWhenAttached) && Objects.equals(this.autoAddMembersScope, newTeamDataAttributes.autoAddMembersScope) && + Objects.equals(this.scheduleOverridePolicy, newTeamDataAttributes.scheduleOverridePolicy) && Objects.equals(this.properties, newTeamDataAttributes.properties); } @@ -938,7 +1067,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, opsgenieTeamId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, autoAddMembersScope, properties); + return Objects.hash(slug, name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, opsgenieTeamId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, scimGroupId, scimGroupExternalId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, autoAddMembersScope, scheduleOverridePolicy, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -969,6 +1098,8 @@ public String toString() { sb.append(" pagertreeId: ").append(toIndentedString(pagertreeId)).append("\n"); sb.append(" cortexId: ").append(toIndentedString(cortexId)).append("\n"); sb.append(" serviceNowCiSysId: ").append(toIndentedString(serviceNowCiSysId)).append("\n"); + sb.append(" scimGroupId: ").append(toIndentedString(scimGroupId)).append("\n"); + sb.append(" scimGroupExternalId: ").append(toIndentedString(scimGroupExternalId)).append("\n"); sb.append(" userIds: ").append(toIndentedString(userIds)).append("\n"); sb.append(" adminIds: ").append(toIndentedString(adminIds)).append("\n"); sb.append(" alertsEmailEnabled: ").append(toIndentedString(alertsEmailEnabled)).append("\n"); @@ -981,6 +1112,7 @@ public String toString() { sb.append(" incidentBroadcastChannel: ").append(toIndentedString(incidentBroadcastChannel)).append("\n"); sb.append(" autoAddMembersWhenAttached: ").append(toIndentedString(autoAddMembersWhenAttached)).append("\n"); sb.append(" autoAddMembersScope: ").append(toIndentedString(autoAddMembersScope)).append("\n"); + sb.append(" scheduleOverridePolicy: ").append(toIndentedString(scheduleOverridePolicy)).append("\n"); sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); @@ -1021,6 +1153,8 @@ private String toIndentedString(Object o) { openapiFields.add("pagertree_id"); openapiFields.add("cortex_id"); openapiFields.add("service_now_ci_sys_id"); + openapiFields.add("scim_group_id"); + openapiFields.add("scim_group_external_id"); openapiFields.add("user_ids"); openapiFields.add("admin_ids"); openapiFields.add("alerts_email_enabled"); @@ -1033,6 +1167,7 @@ private String toIndentedString(Object o) { openapiFields.add("incident_broadcast_channel"); openapiFields.add("auto_add_members_when_attached"); openapiFields.add("auto_add_members_scope"); + openapiFields.add("schedule_override_policy"); openapiFields.add("properties"); // a set of required properties/fields (JSON key names) @@ -1117,6 +1252,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("service_now_ci_sys_id") != null && !jsonObj.get("service_now_ci_sys_id").isJsonNull()) && !jsonObj.get("service_now_ci_sys_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `service_now_ci_sys_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_ci_sys_id").toString())); } + if ((jsonObj.get("scim_group_id") != null && !jsonObj.get("scim_group_id").isJsonNull()) && !jsonObj.get("scim_group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scim_group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scim_group_id").toString())); + } + if ((jsonObj.get("scim_group_external_id") != null && !jsonObj.get("scim_group_external_id").isJsonNull()) && !jsonObj.get("scim_group_external_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scim_group_external_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scim_group_external_id").toString())); + } // ensure the optional json data is an array if present if (jsonObj.get("user_ids") != null && !jsonObj.get("user_ids").isJsonNull() && !jsonObj.get("user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("user_ids").toString())); @@ -1171,6 +1312,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("auto_add_members_scope") != null && !jsonObj.get("auto_add_members_scope").isJsonNull()) { AutoAddMembersScopeEnum.validateJsonElement(jsonObj.get("auto_add_members_scope")); } + if ((jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) && !jsonObj.get("schedule_override_policy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_override_policy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("schedule_override_policy").toString())); + } + // validate the optional field `schedule_override_policy` + if (jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) { + ScheduleOverridePolicyEnum.validateJsonElement(jsonObj.get("schedule_override_policy")); + } if (jsonObj.get("properties") != null && !jsonObj.get("properties").isJsonNull()) { JsonArray jsonArrayproperties = jsonObj.getAsJsonArray("properties"); if (jsonArrayproperties != null) { diff --git a/src/main/java/com/rootly/client/model/NewUserEmailAddress.java b/src/main/java/com/rootly/client/model/NewUserEmailAddress.java index fa61b0c8..996caeee 100644 --- a/src/main/java/com/rootly/client/model/NewUserEmailAddress.java +++ b/src/main/java/com/rootly/client/model/NewUserEmailAddress.java @@ -49,7 +49,7 @@ /** * NewUserEmailAddress */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserEmailAddress { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewUserEmailAddressData.java b/src/main/java/com/rootly/client/model/NewUserEmailAddressData.java index 56b87299..3437fdd5 100644 --- a/src/main/java/com/rootly/client/model/NewUserEmailAddressData.java +++ b/src/main/java/com/rootly/client/model/NewUserEmailAddressData.java @@ -49,7 +49,7 @@ /** * NewUserEmailAddressData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserEmailAddressData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java b/src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java index af530aa4..991dfebb 100644 --- a/src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java @@ -48,7 +48,7 @@ /** * NewUserEmailAddressDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserEmailAddressDataAttributes { public static final String SERIALIZED_NAME_EMAIL = "email"; @SerializedName(SERIALIZED_NAME_EMAIL) diff --git a/src/main/java/com/rootly/client/model/NewUserNotificationRule.java b/src/main/java/com/rootly/client/model/NewUserNotificationRule.java index 625c6a1a..aa38facd 100644 --- a/src/main/java/com/rootly/client/model/NewUserNotificationRule.java +++ b/src/main/java/com/rootly/client/model/NewUserNotificationRule.java @@ -49,7 +49,7 @@ /** * NewUserNotificationRule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserNotificationRule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java b/src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java index 0e39a00f..7b71780c 100644 --- a/src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java +++ b/src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java @@ -49,7 +49,7 @@ /** * NewUserNotificationRuleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserNotificationRuleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java b/src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java index f06d5648..13230508 100644 --- a/src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java @@ -51,7 +51,7 @@ /** * NewUserNotificationRuleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserNotificationRuleDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) diff --git a/src/main/java/com/rootly/client/model/NewUserPhoneNumber.java b/src/main/java/com/rootly/client/model/NewUserPhoneNumber.java index 1747913c..cef94a86 100644 --- a/src/main/java/com/rootly/client/model/NewUserPhoneNumber.java +++ b/src/main/java/com/rootly/client/model/NewUserPhoneNumber.java @@ -49,7 +49,7 @@ /** * NewUserPhoneNumber */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserPhoneNumber { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java b/src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java index 03969888..22ca5c46 100644 --- a/src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java +++ b/src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java @@ -49,7 +49,7 @@ /** * NewUserPhoneNumberData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserPhoneNumberData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java b/src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java index 2269ed31..0298ae04 100644 --- a/src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java @@ -48,7 +48,7 @@ /** * NewUserPhoneNumberDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserPhoneNumberDataAttributes { public static final String SERIALIZED_NAME_PHONE = "phone"; @SerializedName(SERIALIZED_NAME_PHONE) diff --git a/src/main/java/com/rootly/client/model/NewVerifiedDomain.java b/src/main/java/com/rootly/client/model/NewVerifiedDomain.java index b79581ca..16c86072 100644 --- a/src/main/java/com/rootly/client/model/NewVerifiedDomain.java +++ b/src/main/java/com/rootly/client/model/NewVerifiedDomain.java @@ -49,7 +49,7 @@ /** * NewVerifiedDomain */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewVerifiedDomain { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewVerifiedDomainData.java b/src/main/java/com/rootly/client/model/NewVerifiedDomainData.java index b45d8744..c8ed77d2 100644 --- a/src/main/java/com/rootly/client/model/NewVerifiedDomainData.java +++ b/src/main/java/com/rootly/client/model/NewVerifiedDomainData.java @@ -49,7 +49,7 @@ /** * NewVerifiedDomainData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewVerifiedDomainData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewVerifiedDomainDataAttributes.java b/src/main/java/com/rootly/client/model/NewVerifiedDomainDataAttributes.java index b692b287..5b9776c8 100644 --- a/src/main/java/com/rootly/client/model/NewVerifiedDomainDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewVerifiedDomainDataAttributes.java @@ -48,7 +48,7 @@ /** * NewVerifiedDomainDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewVerifiedDomainDataAttributes { public static final String SERIALIZED_NAME_DOMAIN = "domain"; @SerializedName(SERIALIZED_NAME_DOMAIN) diff --git a/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java b/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java index 938a6a34..14e0edab 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java @@ -49,7 +49,7 @@ /** * NewWebhooksEndpoint */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWebhooksEndpoint { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java b/src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java index f51f9559..53b5fc74 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java @@ -49,7 +49,7 @@ /** * NewWebhooksEndpointData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWebhooksEndpointData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java b/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java index d1d2493f..c73a4884 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java @@ -52,7 +52,7 @@ /** * NewWebhooksEndpointDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWebhooksEndpointDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -132,6 +132,8 @@ public enum EventTypesEnum { SHIFT_STARTED("shift.started"), + SHIFT_ENDED("shift.ended"), + GENIUS_WORKFLOW_RUN_QUEUED("genius_workflow_run.queued"), GENIUS_WORKFLOW_RUN_STARTED("genius_workflow_run.started"), diff --git a/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesCustomHeadersInner.java b/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesCustomHeadersInner.java index ff81a6e8..e2795906 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesCustomHeadersInner.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesCustomHeadersInner.java @@ -48,7 +48,7 @@ /** * NewWebhooksEndpointDataAttributesCustomHeadersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWebhooksEndpointDataAttributesCustomHeadersInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewWorkflow.java b/src/main/java/com/rootly/client/model/NewWorkflow.java index b11454b3..2578dd82 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflow.java +++ b/src/main/java/com/rootly/client/model/NewWorkflow.java @@ -49,7 +49,7 @@ /** * NewWorkflow */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflow { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldCondition.java b/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldCondition.java index b548bb1b..d781e49b 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldCondition.java @@ -49,7 +49,7 @@ /** * NewWorkflowActionItemFormFieldCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowActionItemFormFieldCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionData.java b/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionData.java index 97a08014..49098b1a 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionData.java @@ -49,7 +49,7 @@ /** * NewWorkflowActionItemFormFieldConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowActionItemFormFieldConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionDataAttributes.java index 7299722a..0ac75381 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowActionItemFormFieldConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * NewWorkflowActionItemFormFieldConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowActionItemFormFieldConditionDataAttributes { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java index ab1f18ba..eaf9283b 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java @@ -49,7 +49,7 @@ /** * NewWorkflowCustomFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowCustomFieldSelection { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java index dd8c01fe..7f723e76 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java @@ -49,7 +49,7 @@ /** * NewWorkflowCustomFieldSelectionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowCustomFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java index 0d798278..b6cb3755 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java @@ -50,7 +50,7 @@ /** * NewWorkflowCustomFieldSelectionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowCustomFieldSelectionDataAttributes { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowData.java b/src/main/java/com/rootly/client/model/NewWorkflowData.java index de934554..063b736c 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowData.java @@ -49,7 +49,7 @@ /** * NewWorkflowData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java index 5eeca48c..e640fdf4 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner; import com.rootly.client.model.NewWorkflowDataAttributesTriggerParams; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * NewWorkflowDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -164,6 +165,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private Boolean continuouslyRepeat; + public static final String SERIALIZED_NAME_RUN_ONCE_PER_RESOURCE = "run_once_per_resource"; + @SerializedName(SERIALIZED_NAME_RUN_ONCE_PER_RESOURCE) + @jakarta.annotation.Nullable + private Boolean runOncePerResource; + /** * Repeat on weekdays */ @@ -291,6 +297,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List groupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_GROUP_ASSIGNMENT_IDS = "group_assignment_ids"; + @SerializedName(SERIALIZED_NAME_GROUP_ASSIGNMENT_IDS) + @jakarta.annotation.Nullable + private List groupAssignmentIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_CAUSE_IDS = "cause_ids"; @SerializedName(SERIALIZED_NAME_CAUSE_IDS) @jakarta.annotation.Nullable @@ -301,6 +312,70 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subStatusIds = new ArrayList<>(); + /** + * Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. + */ + @JsonAdapter(FailureNotificationModeEnum.Adapter.class) + public enum FailureNotificationModeEnum { + INHERIT("inherit"), + + CUSTOM("custom"), + + OFF("off"); + + private String value; + + FailureNotificationModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FailureNotificationModeEnum fromValue(String value) { + for (FailureNotificationModeEnum b : FailureNotificationModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FailureNotificationModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FailureNotificationModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FailureNotificationModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + FailureNotificationModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_FAILURE_NOTIFICATION_MODE = "failure_notification_mode"; + @SerializedName(SERIALIZED_NAME_FAILURE_NOTIFICATION_MODE) + @jakarta.annotation.Nullable + private FailureNotificationModeEnum failureNotificationMode; + + public static final String SERIALIZED_NAME_FAILURE_NOTIFICATION_CHANNELS = "failure_notification_channels"; + @SerializedName(SERIALIZED_NAME_FAILURE_NOTIFICATION_CHANNELS) + @jakarta.annotation.Nullable + private List failureNotificationChannels = new ArrayList<>(); + public NewWorkflowDataAttributes() { } @@ -517,6 +592,25 @@ public void setContinuouslyRepeat(@jakarta.annotation.Nullable Boolean continuou } + public NewWorkflowDataAttributes runOncePerResource(@jakarta.annotation.Nullable Boolean runOncePerResource) { + this.runOncePerResource = runOncePerResource; + return this; + } + + /** + * When true, the workflow runs at most once per incident. Later triggers on the same incident create a canceled run instead. Manual runs and repeats are not affected. Only applies to incident workflows. + * @return runOncePerResource + */ + @jakarta.annotation.Nullable + public Boolean getRunOncePerResource() { + return runOncePerResource; + } + + public void setRunOncePerResource(@jakarta.annotation.Nullable Boolean runOncePerResource) { + this.runOncePerResource = runOncePerResource; + } + + public NewWorkflowDataAttributes repeatOn(@jakarta.annotation.Nullable List repeatOn) { this.repeatOn = repeatOn; return this; @@ -828,6 +922,33 @@ public void setGroupIds(@jakarta.annotation.Nullable List groupIds) { } + public NewWorkflowDataAttributes groupAssignmentIds(@jakarta.annotation.Nullable List groupAssignmentIds) { + this.groupAssignmentIds = groupAssignmentIds; + return this; + } + + public NewWorkflowDataAttributes addGroupAssignmentIdsItem(String groupAssignmentIdsItem) { + if (this.groupAssignmentIds == null) { + this.groupAssignmentIds = new ArrayList<>(); + } + this.groupAssignmentIds.add(groupAssignmentIdsItem); + return this; + } + + /** + * Owning team IDs. Requires team-scoped workflows. + * @return groupAssignmentIds + */ + @jakarta.annotation.Nullable + public List getGroupAssignmentIds() { + return groupAssignmentIds; + } + + public void setGroupAssignmentIds(@jakarta.annotation.Nullable List groupAssignmentIds) { + this.groupAssignmentIds = groupAssignmentIds; + } + + public NewWorkflowDataAttributes causeIds(@jakarta.annotation.Nullable List causeIds) { this.causeIds = causeIds; return this; @@ -882,6 +1003,52 @@ public void setSubStatusIds(@jakarta.annotation.Nullable List subStatusI } + public NewWorkflowDataAttributes failureNotificationMode(@jakarta.annotation.Nullable FailureNotificationModeEnum failureNotificationMode) { + this.failureNotificationMode = failureNotificationMode; + return this; + } + + /** + * Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. + * @return failureNotificationMode + */ + @jakarta.annotation.Nullable + public FailureNotificationModeEnum getFailureNotificationMode() { + return failureNotificationMode; + } + + public void setFailureNotificationMode(@jakarta.annotation.Nullable FailureNotificationModeEnum failureNotificationMode) { + this.failureNotificationMode = failureNotificationMode; + } + + + public NewWorkflowDataAttributes failureNotificationChannels(@jakarta.annotation.Nullable List failureNotificationChannels) { + this.failureNotificationChannels = failureNotificationChannels; + return this; + } + + public NewWorkflowDataAttributes addFailureNotificationChannelsItem(NewWorkflowDataAttributesFailureNotificationChannelsInner failureNotificationChannelsItem) { + if (this.failureNotificationChannels == null) { + this.failureNotificationChannels = new ArrayList<>(); + } + this.failureNotificationChannels.add(failureNotificationChannelsItem); + return this; + } + + /** + * Slack channels notified when a run of this workflow fails. Used when `failure_notification_mode` is `custom`. + * @return failureNotificationChannels + */ + @jakarta.annotation.Nullable + public List getFailureNotificationChannels() { + return failureNotificationChannels; + } + + public void setFailureNotificationChannels(@jakarta.annotation.Nullable List failureNotificationChannels) { + this.failureNotificationChannels = failureNotificationChannels; + } + + @Override public boolean equals(Object o) { @@ -903,6 +1070,7 @@ public boolean equals(Object o) { Objects.equals(this.repeatConditionDurationSinceFirstRun, newWorkflowDataAttributes.repeatConditionDurationSinceFirstRun) && Objects.equals(this.repeatConditionNumberOfRepeats, newWorkflowDataAttributes.repeatConditionNumberOfRepeats) && Objects.equals(this.continuouslyRepeat, newWorkflowDataAttributes.continuouslyRepeat) && + Objects.equals(this.runOncePerResource, newWorkflowDataAttributes.runOncePerResource) && Objects.equals(this.repeatOn, newWorkflowDataAttributes.repeatOn) && Objects.equals(this.enabled, newWorkflowDataAttributes.enabled) && Objects.equals(this.locked, newWorkflowDataAttributes.locked) && @@ -916,8 +1084,11 @@ public boolean equals(Object o) { Objects.equals(this.serviceIds, newWorkflowDataAttributes.serviceIds) && Objects.equals(this.functionalityIds, newWorkflowDataAttributes.functionalityIds) && Objects.equals(this.groupIds, newWorkflowDataAttributes.groupIds) && + Objects.equals(this.groupAssignmentIds, newWorkflowDataAttributes.groupAssignmentIds) && Objects.equals(this.causeIds, newWorkflowDataAttributes.causeIds) && - Objects.equals(this.subStatusIds, newWorkflowDataAttributes.subStatusIds); + Objects.equals(this.subStatusIds, newWorkflowDataAttributes.subStatusIds) && + Objects.equals(this.failureNotificationMode, newWorkflowDataAttributes.failureNotificationMode) && + Objects.equals(this.failureNotificationChannels, newWorkflowDataAttributes.failureNotificationChannels); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -926,7 +1097,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, description, command, commandFeedbackEnabled, wait, priority, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, repeatOn, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, causeIds, subStatusIds); + return Objects.hash(slug, name, description, command, commandFeedbackEnabled, wait, priority, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, runOncePerResource, repeatOn, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, groupAssignmentIds, causeIds, subStatusIds, failureNotificationMode, failureNotificationChannels); } private static int hashCodeNullable(JsonNullable a) { @@ -951,6 +1122,7 @@ public String toString() { sb.append(" repeatConditionDurationSinceFirstRun: ").append(toIndentedString(repeatConditionDurationSinceFirstRun)).append("\n"); sb.append(" repeatConditionNumberOfRepeats: ").append(toIndentedString(repeatConditionNumberOfRepeats)).append("\n"); sb.append(" continuouslyRepeat: ").append(toIndentedString(continuouslyRepeat)).append("\n"); + sb.append(" runOncePerResource: ").append(toIndentedString(runOncePerResource)).append("\n"); sb.append(" repeatOn: ").append(toIndentedString(repeatOn)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" locked: ").append(toIndentedString(locked)).append("\n"); @@ -964,8 +1136,11 @@ public String toString() { sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); + sb.append(" groupAssignmentIds: ").append(toIndentedString(groupAssignmentIds)).append("\n"); sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append(" subStatusIds: ").append(toIndentedString(subStatusIds)).append("\n"); + sb.append(" failureNotificationMode: ").append(toIndentedString(failureNotificationMode)).append("\n"); + sb.append(" failureNotificationChannels: ").append(toIndentedString(failureNotificationChannels)).append("\n"); sb.append("}"); return sb.toString(); } @@ -999,6 +1174,7 @@ private String toIndentedString(Object o) { openapiFields.add("repeat_condition_duration_since_first_run"); openapiFields.add("repeat_condition_number_of_repeats"); openapiFields.add("continuously_repeat"); + openapiFields.add("run_once_per_resource"); openapiFields.add("repeat_on"); openapiFields.add("enabled"); openapiFields.add("locked"); @@ -1012,8 +1188,11 @@ private String toIndentedString(Object o) { openapiFields.add("service_ids"); openapiFields.add("functionality_ids"); openapiFields.add("group_ids"); + openapiFields.add("group_assignment_ids"); openapiFields.add("cause_ids"); openapiFields.add("sub_status_ids"); + openapiFields.add("failure_notification_mode"); + openapiFields.add("failure_notification_channels"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -1116,6 +1295,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_ids").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("group_assignment_ids") != null && !jsonObj.get("group_assignment_ids").isJsonNull() && !jsonObj.get("group_assignment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `group_assignment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_assignment_ids").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("cause_ids") != null && !jsonObj.get("cause_ids").isJsonNull() && !jsonObj.get("cause_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("cause_ids").toString())); } @@ -1123,6 +1306,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("sub_status_ids") != null && !jsonObj.get("sub_status_ids").isJsonNull() && !jsonObj.get("sub_status_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `sub_status_ids` to be an array in the JSON string but got `%s`", jsonObj.get("sub_status_ids").toString())); } + if ((jsonObj.get("failure_notification_mode") != null && !jsonObj.get("failure_notification_mode").isJsonNull()) && !jsonObj.get("failure_notification_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `failure_notification_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("failure_notification_mode").toString())); + } + // validate the optional field `failure_notification_mode` + if (jsonObj.get("failure_notification_mode") != null && !jsonObj.get("failure_notification_mode").isJsonNull()) { + FailureNotificationModeEnum.validateJsonElement(jsonObj.get("failure_notification_mode")); + } + if (jsonObj.get("failure_notification_channels") != null && !jsonObj.get("failure_notification_channels").isJsonNull()) { + JsonArray jsonArrayfailureNotificationChannels = jsonObj.getAsJsonArray("failure_notification_channels"); + if (jsonArrayfailureNotificationChannels != null) { + // ensure the json data is an array + if (!jsonObj.get("failure_notification_channels").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `failure_notification_channels` to be an array in the JSON string but got `%s`", jsonObj.get("failure_notification_channels").toString())); + } + + // validate the optional field `failure_notification_channels` (array) + for (int i = 0; i < jsonArrayfailureNotificationChannels.size(); i++) { + NewWorkflowDataAttributesFailureNotificationChannelsInner.validateJsonElement(jsonArrayfailureNotificationChannels.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInner.java b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInner.java new file mode 100644 index 00000000..b1ad6335 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * NewWorkflowDataAttributesFailureNotificationChannelsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewWorkflowDataAttributesFailureNotificationChannelsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public NewWorkflowDataAttributesFailureNotificationChannelsInner() { + } + + public NewWorkflowDataAttributesFailureNotificationChannelsInner id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID. Liquid is allowed, for example `{{ incident.slack_channel_id }}` for the incident channel. + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public NewWorkflowDataAttributesFailureNotificationChannelsInner name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewWorkflowDataAttributesFailureNotificationChannelsInner newWorkflowDataAttributesFailureNotificationChannelsInner = (NewWorkflowDataAttributesFailureNotificationChannelsInner) o; + return Objects.equals(this.id, newWorkflowDataAttributesFailureNotificationChannelsInner.id) && + Objects.equals(this.name, newWorkflowDataAttributesFailureNotificationChannelsInner.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewWorkflowDataAttributesFailureNotificationChannelsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("name"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NewWorkflowDataAttributesFailureNotificationChannelsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewWorkflowDataAttributesFailureNotificationChannelsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewWorkflowDataAttributesFailureNotificationChannelsInner is not found in the empty JSON string", NewWorkflowDataAttributesFailureNotificationChannelsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewWorkflowDataAttributesFailureNotificationChannelsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewWorkflowDataAttributesFailureNotificationChannelsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewWorkflowDataAttributesFailureNotificationChannelsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewWorkflowDataAttributesFailureNotificationChannelsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewWorkflowDataAttributesFailureNotificationChannelsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewWorkflowDataAttributesFailureNotificationChannelsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewWorkflowDataAttributesFailureNotificationChannelsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewWorkflowDataAttributesFailureNotificationChannelsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewWorkflowDataAttributesFailureNotificationChannelsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewWorkflowDataAttributesFailureNotificationChannelsInner + * @throws IOException if the JSON string is invalid with respect to NewWorkflowDataAttributesFailureNotificationChannelsInner + */ + public static NewWorkflowDataAttributesFailureNotificationChannelsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewWorkflowDataAttributesFailureNotificationChannelsInner.class); + } + + /** + * Convert an instance of NewWorkflowDataAttributesFailureNotificationChannelsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java index 295f92a7..3ceb3c7f 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java @@ -68,7 +68,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowDataAttributesTriggerParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewWorkflowDataAttributesTriggerParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java index d74bcd69..0935ae7a 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java @@ -49,7 +49,7 @@ /** * NewWorkflowFormFieldCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowFormFieldCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java index 3b268844..467ce9e9 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java @@ -49,7 +49,7 @@ /** * NewWorkflowFormFieldConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowFormFieldConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributes.java index 8b9fe4cc..a02e19a8 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * NewWorkflowFormFieldConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowFormFieldConditionDataAttributes { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowGroup.java b/src/main/java/com/rootly/client/model/NewWorkflowGroup.java index 711e0271..6e4c655e 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowGroup.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowGroup.java @@ -49,7 +49,7 @@ /** * NewWorkflowGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowGroupData.java b/src/main/java/com/rootly/client/model/NewWorkflowGroupData.java index 5c5f7a40..325fecba 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowGroupData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowGroupData.java @@ -49,7 +49,7 @@ /** * NewWorkflowGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowGroupDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowGroupDataAttributes.java index 5ec2c910..80183ef5 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowGroupDataAttributes.java @@ -49,7 +49,7 @@ /** * NewWorkflowGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowGroupDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -72,6 +72,8 @@ public enum KindEnum { PULSE("pulse"), + PROBLEM("problem"), + ALERT("alert"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRun.java b/src/main/java/com/rootly/client/model/NewWorkflowRun.java index 04476e03..9eb0e991 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRun.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRun.java @@ -49,7 +49,7 @@ /** * NewWorkflowRun */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRun { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunData.java b/src/main/java/com/rootly/client/model/NewWorkflowRunData.java index 21ca0e21..6b84465c 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunData.java @@ -49,7 +49,7 @@ /** * NewWorkflowRunData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributes.java index 98512ed6..c58cf039 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributes.java @@ -66,7 +66,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributes extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewWorkflowRunDataAttributes.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf.java index ad174ea6..ff0ac1d7 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf.java @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributesAnyOf { public static final String SERIALIZED_NAME_IMMEDIATE = "immediate"; @SerializedName(SERIALIZED_NAME_IMMEDIATE) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1.java index 986f9e13..68a16154 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1.java @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributesAnyOf1 { public static final String SERIALIZED_NAME_INCIDENT_ID = "incident_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2.java index 06753602..2bc5a4e6 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2.java @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf2 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributesAnyOf2 { public static final String SERIALIZED_NAME_POST_MORTEM_ID = "post_mortem_id"; @SerializedName(SERIALIZED_NAME_POST_MORTEM_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3.java index c35287ea..c585500f 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3.java @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf3 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributesAnyOf3 { public static final String SERIALIZED_NAME_ACTION_ITEM_ID = "action_item_id"; @SerializedName(SERIALIZED_NAME_ACTION_ITEM_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4.java index 3f8ac629..823eb3be 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4.java @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf4 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributesAnyOf4 { public static final String SERIALIZED_NAME_ALERT_ID = "alert_id"; @SerializedName(SERIALIZED_NAME_ALERT_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5.java b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5.java index f7557115..cdd5a666 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5.java @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf5 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowRunDataAttributesAnyOf5 { public static final String SERIALIZED_NAME_PULSE_ID = "pulse_id"; @SerializedName(SERIALIZED_NAME_PULSE_ID) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowTask.java b/src/main/java/com/rootly/client/model/NewWorkflowTask.java index 9015821f..b0d8149e 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTask.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTask.java @@ -49,7 +49,7 @@ /** * NewWorkflowTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowTask { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowTaskData.java b/src/main/java/com/rootly/client/model/NewWorkflowTaskData.java index 42fde720..3f163e25 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskData.java @@ -49,7 +49,7 @@ /** * NewWorkflowTaskData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java index 436346e2..d3de3aee 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java @@ -49,7 +49,7 @@ /** * NewWorkflowTaskDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowTaskDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java index 2752fd2d..c9350e49 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java @@ -92,6 +92,8 @@ import com.rootly.client.model.CreateSharepointPageTaskParams; import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; import com.rootly.client.model.CreateSlackChannelTaskParams; import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; @@ -124,6 +126,7 @@ import com.rootly.client.model.PrintTaskParams; import com.rootly.client.model.PublishIncidentTaskParams; import com.rootly.client.model.RedisClientTaskParams; +import com.rootly.client.model.RemoveFromSlackChannelTaskParams; import com.rootly.client.model.RemoveGoogleDocsPermissionsTaskParams; import com.rootly.client.model.RenameGoogleChatSpaceTaskParams; import com.rootly.client.model.RenameMicrosoftTeamsChannelTaskParams; @@ -179,6 +182,7 @@ import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; +import com.rootly.client.model.UpdateSlackCanvasTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; import com.rootly.client.model.UpdateStatusTaskParams; import com.rootly.client.model.UpdateTrelloCardTaskParams; @@ -188,7 +192,9 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; @@ -226,7 +232,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowTaskDataAttributesTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewWorkflowTaskDataAttributesTaskParams.class.getName()); @@ -347,11 +353,13 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterPublishIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PublishIncidentTaskParams.class)); final TypeAdapter adapterRedisClientTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RedisClientTaskParams.class)); final TypeAdapter adapterRenameSlackChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RenameSlackChannelTaskParams.class)); + final TypeAdapter adapterRemoveFromSlackChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RemoveFromSlackChannelTaskParams.class)); final TypeAdapter adapterChangeSlackChannelPrivacyTaskParams = gson.getDelegateAdapter(this, TypeToken.get(ChangeSlackChannelPrivacyTaskParams.class)); final TypeAdapter adapterRunCommandHerokuTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RunCommandHerokuTaskParams.class)); final TypeAdapter adapterSendEmailTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendEmailTaskParams.class)); final TypeAdapter adapterSendDashboardReportTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendDashboardReportTaskParams.class)); final TypeAdapter adapterCreateSlackChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateSlackChannelTaskParams.class)); + final TypeAdapter adapterCreateSlackCanvasTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateSlackCanvasTaskParams.class)); final TypeAdapter adapterSendSlackMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendSlackMessageTaskParams.class)); final TypeAdapter adapterSendSmsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendSmsTaskParams.class)); final TypeAdapter adapterSendWhatsappMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendWhatsappMessageTaskParams.class)); @@ -372,6 +380,7 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterUpdateShortcutStoryTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateShortcutStoryTaskParams.class)); final TypeAdapter adapterUpdateShortcutTaskTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateShortcutTaskTaskParams.class)); final TypeAdapter adapterUpdateSlackChannelTopicTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlackChannelTopicTaskParams.class)); + final TypeAdapter adapterUpdateSlackCanvasTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlackCanvasTaskParams.class)); final TypeAdapter adapterUpdateStatusTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateStatusTaskParams.class)); final TypeAdapter adapterUpdateIncidentStatusTimestampTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateIncidentStatusTimestampTaskParams.class)); final TypeAdapter adapterUpdateTrelloCardTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateTrelloCardTaskParams.class)); @@ -1049,6 +1058,12 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `RemoveFromSlackChannelTaskParams` + if (value.getActualInstance() instanceof RemoveFromSlackChannelTaskParams) { + JsonElement element = adapterRemoveFromSlackChannelTaskParams.toJsonTree((RemoveFromSlackChannelTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `ChangeSlackChannelPrivacyTaskParams` if (value.getActualInstance() instanceof ChangeSlackChannelPrivacyTaskParams) { JsonElement element = adapterChangeSlackChannelPrivacyTaskParams.toJsonTree((ChangeSlackChannelPrivacyTaskParams)value.getActualInstance()); @@ -1079,6 +1094,12 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateSlackCanvasTaskParams` + if (value.getActualInstance() instanceof CreateSlackCanvasTaskParams) { + JsonElement element = adapterCreateSlackCanvasTaskParams.toJsonTree((CreateSlackCanvasTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `SendSlackMessageTaskParams` if (value.getActualInstance() instanceof SendSlackMessageTaskParams) { JsonElement element = adapterSendSlackMessageTaskParams.toJsonTree((SendSlackMessageTaskParams)value.getActualInstance()); @@ -1199,6 +1220,12 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `UpdateSlackCanvasTaskParams` + if (value.getActualInstance() instanceof UpdateSlackCanvasTaskParams) { + JsonElement element = adapterUpdateSlackCanvasTaskParams.toJsonTree((UpdateSlackCanvasTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `UpdateStatusTaskParams` if (value.getActualInstance() instanceof UpdateStatusTaskParams) { JsonElement element = adapterUpdateStatusTaskParams.toJsonTree((UpdateStatusTaskParams)value.getActualInstance()); @@ -1283,7 +1310,7 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } @Override @@ -2603,6 +2630,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for RenameSlackChannelTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'RenameSlackChannelTaskParams'", e); } + // deserialize RemoveFromSlackChannelTaskParams + try { + // validate the JSON object to see if any exception is thrown + RemoveFromSlackChannelTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterRemoveFromSlackChannelTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'RemoveFromSlackChannelTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for RemoveFromSlackChannelTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'RemoveFromSlackChannelTaskParams'", e); + } // deserialize ChangeSlackChannelPrivacyTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2663,6 +2702,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for CreateSlackChannelTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateSlackChannelTaskParams'", e); } + // deserialize CreateSlackCanvasTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateSlackCanvasTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateSlackCanvasTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateSlackCanvasTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateSlackCanvasTaskParams'", e); + } // deserialize SendSlackMessageTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2903,6 +2954,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for UpdateSlackChannelTopicTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'UpdateSlackChannelTopicTaskParams'", e); } + // deserialize UpdateSlackCanvasTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateSlackCanvasTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateSlackCanvasTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'UpdateSlackCanvasTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateSlackCanvasTaskParams'", e); + } // deserialize UpdateStatusTaskParams try { // validate the JSON object to see if any exception is thrown @@ -3206,11 +3269,13 @@ public NewWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("PublishIncidentTaskParams", PublishIncidentTaskParams.class); schemas.put("RedisClientTaskParams", RedisClientTaskParams.class); schemas.put("RenameSlackChannelTaskParams", RenameSlackChannelTaskParams.class); + schemas.put("RemoveFromSlackChannelTaskParams", RemoveFromSlackChannelTaskParams.class); schemas.put("ChangeSlackChannelPrivacyTaskParams", ChangeSlackChannelPrivacyTaskParams.class); schemas.put("RunCommandHerokuTaskParams", RunCommandHerokuTaskParams.class); schemas.put("SendEmailTaskParams", SendEmailTaskParams.class); schemas.put("SendDashboardReportTaskParams", SendDashboardReportTaskParams.class); schemas.put("CreateSlackChannelTaskParams", CreateSlackChannelTaskParams.class); + schemas.put("CreateSlackCanvasTaskParams", CreateSlackCanvasTaskParams.class); schemas.put("SendSlackMessageTaskParams", SendSlackMessageTaskParams.class); schemas.put("SendSmsTaskParams", SendSmsTaskParams.class); schemas.put("SendWhatsappMessageTaskParams", SendWhatsappMessageTaskParams.class); @@ -3231,6 +3296,7 @@ public NewWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("UpdateShortcutStoryTaskParams", UpdateShortcutStoryTaskParams.class); schemas.put("UpdateShortcutTaskTaskParams", UpdateShortcutTaskTaskParams.class); schemas.put("UpdateSlackChannelTopicTaskParams", UpdateSlackChannelTopicTaskParams.class); + schemas.put("UpdateSlackCanvasTaskParams", UpdateSlackCanvasTaskParams.class); schemas.put("UpdateStatusTaskParams", UpdateStatusTaskParams.class); schemas.put("UpdateIncidentStatusTimestampTaskParams", UpdateIncidentStatusTimestampTaskParams.class); schemas.put("UpdateTrelloCardTaskParams", UpdateTrelloCardTaskParams.class); @@ -3255,7 +3321,7 @@ public Map> getSchemas() { /** * Set the instance that matches the oneOf child schema, check * the instance parameter is valid against the oneOf child schemas: - * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams * * It could be an instance of the 'oneOf' schemas. */ @@ -3806,6 +3872,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof RemoveFromSlackChannelTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof ChangeSlackChannelPrivacyTaskParams) { super.setActualInstance(instance); return; @@ -3831,6 +3902,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateSlackCanvasTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof SendSlackMessageTaskParams) { super.setActualInstance(instance); return; @@ -3931,6 +4007,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof UpdateSlackCanvasTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof UpdateStatusTaskParams) { super.setActualInstance(instance); return; @@ -4001,14 +4082,14 @@ public void setActualInstance(Object instance) { return; } - throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } /** * Get the actual instance, which can be the following: - * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams * - * @return The actual instance (AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) + * @return The actual instance (AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) */ @SuppressWarnings("unchecked") @Override @@ -5215,6 +5296,17 @@ public RenameSlackChannelTaskParams getRenameSlackChannelTaskParams() throws Cla return (RenameSlackChannelTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `RemoveFromSlackChannelTaskParams`. If the actual instance is not `RemoveFromSlackChannelTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RemoveFromSlackChannelTaskParams` + * @throws ClassCastException if the instance is not `RemoveFromSlackChannelTaskParams` + */ + public RemoveFromSlackChannelTaskParams getRemoveFromSlackChannelTaskParams() throws ClassCastException { + return (RemoveFromSlackChannelTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `ChangeSlackChannelPrivacyTaskParams`. If the actual instance is not `ChangeSlackChannelPrivacyTaskParams`, * the ClassCastException will be thrown. @@ -5270,6 +5362,17 @@ public CreateSlackChannelTaskParams getCreateSlackChannelTaskParams() throws Cla return (CreateSlackChannelTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateSlackCanvasTaskParams`. If the actual instance is not `CreateSlackCanvasTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateSlackCanvasTaskParams` + * @throws ClassCastException if the instance is not `CreateSlackCanvasTaskParams` + */ + public CreateSlackCanvasTaskParams getCreateSlackCanvasTaskParams() throws ClassCastException { + return (CreateSlackCanvasTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `SendSlackMessageTaskParams`. If the actual instance is not `SendSlackMessageTaskParams`, * the ClassCastException will be thrown. @@ -5490,6 +5593,17 @@ public UpdateSlackChannelTopicTaskParams getUpdateSlackChannelTopicTaskParams() return (UpdateSlackChannelTopicTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `UpdateSlackCanvasTaskParams`. If the actual instance is not `UpdateSlackCanvasTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateSlackCanvasTaskParams` + * @throws ClassCastException if the instance is not `UpdateSlackCanvasTaskParams` + */ + public UpdateSlackCanvasTaskParams getUpdateSlackCanvasTaskParams() throws ClassCastException { + return (UpdateSlackCanvasTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `UpdateStatusTaskParams`. If the actual instance is not `UpdateStatusTaskParams`, * the ClassCastException will be thrown. @@ -6526,6 +6640,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for RenameSlackChannelTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with RemoveFromSlackChannelTaskParams + try { + RemoveFromSlackChannelTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for RemoveFromSlackChannelTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with ChangeSlackChannelPrivacyTaskParams try { ChangeSlackChannelPrivacyTaskParams.validateJsonElement(jsonElement); @@ -6566,6 +6688,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateSlackChannelTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateSlackCanvasTaskParams + try { + CreateSlackCanvasTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with SendSlackMessageTaskParams try { SendSlackMessageTaskParams.validateJsonElement(jsonElement); @@ -6726,6 +6856,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for UpdateSlackChannelTopicTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with UpdateSlackCanvasTaskParams + try { + UpdateSlackCanvasTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with UpdateStatusTaskParams try { UpdateStatusTaskParams.validateJsonElement(jsonElement); @@ -6839,7 +6977,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // continue to the next one } if (validCount != 1) { - throw new IOException(String.format("The JSON string is invalid for NewWorkflowTaskDataAttributesTaskParams with oneOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); + throw new IOException(String.format("The JSON string is invalid for NewWorkflowTaskDataAttributesTaskParams with oneOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); } } diff --git a/src/main/java/com/rootly/client/model/NullableSeverityResponse.java b/src/main/java/com/rootly/client/model/NullableSeverityResponse.java new file mode 100644 index 00000000..e19379cf --- /dev/null +++ b/src/main/java/com/rootly/client/model/NullableSeverityResponse.java @@ -0,0 +1,266 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.SeverityResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * The severity assigned to an incident, or null when no severity is assigned + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NullableSeverityResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private SeverityResponseData data; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public NullableSeverityResponse() { + } + + public NullableSeverityResponse data(@jakarta.annotation.Nonnull SeverityResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public SeverityResponseData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull SeverityResponseData data) { + this.data = data; + } + + + public NullableSeverityResponse included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public NullableSeverityResponse addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NullableSeverityResponse nullableSeverityResponse = (NullableSeverityResponse) o; + return Objects.equals(this.data, nullableSeverityResponse.data) && + Objects.equals(this.included, nullableSeverityResponse.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NullableSeverityResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to NullableSeverityResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NullableSeverityResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NullableSeverityResponse is not found in the empty JSON string", NullableSeverityResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NullableSeverityResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NullableSeverityResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NullableSeverityResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + SeverityResponseData.validateJsonElement(jsonObj.get("data")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NullableSeverityResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NullableSeverityResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NullableSeverityResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NullableSeverityResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NullableSeverityResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NullableSeverityResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of NullableSeverityResponse + * @throws IOException if the JSON string is invalid with respect to NullableSeverityResponse + */ + public static NullableSeverityResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NullableSeverityResponse.class); + } + + /** + * Convert an instance of NullableSeverityResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/OnCallPayReport.java b/src/main/java/com/rootly/client/model/OnCallPayReport.java index a87c5f54..0e479e18 100644 --- a/src/main/java/com/rootly/client/model/OnCallPayReport.java +++ b/src/main/java/com/rootly/client/model/OnCallPayReport.java @@ -52,7 +52,7 @@ /** * OnCallPayReport */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallPayReport { /** * The current status of the report. @@ -597,7 +597,7 @@ public OnCallPayReport csvFileUrl(@jakarta.annotation.Nullable URI csvFileUrl) { } /** - * Download URL for the generated CSV report. Null until the report is generated. + * Short-lived, presigned download URL for the generated CSV report. Fetch the report again if the URL expires. Null until the report is generated. * @return csvFileUrl */ @jakarta.annotation.Nullable @@ -616,7 +616,7 @@ public OnCallPayReport xlsxFileUrl(@jakarta.annotation.Nullable URI xlsxFileUrl) } /** - * Download URL for the generated XLSX report. Null until the report is generated. + * Short-lived, presigned download URL for the generated XLSX report. Fetch the report again if the URL expires. Null until the report is generated. * @return xlsxFileUrl */ @jakarta.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/OnCallPayReportList.java b/src/main/java/com/rootly/client/model/OnCallPayReportList.java index f35c8b93..ad392057 100644 --- a/src/main/java/com/rootly/client/model/OnCallPayReportList.java +++ b/src/main/java/com/rootly/client/model/OnCallPayReportList.java @@ -54,7 +54,7 @@ /** * OnCallPayReportList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallPayReportList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java b/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java index 27f68549..4899fd3d 100644 --- a/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java @@ -52,7 +52,7 @@ /** * OnCallPayReportResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallPayReportResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java b/src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java index 09cfe9af..0df048de 100644 --- a/src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java +++ b/src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java @@ -49,7 +49,7 @@ /** * OnCallPayReportResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallPayReportResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OnCallRole.java b/src/main/java/com/rootly/client/model/OnCallRole.java index 66ff8a67..77565e9e 100644 --- a/src/main/java/com/rootly/client/model/OnCallRole.java +++ b/src/main/java/com/rootly/client/model/OnCallRole.java @@ -50,7 +50,7 @@ /** * OnCallRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRole { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -1150,6 +1150,65 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List liveCallRoutingPermissions = new ArrayList<>(); + /** + * Gets or Sets membersPermissions + */ + @JsonAdapter(MembersPermissionsEnum.Adapter.class) + public enum MembersPermissionsEnum { + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + MembersPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MembersPermissionsEnum fromValue(String value) { + for (MembersPermissionsEnum b : MembersPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MembersPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MembersPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MembersPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + MembersPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MEMBERS_PERMISSIONS = "members_permissions"; + @SerializedName(SERIALIZED_NAME_MEMBERS_PERMISSIONS) + @jakarta.annotation.Nullable + private List membersPermissions = new ArrayList<>(); + /** * Gets or Sets scheduleOverridePermissions */ @@ -2109,6 +2168,33 @@ public void setLiveCallRoutingPermissions(@jakarta.annotation.Nullable List membersPermissions) { + this.membersPermissions = membersPermissions; + return this; + } + + public OnCallRole addMembersPermissionsItem(MembersPermissionsEnum membersPermissionsItem) { + if (this.membersPermissions == null) { + this.membersPermissions = new ArrayList<>(); + } + this.membersPermissions.add(membersPermissionsItem); + return this; + } + + /** + * Get membersPermissions + * @return membersPermissions + */ + @jakarta.annotation.Nullable + public List getMembersPermissions() { + return membersPermissions; + } + + public void setMembersPermissions(@jakarta.annotation.Nullable List membersPermissions) { + this.membersPermissions = membersPermissions; + } + + public OnCallRole scheduleOverridePermissions(@jakarta.annotation.Nullable List scheduleOverridePermissions) { this.scheduleOverridePermissions = scheduleOverridePermissions; return this; @@ -2366,6 +2452,7 @@ public boolean equals(Object o) { Objects.equals(this.integrationsPermissions, onCallRole.integrationsPermissions) && Objects.equals(this.invitationsPermissions, onCallRole.invitationsPermissions) && Objects.equals(this.liveCallRoutingPermissions, onCallRole.liveCallRoutingPermissions) && + Objects.equals(this.membersPermissions, onCallRole.membersPermissions) && Objects.equals(this.scheduleOverridePermissions, onCallRole.scheduleOverridePermissions) && Objects.equals(this.schedulesPermissions, onCallRole.schedulesPermissions) && Objects.equals(this.servicesPermissions, onCallRole.servicesPermissions) && @@ -2379,7 +2466,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, slug, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, functionalitiesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, createdAt, updatedAt); + return Objects.hash(name, slug, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, membersPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, functionalitiesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, createdAt, updatedAt); } @Override @@ -2406,6 +2493,7 @@ public String toString() { sb.append(" integrationsPermissions: ").append(toIndentedString(integrationsPermissions)).append("\n"); sb.append(" invitationsPermissions: ").append(toIndentedString(invitationsPermissions)).append("\n"); sb.append(" liveCallRoutingPermissions: ").append(toIndentedString(liveCallRoutingPermissions)).append("\n"); + sb.append(" membersPermissions: ").append(toIndentedString(membersPermissions)).append("\n"); sb.append(" scheduleOverridePermissions: ").append(toIndentedString(scheduleOverridePermissions)).append("\n"); sb.append(" schedulesPermissions: ").append(toIndentedString(schedulesPermissions)).append("\n"); sb.append(" servicesPermissions: ").append(toIndentedString(servicesPermissions)).append("\n"); @@ -2457,6 +2545,7 @@ private String toIndentedString(Object o) { openapiFields.add("integrations_permissions"); openapiFields.add("invitations_permissions"); openapiFields.add("live_call_routing_permissions"); + openapiFields.add("members_permissions"); openapiFields.add("schedule_override_permissions"); openapiFields.add("schedules_permissions"); openapiFields.add("services_permissions"); @@ -2581,6 +2670,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `live_call_routing_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("live_call_routing_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("members_permissions") != null && !jsonObj.get("members_permissions").isJsonNull() && !jsonObj.get("members_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `members_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("members_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("schedule_override_permissions") != null && !jsonObj.get("schedule_override_permissions").isJsonNull() && !jsonObj.get("schedule_override_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `schedule_override_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_override_permissions").toString())); } diff --git a/src/main/java/com/rootly/client/model/OnCallRoleList.java b/src/main/java/com/rootly/client/model/OnCallRoleList.java index a7488d2c..4f854464 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleList.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleList.java @@ -54,7 +54,7 @@ /** * OnCallRoleList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRoleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java b/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java index b29f179b..19bcb98f 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java @@ -50,7 +50,7 @@ /** * OnCallRoleRelationship */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRoleRelationship { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallRoleRelationshipData.java b/src/main/java/com/rootly/client/model/OnCallRoleRelationshipData.java index 8631b011..abc51175 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleRelationshipData.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleRelationshipData.java @@ -48,7 +48,7 @@ /** * OnCallRoleRelationshipData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRoleRelationshipData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OnCallRoleResponse.java b/src/main/java/com/rootly/client/model/OnCallRoleResponse.java index fa424f1c..614a3718 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleResponse.java @@ -52,7 +52,7 @@ /** * OnCallRoleResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRoleResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallRoleResponseData.java b/src/main/java/com/rootly/client/model/OnCallRoleResponseData.java index fb2b9cf8..376ec51a 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleResponseData.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleResponseData.java @@ -49,7 +49,7 @@ /** * OnCallRoleResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRoleResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OnCallShadow.java b/src/main/java/com/rootly/client/model/OnCallShadow.java index cbbbce57..3049315b 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadow.java +++ b/src/main/java/com/rootly/client/model/OnCallShadow.java @@ -49,7 +49,7 @@ /** * OnCallShadow */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallShadow { public static final String SERIALIZED_NAME_SCHEDULE_ID = "schedule_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ID) diff --git a/src/main/java/com/rootly/client/model/OnCallShadowResponse.java b/src/main/java/com/rootly/client/model/OnCallShadowResponse.java index 5285b2fe..3ef0d63c 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowResponse.java @@ -52,7 +52,7 @@ /** * OnCallShadowResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallShadowResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallShadowResponseData.java b/src/main/java/com/rootly/client/model/OnCallShadowResponseData.java index 27070e70..9c89a33e 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowResponseData.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowResponseData.java @@ -49,7 +49,7 @@ /** * OnCallShadowResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallShadowResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OnCallShadowsList.java b/src/main/java/com/rootly/client/model/OnCallShadowsList.java index be6d8ed6..6c6a805e 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowsList.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowsList.java @@ -54,7 +54,7 @@ /** * OnCallShadowsList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallShadowsList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java b/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java index bca47111..ddd7bb1c 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java @@ -49,7 +49,7 @@ /** * OnCallShadowsListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallShadowsListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Oncall.java b/src/main/java/com/rootly/client/model/Oncall.java index d654002a..bd014ce7 100644 --- a/src/main/java/com/rootly/client/model/Oncall.java +++ b/src/main/java/com/rootly/client/model/Oncall.java @@ -50,7 +50,7 @@ /** * Oncall */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Oncall { public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) diff --git a/src/main/java/com/rootly/client/model/OncallList.java b/src/main/java/com/rootly/client/model/OncallList.java index 1ff73f39..1c9751ed 100644 --- a/src/main/java/com/rootly/client/model/OncallList.java +++ b/src/main/java/com/rootly/client/model/OncallList.java @@ -52,7 +52,7 @@ /** * OncallList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OncallListDataInner.java b/src/main/java/com/rootly/client/model/OncallListDataInner.java index 6badf9bd..51005abe 100644 --- a/src/main/java/com/rootly/client/model/OncallListDataInner.java +++ b/src/main/java/com/rootly/client/model/OncallListDataInner.java @@ -50,7 +50,7 @@ /** * OncallListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OncallRelationships.java b/src/main/java/com/rootly/client/model/OncallRelationships.java index f2d7aaa3..ea350fce 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationships.java +++ b/src/main/java/com/rootly/client/model/OncallRelationships.java @@ -51,7 +51,7 @@ /** * OncallRelationships */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationships { public static final String SERIALIZED_NAME_USER = "user"; @SerializedName(SERIALIZED_NAME_USER) diff --git a/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicy.java b/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicy.java index 5cb27bb1..1cb136b7 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicy.java @@ -50,7 +50,7 @@ /** * OncallRelationshipsEscalationPolicy */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationshipsEscalationPolicy { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicyData.java b/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicyData.java index 4d2b4ad2..a97fc494 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicyData.java +++ b/src/main/java/com/rootly/client/model/OncallRelationshipsEscalationPolicyData.java @@ -48,7 +48,7 @@ /** * OncallRelationshipsEscalationPolicyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationshipsEscalationPolicyData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OncallRelationshipsSchedule.java b/src/main/java/com/rootly/client/model/OncallRelationshipsSchedule.java index 32570b2c..143e8a4e 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationshipsSchedule.java +++ b/src/main/java/com/rootly/client/model/OncallRelationshipsSchedule.java @@ -50,7 +50,7 @@ /** * OncallRelationshipsSchedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationshipsSchedule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OncallRelationshipsScheduleData.java b/src/main/java/com/rootly/client/model/OncallRelationshipsScheduleData.java index 1b7636e8..df420282 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationshipsScheduleData.java +++ b/src/main/java/com/rootly/client/model/OncallRelationshipsScheduleData.java @@ -48,7 +48,7 @@ /** * OncallRelationshipsScheduleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationshipsScheduleData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OncallRelationshipsUser.java b/src/main/java/com/rootly/client/model/OncallRelationshipsUser.java index 1759ecb3..2d6e7e1f 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationshipsUser.java +++ b/src/main/java/com/rootly/client/model/OncallRelationshipsUser.java @@ -50,7 +50,7 @@ /** * OncallRelationshipsUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationshipsUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OncallRelationshipsUserData.java b/src/main/java/com/rootly/client/model/OncallRelationshipsUserData.java index c1a98aa1..ab2fd3af 100644 --- a/src/main/java/com/rootly/client/model/OncallRelationshipsUserData.java +++ b/src/main/java/com/rootly/client/model/OncallRelationshipsUserData.java @@ -48,7 +48,7 @@ /** * OncallRelationshipsUserData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OncallRelationshipsUserData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/OverriddenShift.java b/src/main/java/com/rootly/client/model/OverriddenShift.java new file mode 100644 index 00000000..b8805394 --- /dev/null +++ b/src/main/java/com/rootly/client/model/OverriddenShift.java @@ -0,0 +1,374 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * OverriddenShift + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class OverriddenShift { + public static final String SERIALIZED_NAME_STARTS_AT = "starts_at"; + @SerializedName(SERIALIZED_NAME_STARTS_AT) + @jakarta.annotation.Nonnull + private String startsAt; + + public static final String SERIALIZED_NAME_ENDS_AT = "ends_at"; + @SerializedName(SERIALIZED_NAME_ENDS_AT) + @jakarta.annotation.Nonnull + private String endsAt; + + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + @jakarta.annotation.Nullable + private Integer userId; + + public static final String SERIALIZED_NAME_ROTATION_ID = "rotation_id"; + @SerializedName(SERIALIZED_NAME_ROTATION_ID) + @jakarta.annotation.Nullable + private String rotationId; + + public static final String SERIALIZED_NAME_ASSIGNEE_TYPE = "assignee_type"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE_TYPE) + @jakarta.annotation.Nullable + private String assigneeType; + + public static final String SERIALIZED_NAME_ASSIGNEE_ID = "assignee_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE_ID) + @jakarta.annotation.Nullable + private String assigneeId; + + public OverriddenShift() { + } + + public OverriddenShift startsAt(@jakarta.annotation.Nonnull String startsAt) { + this.startsAt = startsAt; + return this; + } + + /** + * Start datetime of the overridden portion + * @return startsAt + */ + @jakarta.annotation.Nonnull + public String getStartsAt() { + return startsAt; + } + + public void setStartsAt(@jakarta.annotation.Nonnull String startsAt) { + this.startsAt = startsAt; + } + + + public OverriddenShift endsAt(@jakarta.annotation.Nonnull String endsAt) { + this.endsAt = endsAt; + return this; + } + + /** + * End datetime of the overridden portion + * @return endsAt + */ + @jakarta.annotation.Nonnull + public String getEndsAt() { + return endsAt; + } + + public void setEndsAt(@jakarta.annotation.Nonnull String endsAt) { + this.endsAt = endsAt; + } + + + public OverriddenShift userId(@jakarta.annotation.Nullable Integer userId) { + this.userId = userId; + return this; + } + + /** + * ID of the user whose shift was overridden + * @return userId + */ + @jakarta.annotation.Nullable + public Integer getUserId() { + return userId; + } + + public void setUserId(@jakarta.annotation.Nullable Integer userId) { + this.userId = userId; + } + + + public OverriddenShift rotationId(@jakarta.annotation.Nullable String rotationId) { + this.rotationId = rotationId; + return this; + } + + /** + * ID of the rotation the overridden shift belongs to + * @return rotationId + */ + @jakarta.annotation.Nullable + public String getRotationId() { + return rotationId; + } + + public void setRotationId(@jakarta.annotation.Nullable String rotationId) { + this.rotationId = rotationId; + } + + + public OverriddenShift assigneeType(@jakarta.annotation.Nullable String assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * Type of the overridden assignee (User or Schedule) + * @return assigneeType + */ + @jakarta.annotation.Nullable + public String getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(@jakarta.annotation.Nullable String assigneeType) { + this.assigneeType = assigneeType; + } + + + public OverriddenShift assigneeId(@jakarta.annotation.Nullable String assigneeId) { + this.assigneeId = assigneeId; + return this; + } + + /** + * ID of the overridden assignee + * @return assigneeId + */ + @jakarta.annotation.Nullable + public String getAssigneeId() { + return assigneeId; + } + + public void setAssigneeId(@jakarta.annotation.Nullable String assigneeId) { + this.assigneeId = assigneeId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OverriddenShift overriddenShift = (OverriddenShift) o; + return Objects.equals(this.startsAt, overriddenShift.startsAt) && + Objects.equals(this.endsAt, overriddenShift.endsAt) && + Objects.equals(this.userId, overriddenShift.userId) && + Objects.equals(this.rotationId, overriddenShift.rotationId) && + Objects.equals(this.assigneeType, overriddenShift.assigneeType) && + Objects.equals(this.assigneeId, overriddenShift.assigneeId); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(startsAt, endsAt, userId, rotationId, assigneeType, assigneeId); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OverriddenShift {\n"); + sb.append(" startsAt: ").append(toIndentedString(startsAt)).append("\n"); + sb.append(" endsAt: ").append(toIndentedString(endsAt)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" rotationId: ").append(toIndentedString(rotationId)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" assigneeId: ").append(toIndentedString(assigneeId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("starts_at"); + openapiFields.add("ends_at"); + openapiFields.add("user_id"); + openapiFields.add("rotation_id"); + openapiFields.add("assignee_type"); + openapiFields.add("assignee_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("starts_at"); + openapiRequiredFields.add("ends_at"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to OverriddenShift + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!OverriddenShift.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in OverriddenShift is not found in the empty JSON string", OverriddenShift.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!OverriddenShift.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `OverriddenShift` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : OverriddenShift.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("starts_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `starts_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("starts_at").toString())); + } + if (!jsonObj.get("ends_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `ends_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("ends_at").toString())); + } + if ((jsonObj.get("rotation_id") != null && !jsonObj.get("rotation_id").isJsonNull()) && !jsonObj.get("rotation_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rotation_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rotation_id").toString())); + } + if ((jsonObj.get("assignee_type") != null && !jsonObj.get("assignee_type").isJsonNull()) && !jsonObj.get("assignee_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignee_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignee_type").toString())); + } + if ((jsonObj.get("assignee_id") != null && !jsonObj.get("assignee_id").isJsonNull()) && !jsonObj.get("assignee_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignee_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignee_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!OverriddenShift.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'OverriddenShift' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(OverriddenShift.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, OverriddenShift value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public OverriddenShift read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of OverriddenShift given an JSON string + * + * @param jsonString JSON string + * @return An instance of OverriddenShift + * @throws IOException if the JSON string is invalid with respect to OverriddenShift + */ + public static OverriddenShift fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, OverriddenShift.class); + } + + /** + * Convert an instance of OverriddenShift to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/OverrideShift.java b/src/main/java/com/rootly/client/model/OverrideShift.java index 62ec438d..0f295b63 100644 --- a/src/main/java/com/rootly/client/model/OverrideShift.java +++ b/src/main/java/com/rootly/client/model/OverrideShift.java @@ -51,7 +51,7 @@ /** * OverrideShift */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OverrideShift { public static final String SERIALIZED_NAME_SCHEDULE_ID = "schedule_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ID) diff --git a/src/main/java/com/rootly/client/model/OverrideShiftList.java b/src/main/java/com/rootly/client/model/OverrideShiftList.java index 65619b56..6a3bef2a 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftList.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftList.java @@ -54,7 +54,7 @@ /** * OverrideShiftList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OverrideShiftList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OverrideShiftResponse.java b/src/main/java/com/rootly/client/model/OverrideShiftResponse.java index 3dae3999..be0ff6ed 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftResponse.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftResponse.java @@ -52,7 +52,7 @@ /** * OverrideShiftResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OverrideShiftResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/OverrideShiftResponseData.java b/src/main/java/com/rootly/client/model/OverrideShiftResponseData.java index 7e8aac1a..cd214093 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftResponseData.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftResponseData.java @@ -49,7 +49,7 @@ /** * OverrideShiftResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OverrideShiftResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java index 47402104..0d22af3c 100644 --- a/src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java @@ -52,7 +52,7 @@ /** * PageJsmopsOnCallRespondersTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageJsmopsOnCallRespondersTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java index d0a822c0..2da075fd 100644 --- a/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java @@ -52,7 +52,7 @@ /** * PageOpsgenieOnCallRespondersTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageOpsgenieOnCallRespondersTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java index f5129cf9..1d6af929 100644 --- a/src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java @@ -52,7 +52,7 @@ /** * PagePagerdutyOnCallRespondersTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PagePagerdutyOnCallRespondersTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java index f3a6bb4f..ac12f667 100644 --- a/src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java @@ -49,7 +49,7 @@ /** * PageRootlyOnCallRespondersTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageRootlyOnCallRespondersTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java index efe56250..cdb37cae 100644 --- a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageVictorOpsOnCallRespondersTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(PageVictorOpsOnCallRespondersTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf.java index f54b137e..0d144998 100644 --- a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf.java @@ -51,7 +51,7 @@ /** * PageVictorOpsOnCallRespondersTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageVictorOpsOnCallRespondersTaskParamsAnyOf { public static final String SERIALIZED_NAME_USERS = "users"; @SerializedName(SERIALIZED_NAME_USERS) diff --git a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf1.java b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf1.java index bd1ceb5a..b1a04837 100644 --- a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf1.java +++ b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsAnyOf1.java @@ -51,7 +51,7 @@ /** * PageVictorOpsOnCallRespondersTaskParamsAnyOf1 */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageVictorOpsOnCallRespondersTaskParamsAnyOf1 { public static final String SERIALIZED_NAME_ESCALATION_POLICIES = "escalation_policies"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICIES) diff --git a/src/main/java/com/rootly/client/model/PatchAlertRoute.java b/src/main/java/com/rootly/client/model/PatchAlertRoute.java index 4d0863a4..2c67c339 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRoute.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRoute.java @@ -49,7 +49,7 @@ /** * PatchAlertRoute */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRoute { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteData.java b/src/main/java/com/rootly/client/model/PatchAlertRouteData.java index 0a0e1375..f0fbe997 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteData.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteData.java @@ -49,8 +49,13 @@ /** * PatchAlertRouteData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public PatchAlertRouteData() { } + public PatchAlertRouteData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public PatchAlertRouteData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } PatchAlertRouteData patchAlertRouteData = (PatchAlertRouteData) o; - return Objects.equals(this.type, patchAlertRouteData.type) && + return Objects.equals(this.id, patchAlertRouteData.id) && + Objects.equals(this.type, patchAlertRouteData.type) && Objects.equals(this.attributes, patchAlertRouteData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class PatchAlertRouteData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java index b2fb18c2..750fa545 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java @@ -52,7 +52,7 @@ /** * PatchAlertRouteDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java index b2fc1f97..2316a6d6 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java @@ -53,7 +53,7 @@ /** * PatchAlertRouteDataAttributesRulesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteDataAttributesRulesInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java index 76f44b3e..68709738 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java @@ -52,7 +52,7 @@ /** * PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java index 9781d4f3..b48ad98d 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java @@ -52,7 +52,7 @@ /** * PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java index 52cf2591..f21b387a 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java @@ -49,7 +49,7 @@ /** * PatchAlertRouteDataAttributesRulesInnerDestinationsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteDataAttributesRulesInnerDestinationsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PhoneVerificationResponse.java b/src/main/java/com/rootly/client/model/PhoneVerificationResponse.java index e8dfd3ec..182e088b 100644 --- a/src/main/java/com/rootly/client/model/PhoneVerificationResponse.java +++ b/src/main/java/com/rootly/client/model/PhoneVerificationResponse.java @@ -48,7 +48,7 @@ /** * PhoneVerificationResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PhoneVerificationResponse { public static final String SERIALIZED_NAME_MESSAGE = "message"; @SerializedName(SERIALIZED_NAME_MESSAGE) diff --git a/src/main/java/com/rootly/client/model/Playbook.java b/src/main/java/com/rootly/client/model/Playbook.java index 0db31119..97afe6c6 100644 --- a/src/main/java/com/rootly/client/model/Playbook.java +++ b/src/main/java/com/rootly/client/model/Playbook.java @@ -51,7 +51,7 @@ /** * Playbook */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Playbook { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -63,6 +63,68 @@ public class Playbook { @jakarta.annotation.Nullable private String summary; + /** + * Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + INTERNAL_DOCUMENT("internal_document"), + + EXTERNAL_URL("external_url"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @jakarta.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @jakarta.annotation.Nullable + private String content; + public static final String SERIALIZED_NAME_EXTERNAL_URL = "external_url"; @SerializedName(SERIALIZED_NAME_EXTERNAL_URL) @jakarta.annotation.Nullable @@ -98,6 +160,11 @@ public class Playbook { @jakarta.annotation.Nullable private List incidentTypeIds; + public static final String SERIALIZED_NAME_CAUSE_IDS = "cause_ids"; + @SerializedName(SERIALIZED_NAME_CAUSE_IDS) + @jakarta.annotation.Nullable + private List causeIds; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @jakarta.annotation.Nonnull @@ -149,6 +216,44 @@ public void setSummary(@jakarta.annotation.Nullable String summary) { } + public Playbook kind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). + * @return kind + */ + @jakarta.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public Playbook content(@jakarta.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * Sanitized HTML instructions. Still returned when `kind` is `external_url`, where the body may be stale — branch on `kind`, not on `content` being present. + * @return content + */ + @jakarta.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@jakarta.annotation.Nullable String content) { + this.content = content; + } + + public Playbook externalUrl(@jakarta.annotation.Nullable String externalUrl) { this.externalUrl = externalUrl; return this; @@ -330,6 +435,33 @@ public void setIncidentTypeIds(@jakarta.annotation.Nullable List inciden } + public Playbook causeIds(@jakarta.annotation.Nullable List causeIds) { + this.causeIds = causeIds; + return this; + } + + public Playbook addCauseIdsItem(String causeIdsItem) { + if (this.causeIds == null) { + this.causeIds = new ArrayList<>(); + } + this.causeIds.add(causeIdsItem); + return this; + } + + /** + * The Cause IDs to attach to the incident + * @return causeIds + */ + @jakarta.annotation.Nullable + public List getCauseIds() { + return causeIds; + } + + public void setCauseIds(@jakarta.annotation.Nullable List causeIds) { + this.causeIds = causeIds; + } + + public Playbook createdAt(@jakarta.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -380,6 +512,8 @@ public boolean equals(Object o) { Playbook playbook = (Playbook) o; return Objects.equals(this.title, playbook.title) && Objects.equals(this.summary, playbook.summary) && + Objects.equals(this.kind, playbook.kind) && + Objects.equals(this.content, playbook.content) && Objects.equals(this.externalUrl, playbook.externalUrl) && Objects.equals(this.severityIds, playbook.severityIds) && Objects.equals(this.environmentIds, playbook.environmentIds) && @@ -387,6 +521,7 @@ public boolean equals(Object o) { Objects.equals(this.serviceIds, playbook.serviceIds) && Objects.equals(this.groupIds, playbook.groupIds) && Objects.equals(this.incidentTypeIds, playbook.incidentTypeIds) && + Objects.equals(this.causeIds, playbook.causeIds) && Objects.equals(this.createdAt, playbook.createdAt) && Objects.equals(this.updatedAt, playbook.updatedAt); } @@ -397,7 +532,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, summary, externalUrl, severityIds, environmentIds, functionalityIds, serviceIds, groupIds, incidentTypeIds, createdAt, updatedAt); + return Objects.hash(title, summary, kind, content, externalUrl, severityIds, environmentIds, functionalityIds, serviceIds, groupIds, incidentTypeIds, causeIds, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -413,6 +548,8 @@ public String toString() { sb.append("class Playbook {\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" externalUrl: ").append(toIndentedString(externalUrl)).append("\n"); sb.append(" severityIds: ").append(toIndentedString(severityIds)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); @@ -420,6 +557,7 @@ public String toString() { sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); sb.append(" incidentTypeIds: ").append(toIndentedString(incidentTypeIds)).append("\n"); + sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -446,6 +584,8 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("title"); openapiFields.add("summary"); + openapiFields.add("kind"); + openapiFields.add("content"); openapiFields.add("external_url"); openapiFields.add("severity_ids"); openapiFields.add("environment_ids"); @@ -453,6 +593,7 @@ private String toIndentedString(Object o) { openapiFields.add("service_ids"); openapiFields.add("group_ids"); openapiFields.add("incident_type_ids"); + openapiFields.add("cause_ids"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -497,6 +638,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("summary") != null && !jsonObj.get("summary").isJsonNull()) && !jsonObj.get("summary").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("summary").toString())); } + if ((jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) && !jsonObj.get("kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + KindEnum.validateJsonElement(jsonObj.get("kind")); + } + if ((jsonObj.get("content") != null && !jsonObj.get("content").isJsonNull()) && !jsonObj.get("content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content").toString())); + } if ((jsonObj.get("external_url") != null && !jsonObj.get("external_url").isJsonNull()) && !jsonObj.get("external_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `external_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("external_url").toString())); } @@ -524,6 +675,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("incident_type_ids") != null && !jsonObj.get("incident_type_ids").isJsonNull() && !jsonObj.get("incident_type_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_type_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("cause_ids") != null && !jsonObj.get("cause_ids").isJsonNull() && !jsonObj.get("cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("cause_ids").toString())); + } if (!jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); } diff --git a/src/main/java/com/rootly/client/model/PlaybookList.java b/src/main/java/com/rootly/client/model/PlaybookList.java index 5cc07425..4b976700 100644 --- a/src/main/java/com/rootly/client/model/PlaybookList.java +++ b/src/main/java/com/rootly/client/model/PlaybookList.java @@ -54,7 +54,7 @@ /** * PlaybookList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PlaybookResponse.java b/src/main/java/com/rootly/client/model/PlaybookResponse.java index d2b572e0..567d3392 100644 --- a/src/main/java/com/rootly/client/model/PlaybookResponse.java +++ b/src/main/java/com/rootly/client/model/PlaybookResponse.java @@ -52,7 +52,7 @@ /** * PlaybookResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PlaybookResponseData.java b/src/main/java/com/rootly/client/model/PlaybookResponseData.java index 274c187a..78fcde31 100644 --- a/src/main/java/com/rootly/client/model/PlaybookResponseData.java +++ b/src/main/java/com/rootly/client/model/PlaybookResponseData.java @@ -49,7 +49,7 @@ /** * PlaybookResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PlaybookTask.java b/src/main/java/com/rootly/client/model/PlaybookTask.java index 9c6dfe3b..59412827 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTask.java +++ b/src/main/java/com/rootly/client/model/PlaybookTask.java @@ -49,7 +49,7 @@ /** * PlaybookTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookTask { public static final String SERIALIZED_NAME_PLAYBOOK_ID = "playbook_id"; @SerializedName(SERIALIZED_NAME_PLAYBOOK_ID) diff --git a/src/main/java/com/rootly/client/model/PlaybookTaskList.java b/src/main/java/com/rootly/client/model/PlaybookTaskList.java index 07934bc6..dd65b4c4 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskList.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskList.java @@ -54,7 +54,7 @@ /** * PlaybookTaskList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookTaskList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java b/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java index 17291b71..7905ded7 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java @@ -52,7 +52,7 @@ /** * PlaybookTaskResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookTaskResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PlaybookTaskResponseData.java b/src/main/java/com/rootly/client/model/PlaybookTaskResponseData.java index 77180acf..895ca433 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskResponseData.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskResponseData.java @@ -49,7 +49,7 @@ /** * PlaybookTaskResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookTaskResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PostMortemTemplate.java b/src/main/java/com/rootly/client/model/PostMortemTemplate.java index 98f63c47..9a2bef7b 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplate.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplate.java @@ -49,7 +49,7 @@ /** * PostMortemTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTemplate { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/PostMortemTemplateList.java b/src/main/java/com/rootly/client/model/PostMortemTemplateList.java index ab4658b4..e77d873d 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateList.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateList.java @@ -54,7 +54,7 @@ /** * PostMortemTemplateList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTemplateList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java b/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java index 65f4d272..9f288d70 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java @@ -52,7 +52,7 @@ /** * PostMortemTemplateResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTemplateResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java b/src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java index 17c2a70a..1d7ce61e 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java @@ -49,7 +49,7 @@ /** * PostMortemTemplateResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTemplateResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PostMortemTriggerParams.java b/src/main/java/com/rootly/client/model/PostMortemTriggerParams.java index 021fe333..0abe5d2d 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTriggerParams.java +++ b/src/main/java/com/rootly/client/model/PostMortemTriggerParams.java @@ -51,7 +51,7 @@ /** * PostMortemTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTriggerParams { /** * Gets or Sets triggerType @@ -1674,6 +1674,120 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private IncidentConditionResolvedAtEnum incidentConditionResolvedAt; + /** + * Gets or Sets incidentConditionScheduledFor + */ + @JsonAdapter(IncidentConditionScheduledForEnum.Adapter.class) + public enum IncidentConditionScheduledForEnum { + SET("SET"), + + UNSET("UNSET"); + + private String value; + + IncidentConditionScheduledForEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentConditionScheduledForEnum fromValue(String value) { + for (IncidentConditionScheduledForEnum b : IncidentConditionScheduledForEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncidentConditionScheduledForEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentConditionScheduledForEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentConditionScheduledForEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentConditionScheduledForEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_FOR = "incident_condition_scheduled_for"; + @SerializedName(SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_FOR) + @jakarta.annotation.Nullable + private IncidentConditionScheduledForEnum incidentConditionScheduledFor; + + /** + * Gets or Sets incidentConditionScheduledUntil + */ + @JsonAdapter(IncidentConditionScheduledUntilEnum.Adapter.class) + public enum IncidentConditionScheduledUntilEnum { + SET("SET"), + + UNSET("UNSET"); + + private String value; + + IncidentConditionScheduledUntilEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentConditionScheduledUntilEnum fromValue(String value) { + for (IncidentConditionScheduledUntilEnum b : IncidentConditionScheduledUntilEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IncidentConditionScheduledUntilEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentConditionScheduledUntilEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentConditionScheduledUntilEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentConditionScheduledUntilEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_UNTIL = "incident_condition_scheduled_until"; + @SerializedName(SERIALIZED_NAME_INCIDENT_CONDITION_SCHEDULED_UNTIL) + @jakarta.annotation.Nullable + private IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil; + /** * Gets or Sets incidentConditionalInactivity */ @@ -2510,6 +2624,44 @@ public void setIncidentConditionResolvedAt(@jakarta.annotation.Nullable Incident } + public PostMortemTriggerParams incidentConditionScheduledFor(@jakarta.annotation.Nullable IncidentConditionScheduledForEnum incidentConditionScheduledFor) { + this.incidentConditionScheduledFor = incidentConditionScheduledFor; + return this; + } + + /** + * Get incidentConditionScheduledFor + * @return incidentConditionScheduledFor + */ + @jakarta.annotation.Nullable + public IncidentConditionScheduledForEnum getIncidentConditionScheduledFor() { + return incidentConditionScheduledFor; + } + + public void setIncidentConditionScheduledFor(@jakarta.annotation.Nullable IncidentConditionScheduledForEnum incidentConditionScheduledFor) { + this.incidentConditionScheduledFor = incidentConditionScheduledFor; + } + + + public PostMortemTriggerParams incidentConditionScheduledUntil(@jakarta.annotation.Nullable IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil) { + this.incidentConditionScheduledUntil = incidentConditionScheduledUntil; + return this; + } + + /** + * Get incidentConditionScheduledUntil + * @return incidentConditionScheduledUntil + */ + @jakarta.annotation.Nullable + public IncidentConditionScheduledUntilEnum getIncidentConditionScheduledUntil() { + return incidentConditionScheduledUntil; + } + + public void setIncidentConditionScheduledUntil(@jakarta.annotation.Nullable IncidentConditionScheduledUntilEnum incidentConditionScheduledUntil) { + this.incidentConditionScheduledUntil = incidentConditionScheduledUntil; + } + + public PostMortemTriggerParams incidentConditionalInactivity(@jakarta.annotation.Nullable IncidentConditionalInactivityEnum incidentConditionalInactivity) { this.incidentConditionalInactivity = incidentConditionalInactivity; return this; @@ -2633,6 +2785,8 @@ public boolean equals(Object o) { Objects.equals(this.incidentConditionAcknowledgedAt, postMortemTriggerParams.incidentConditionAcknowledgedAt) && Objects.equals(this.incidentConditionMitigatedAt, postMortemTriggerParams.incidentConditionMitigatedAt) && Objects.equals(this.incidentConditionResolvedAt, postMortemTriggerParams.incidentConditionResolvedAt) && + Objects.equals(this.incidentConditionScheduledFor, postMortemTriggerParams.incidentConditionScheduledFor) && + Objects.equals(this.incidentConditionScheduledUntil, postMortemTriggerParams.incidentConditionScheduledUntil) && Objects.equals(this.incidentConditionalInactivity, postMortemTriggerParams.incidentConditionalInactivity) && Objects.equals(this.incidentPostMortemCondition, postMortemTriggerParams.incidentPostMortemCondition) && Objects.equals(this.incidentPostMortemConditionStatus, postMortemTriggerParams.incidentPostMortemConditionStatus) && @@ -2645,7 +2799,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(triggerType, triggers, incidentVisibilities, incidentKinds, incidentStatuses, incidentInactivityDuration, incidentCondition, incidentConditionVisibility, incidentConditionKind, incidentConditionStatus, incidentConditionSubStatus, incidentConditionEnvironment, incidentConditionSeverity, incidentConditionIncidentType, incidentConditionIncidentRoles, incidentConditionService, incidentConditionFunctionality, incidentConditionGroup, incidentConditionCause, incidentConditionLabel, incidentConditionLabelUseRegexp, incidentLabels, incidentPostMortemConditionCause, incidentConditionSummary, incidentConditionStartedAt, incidentConditionDetectedAt, incidentConditionAcknowledgedAt, incidentConditionMitigatedAt, incidentConditionResolvedAt, incidentConditionalInactivity, incidentPostMortemCondition, incidentPostMortemConditionStatus, incidentPostMortemStatuses); + return Objects.hash(triggerType, triggers, incidentVisibilities, incidentKinds, incidentStatuses, incidentInactivityDuration, incidentCondition, incidentConditionVisibility, incidentConditionKind, incidentConditionStatus, incidentConditionSubStatus, incidentConditionEnvironment, incidentConditionSeverity, incidentConditionIncidentType, incidentConditionIncidentRoles, incidentConditionService, incidentConditionFunctionality, incidentConditionGroup, incidentConditionCause, incidentConditionLabel, incidentConditionLabelUseRegexp, incidentLabels, incidentPostMortemConditionCause, incidentConditionSummary, incidentConditionStartedAt, incidentConditionDetectedAt, incidentConditionAcknowledgedAt, incidentConditionMitigatedAt, incidentConditionResolvedAt, incidentConditionScheduledFor, incidentConditionScheduledUntil, incidentConditionalInactivity, incidentPostMortemCondition, incidentPostMortemConditionStatus, incidentPostMortemStatuses); } private static int hashCodeNullable(JsonNullable a) { @@ -2688,6 +2842,8 @@ public String toString() { sb.append(" incidentConditionAcknowledgedAt: ").append(toIndentedString(incidentConditionAcknowledgedAt)).append("\n"); sb.append(" incidentConditionMitigatedAt: ").append(toIndentedString(incidentConditionMitigatedAt)).append("\n"); sb.append(" incidentConditionResolvedAt: ").append(toIndentedString(incidentConditionResolvedAt)).append("\n"); + sb.append(" incidentConditionScheduledFor: ").append(toIndentedString(incidentConditionScheduledFor)).append("\n"); + sb.append(" incidentConditionScheduledUntil: ").append(toIndentedString(incidentConditionScheduledUntil)).append("\n"); sb.append(" incidentConditionalInactivity: ").append(toIndentedString(incidentConditionalInactivity)).append("\n"); sb.append(" incidentPostMortemCondition: ").append(toIndentedString(incidentPostMortemCondition)).append("\n"); sb.append(" incidentPostMortemConditionStatus: ").append(toIndentedString(incidentPostMortemConditionStatus)).append("\n"); @@ -2743,6 +2899,8 @@ private String toIndentedString(Object o) { openapiFields.add("incident_condition_acknowledged_at"); openapiFields.add("incident_condition_mitigated_at"); openapiFields.add("incident_condition_resolved_at"); + openapiFields.add("incident_condition_scheduled_for"); + openapiFields.add("incident_condition_scheduled_until"); openapiFields.add("incident_conditional_inactivity"); openapiFields.add("incident_post_mortem_condition"); openapiFields.add("incident_post_mortem_condition_status"); @@ -2956,6 +3114,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("incident_condition_resolved_at") != null && !jsonObj.get("incident_condition_resolved_at").isJsonNull()) { IncidentConditionResolvedAtEnum.validateJsonElement(jsonObj.get("incident_condition_resolved_at")); } + if ((jsonObj.get("incident_condition_scheduled_for") != null && !jsonObj.get("incident_condition_scheduled_for").isJsonNull()) && !jsonObj.get("incident_condition_scheduled_for").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_condition_scheduled_for` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_condition_scheduled_for").toString())); + } + // validate the optional field `incident_condition_scheduled_for` + if (jsonObj.get("incident_condition_scheduled_for") != null && !jsonObj.get("incident_condition_scheduled_for").isJsonNull()) { + IncidentConditionScheduledForEnum.validateJsonElement(jsonObj.get("incident_condition_scheduled_for")); + } + if ((jsonObj.get("incident_condition_scheduled_until") != null && !jsonObj.get("incident_condition_scheduled_until").isJsonNull()) && !jsonObj.get("incident_condition_scheduled_until").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_condition_scheduled_until` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_condition_scheduled_until").toString())); + } + // validate the optional field `incident_condition_scheduled_until` + if (jsonObj.get("incident_condition_scheduled_until") != null && !jsonObj.get("incident_condition_scheduled_until").isJsonNull()) { + IncidentConditionScheduledUntilEnum.validateJsonElement(jsonObj.get("incident_condition_scheduled_until")); + } if ((jsonObj.get("incident_conditional_inactivity") != null && !jsonObj.get("incident_conditional_inactivity").isJsonNull()) && !jsonObj.get("incident_conditional_inactivity").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `incident_conditional_inactivity` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_conditional_inactivity").toString())); } diff --git a/src/main/java/com/rootly/client/model/PrintTaskParams.java b/src/main/java/com/rootly/client/model/PrintTaskParams.java index 03d49fb1..8d6e43bf 100644 --- a/src/main/java/com/rootly/client/model/PrintTaskParams.java +++ b/src/main/java/com/rootly/client/model/PrintTaskParams.java @@ -48,7 +48,7 @@ /** * PrintTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PrintTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PrivateAgent.java b/src/main/java/com/rootly/client/model/PrivateAgent.java new file mode 100644 index 00000000..7645e8cb --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgent.java @@ -0,0 +1,329 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentAttributes; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgent + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgent { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private UUID id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PRIVATE_AGENTS("private_agents"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private PrivateAgentAttributes attributes; + + public PrivateAgent() { + } + + public PrivateAgent id(@jakarta.annotation.Nonnull UUID id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @jakarta.annotation.Nonnull + public UUID getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull UUID id) { + this.id = id; + } + + + public PrivateAgent type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public PrivateAgent attributes(@jakarta.annotation.Nonnull PrivateAgentAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public PrivateAgentAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull PrivateAgentAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgent privateAgent = (PrivateAgent) o; + return Objects.equals(this.id, privateAgent.id) && + Objects.equals(this.type, privateAgent.type) && + Objects.equals(this.attributes, privateAgent.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgent {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgent + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgent.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgent is not found in the empty JSON string", PrivateAgent.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgent.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgent` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgent.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + PrivateAgentAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgent.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgent' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgent.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgent value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgent read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgent given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgent + * @throws IOException if the JSON string is invalid with respect to PrivateAgent + */ + public static PrivateAgent fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgent.class); + } + + /** + * Convert an instance of PrivateAgent to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentAttributes.java b/src/main/java/com/rootly/client/model/PrivateAgentAttributes.java new file mode 100644 index 00000000..a28dd7d0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentAttributes.java @@ -0,0 +1,667 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentAttributesProvidersInner; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @jakarta.annotation.Nonnull + private Boolean enabled; + + /** + * Gets or Sets status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + ACTIVE("active"), + + REVOKED("revoked"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_ONLINE = "online"; + @SerializedName(SERIALIZED_NAME_ONLINE) + @jakarta.annotation.Nonnull + private Boolean online; + + /** + * Gets or Sets deploymentMode + */ + @JsonAdapter(DeploymentModeEnum.Adapter.class) + public enum DeploymentModeEnum { + COMBINED("combined"), + + SPLIT_CORE("split-core"); + + private String value; + + DeploymentModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DeploymentModeEnum fromValue(String value) { + for (DeploymentModeEnum b : DeploymentModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DeploymentModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DeploymentModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DeploymentModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DeploymentModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DEPLOYMENT_MODE = "deployment_mode"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT_MODE) + @jakarta.annotation.Nonnull + private DeploymentModeEnum deploymentMode; + + public static final String SERIALIZED_NAME_AGENT_VERSION = "agent_version"; + @SerializedName(SERIALIZED_NAME_AGENT_VERSION) + @jakarta.annotation.Nonnull + private String agentVersion; + + public static final String SERIALIZED_NAME_LAST_SEEN_AT = "last_seen_at"; + @SerializedName(SERIALIZED_NAME_LAST_SEEN_AT) + @jakarta.annotation.Nullable + private OffsetDateTime lastSeenAt; + + public static final String SERIALIZED_NAME_SCHEMA_DIGEST = "schema_digest"; + @SerializedName(SERIALIZED_NAME_SCHEMA_DIGEST) + @jakarta.annotation.Nullable + private String schemaDigest; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime updatedAt; + + public static final String SERIALIZED_NAME_PROVIDERS = "providers"; + @SerializedName(SERIALIZED_NAME_PROVIDERS) + @jakarta.annotation.Nonnull + private List providers = new ArrayList<>(); + + public PrivateAgentAttributes() { + } + + public PrivateAgentAttributes name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + public PrivateAgentAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Non-sensitive routing metadata. Do not include secrets or personal data. + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public PrivateAgentAttributes enabled(@jakarta.annotation.Nonnull Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * For active agents, whether Rootly may advertise tools and assign new work. + * @return enabled + */ + @jakarta.annotation.Nonnull + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@jakarta.annotation.Nonnull Boolean enabled) { + this.enabled = enabled; + } + + + public PrivateAgentAttributes status(@jakarta.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @jakarta.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public PrivateAgentAttributes online(@jakarta.annotation.Nonnull Boolean online) { + this.online = online; + return this; + } + + /** + * Active agent seen within two minutes; does not imply all providers are healthy. + * @return online + */ + @jakarta.annotation.Nonnull + public Boolean getOnline() { + return online; + } + + public void setOnline(@jakarta.annotation.Nonnull Boolean online) { + this.online = online; + } + + + public PrivateAgentAttributes deploymentMode(@jakarta.annotation.Nonnull DeploymentModeEnum deploymentMode) { + this.deploymentMode = deploymentMode; + return this; + } + + /** + * Get deploymentMode + * @return deploymentMode + */ + @jakarta.annotation.Nonnull + public DeploymentModeEnum getDeploymentMode() { + return deploymentMode; + } + + public void setDeploymentMode(@jakarta.annotation.Nonnull DeploymentModeEnum deploymentMode) { + this.deploymentMode = deploymentMode; + } + + + public PrivateAgentAttributes agentVersion(@jakarta.annotation.Nonnull String agentVersion) { + this.agentVersion = agentVersion; + return this; + } + + /** + * Get agentVersion + * @return agentVersion + */ + @jakarta.annotation.Nonnull + public String getAgentVersion() { + return agentVersion; + } + + public void setAgentVersion(@jakarta.annotation.Nonnull String agentVersion) { + this.agentVersion = agentVersion; + } + + + public PrivateAgentAttributes lastSeenAt(@jakarta.annotation.Nullable OffsetDateTime lastSeenAt) { + this.lastSeenAt = lastSeenAt; + return this; + } + + /** + * Get lastSeenAt + * @return lastSeenAt + */ + @jakarta.annotation.Nullable + public OffsetDateTime getLastSeenAt() { + return lastSeenAt; + } + + public void setLastSeenAt(@jakarta.annotation.Nullable OffsetDateTime lastSeenAt) { + this.lastSeenAt = lastSeenAt; + } + + + public PrivateAgentAttributes schemaDigest(@jakarta.annotation.Nullable String schemaDigest) { + this.schemaDigest = schemaDigest; + return this; + } + + /** + * Get schemaDigest + * @return schemaDigest + */ + @jakarta.annotation.Nullable + public String getSchemaDigest() { + return schemaDigest; + } + + public void setSchemaDigest(@jakarta.annotation.Nullable String schemaDigest) { + this.schemaDigest = schemaDigest; + } + + + public PrivateAgentAttributes createdAt(@jakarta.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@jakarta.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public PrivateAgentAttributes updatedAt(@jakarta.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@jakarta.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + public PrivateAgentAttributes providers(@jakarta.annotation.Nonnull List providers) { + this.providers = providers; + return this; + } + + public PrivateAgentAttributes addProvidersItem(PrivateAgentAttributesProvidersInner providersItem) { + if (this.providers == null) { + this.providers = new ArrayList<>(); + } + this.providers.add(providersItem); + return this; + } + + /** + * Get providers + * @return providers + */ + @jakarta.annotation.Nonnull + public List getProviders() { + return providers; + } + + public void setProviders(@jakarta.annotation.Nonnull List providers) { + this.providers = providers; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentAttributes privateAgentAttributes = (PrivateAgentAttributes) o; + return Objects.equals(this.name, privateAgentAttributes.name) && + Objects.equals(this.description, privateAgentAttributes.description) && + Objects.equals(this.enabled, privateAgentAttributes.enabled) && + Objects.equals(this.status, privateAgentAttributes.status) && + Objects.equals(this.online, privateAgentAttributes.online) && + Objects.equals(this.deploymentMode, privateAgentAttributes.deploymentMode) && + Objects.equals(this.agentVersion, privateAgentAttributes.agentVersion) && + Objects.equals(this.lastSeenAt, privateAgentAttributes.lastSeenAt) && + Objects.equals(this.schemaDigest, privateAgentAttributes.schemaDigest) && + Objects.equals(this.createdAt, privateAgentAttributes.createdAt) && + Objects.equals(this.updatedAt, privateAgentAttributes.updatedAt) && + Objects.equals(this.providers, privateAgentAttributes.providers); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, enabled, status, online, deploymentMode, agentVersion, lastSeenAt, schemaDigest, createdAt, updatedAt, providers); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" online: ").append(toIndentedString(online)).append("\n"); + sb.append(" deploymentMode: ").append(toIndentedString(deploymentMode)).append("\n"); + sb.append(" agentVersion: ").append(toIndentedString(agentVersion)).append("\n"); + sb.append(" lastSeenAt: ").append(toIndentedString(lastSeenAt)).append("\n"); + sb.append(" schemaDigest: ").append(toIndentedString(schemaDigest)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" providers: ").append(toIndentedString(providers)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("enabled"); + openapiFields.add("status"); + openapiFields.add("online"); + openapiFields.add("deployment_mode"); + openapiFields.add("agent_version"); + openapiFields.add("last_seen_at"); + openapiFields.add("schema_digest"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("providers"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("description"); + openapiRequiredFields.add("enabled"); + openapiRequiredFields.add("status"); + openapiRequiredFields.add("online"); + openapiRequiredFields.add("deployment_mode"); + openapiRequiredFields.add("agent_version"); + openapiRequiredFields.add("last_seen_at"); + openapiRequiredFields.add("schema_digest"); + openapiRequiredFields.add("created_at"); + openapiRequiredFields.add("updated_at"); + openapiRequiredFields.add("providers"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentAttributes is not found in the empty JSON string", PrivateAgentAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentAttributes.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if (!jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the required field `status` + StatusEnum.validateJsonElement(jsonObj.get("status")); + if (!jsonObj.get("deployment_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deployment_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deployment_mode").toString())); + } + // validate the required field `deployment_mode` + DeploymentModeEnum.validateJsonElement(jsonObj.get("deployment_mode")); + if (!jsonObj.get("agent_version").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `agent_version` to be a primitive type in the JSON string but got `%s`", jsonObj.get("agent_version").toString())); + } + if ((jsonObj.get("schema_digest") != null && !jsonObj.get("schema_digest").isJsonNull()) && !jsonObj.get("schema_digest").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `schema_digest` to be a primitive type in the JSON string but got `%s`", jsonObj.get("schema_digest").toString())); + } + // ensure the json data is an array + if (!jsonObj.get("providers").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `providers` to be an array in the JSON string but got `%s`", jsonObj.get("providers").toString())); + } + + JsonArray jsonArrayproviders = jsonObj.getAsJsonArray("providers"); + // validate the required field `providers` (array) + for (int i = 0; i < jsonArrayproviders.size(); i++) { + PrivateAgentAttributesProvidersInner.validateJsonElement(jsonArrayproviders.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentAttributes + * @throws IOException if the JSON string is invalid with respect to PrivateAgentAttributes + */ + public static PrivateAgentAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentAttributes.class); + } + + /** + * Convert an instance of PrivateAgentAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInner.java b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInner.java new file mode 100644 index 00000000..8498d1e1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInner.java @@ -0,0 +1,387 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentAttributesProvidersInnerCapabilitiesInner; +import com.rootly.client.model.PrivateAgentAttributesProvidersInnerHealth; +import com.rootly.client.model.PrivateAgentAttributesProvidersInnerPolicy; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentAttributesProvidersInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentAttributesProvidersInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private String type; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + @jakarta.annotation.Nullable + private String version; + + public static final String SERIALIZED_NAME_HEALTH = "health"; + @SerializedName(SERIALIZED_NAME_HEALTH) + @jakarta.annotation.Nullable + private PrivateAgentAttributesProvidersInnerHealth health; + + public static final String SERIALIZED_NAME_POLICY = "policy"; + @SerializedName(SERIALIZED_NAME_POLICY) + @jakarta.annotation.Nullable + private PrivateAgentAttributesProvidersInnerPolicy policy; + + public static final String SERIALIZED_NAME_CAPABILITIES = "capabilities"; + @SerializedName(SERIALIZED_NAME_CAPABILITIES) + @jakarta.annotation.Nonnull + private List capabilities = new ArrayList<>(); + + public PrivateAgentAttributesProvidersInner() { + } + + public PrivateAgentAttributesProvidersInner id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public PrivateAgentAttributesProvidersInner type(@jakarta.annotation.Nonnull String type) { + this.type = type; + return this; + } + + /** + * Provider adapter type, such as kubernetes, prometheus, loki, tempo, pyroscope, elasticsearch, opensearch, postgresql, mysql, mcp, http, kafka, redis, or valkey. + * @return type + */ + @jakarta.annotation.Nonnull + public String getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull String type) { + this.type = type; + } + + + public PrivateAgentAttributesProvidersInner version(@jakarta.annotation.Nullable String version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @jakarta.annotation.Nullable + public String getVersion() { + return version; + } + + public void setVersion(@jakarta.annotation.Nullable String version) { + this.version = version; + } + + + public PrivateAgentAttributesProvidersInner health(@jakarta.annotation.Nullable PrivateAgentAttributesProvidersInnerHealth health) { + this.health = health; + return this; + } + + /** + * Get health + * @return health + */ + @jakarta.annotation.Nullable + public PrivateAgentAttributesProvidersInnerHealth getHealth() { + return health; + } + + public void setHealth(@jakarta.annotation.Nullable PrivateAgentAttributesProvidersInnerHealth health) { + this.health = health; + } + + + public PrivateAgentAttributesProvidersInner policy(@jakarta.annotation.Nullable PrivateAgentAttributesProvidersInnerPolicy policy) { + this.policy = policy; + return this; + } + + /** + * Get policy + * @return policy + */ + @jakarta.annotation.Nullable + public PrivateAgentAttributesProvidersInnerPolicy getPolicy() { + return policy; + } + + public void setPolicy(@jakarta.annotation.Nullable PrivateAgentAttributesProvidersInnerPolicy policy) { + this.policy = policy; + } + + + public PrivateAgentAttributesProvidersInner capabilities(@jakarta.annotation.Nonnull List capabilities) { + this.capabilities = capabilities; + return this; + } + + public PrivateAgentAttributesProvidersInner addCapabilitiesItem(PrivateAgentAttributesProvidersInnerCapabilitiesInner capabilitiesItem) { + if (this.capabilities == null) { + this.capabilities = new ArrayList<>(); + } + this.capabilities.add(capabilitiesItem); + return this; + } + + /** + * Get capabilities + * @return capabilities + */ + @jakarta.annotation.Nonnull + public List getCapabilities() { + return capabilities; + } + + public void setCapabilities(@jakarta.annotation.Nonnull List capabilities) { + this.capabilities = capabilities; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentAttributesProvidersInner privateAgentAttributesProvidersInner = (PrivateAgentAttributesProvidersInner) o; + return Objects.equals(this.id, privateAgentAttributesProvidersInner.id) && + Objects.equals(this.type, privateAgentAttributesProvidersInner.type) && + Objects.equals(this.version, privateAgentAttributesProvidersInner.version) && + Objects.equals(this.health, privateAgentAttributesProvidersInner.health) && + Objects.equals(this.policy, privateAgentAttributesProvidersInner.policy) && + Objects.equals(this.capabilities, privateAgentAttributesProvidersInner.capabilities); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, version, health, policy, capabilities); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentAttributesProvidersInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" health: ").append(toIndentedString(health)).append("\n"); + sb.append(" policy: ").append(toIndentedString(policy)).append("\n"); + sb.append(" capabilities: ").append(toIndentedString(capabilities)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("version"); + openapiFields.add("health"); + openapiFields.add("policy"); + openapiFields.add("capabilities"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("version"); + openapiRequiredFields.add("health"); + openapiRequiredFields.add("policy"); + openapiRequiredFields.add("capabilities"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentAttributesProvidersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentAttributesProvidersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentAttributesProvidersInner is not found in the empty JSON string", PrivateAgentAttributesProvidersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentAttributesProvidersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentAttributesProvidersInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentAttributesProvidersInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + if ((jsonObj.get("version") != null && !jsonObj.get("version").isJsonNull()) && !jsonObj.get("version").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `version` to be a primitive type in the JSON string but got `%s`", jsonObj.get("version").toString())); + } + // validate the required field `health` + PrivateAgentAttributesProvidersInnerHealth.validateJsonElement(jsonObj.get("health")); + // validate the required field `policy` + PrivateAgentAttributesProvidersInnerPolicy.validateJsonElement(jsonObj.get("policy")); + // ensure the json data is an array + if (!jsonObj.get("capabilities").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `capabilities` to be an array in the JSON string but got `%s`", jsonObj.get("capabilities").toString())); + } + + JsonArray jsonArraycapabilities = jsonObj.getAsJsonArray("capabilities"); + // validate the required field `capabilities` (array) + for (int i = 0; i < jsonArraycapabilities.size(); i++) { + PrivateAgentAttributesProvidersInnerCapabilitiesInner.validateJsonElement(jsonArraycapabilities.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentAttributesProvidersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentAttributesProvidersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentAttributesProvidersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentAttributesProvidersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentAttributesProvidersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentAttributesProvidersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentAttributesProvidersInner + * @throws IOException if the JSON string is invalid with respect to PrivateAgentAttributesProvidersInner + */ + public static PrivateAgentAttributesProvidersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentAttributesProvidersInner.class); + } + + /** + * Convert an instance of PrivateAgentAttributesProvidersInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInner.java b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInner.java new file mode 100644 index 00000000..54dc017a --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInner.java @@ -0,0 +1,305 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentAttributesProvidersInnerCapabilitiesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentAttributesProvidersInnerCapabilitiesInner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_VERSION = "version"; + @SerializedName(SERIALIZED_NAME_VERSION) + @jakarta.annotation.Nonnull + private String version; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_SENSITIVITY = "sensitivity"; + @SerializedName(SERIALIZED_NAME_SENSITIVITY) + @jakarta.annotation.Nullable + private String sensitivity; + + public PrivateAgentAttributesProvidersInnerCapabilitiesInner() { + } + + public PrivateAgentAttributesProvidersInnerCapabilitiesInner name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + public PrivateAgentAttributesProvidersInnerCapabilitiesInner version(@jakarta.annotation.Nonnull String version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @jakarta.annotation.Nonnull + public String getVersion() { + return version; + } + + public void setVersion(@jakarta.annotation.Nonnull String version) { + this.version = version; + } + + + public PrivateAgentAttributesProvidersInnerCapabilitiesInner description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public PrivateAgentAttributesProvidersInnerCapabilitiesInner sensitivity(@jakarta.annotation.Nullable String sensitivity) { + this.sensitivity = sensitivity; + return this; + } + + /** + * Get sensitivity + * @return sensitivity + */ + @jakarta.annotation.Nullable + public String getSensitivity() { + return sensitivity; + } + + public void setSensitivity(@jakarta.annotation.Nullable String sensitivity) { + this.sensitivity = sensitivity; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentAttributesProvidersInnerCapabilitiesInner privateAgentAttributesProvidersInnerCapabilitiesInner = (PrivateAgentAttributesProvidersInnerCapabilitiesInner) o; + return Objects.equals(this.name, privateAgentAttributesProvidersInnerCapabilitiesInner.name) && + Objects.equals(this.version, privateAgentAttributesProvidersInnerCapabilitiesInner.version) && + Objects.equals(this.description, privateAgentAttributesProvidersInnerCapabilitiesInner.description) && + Objects.equals(this.sensitivity, privateAgentAttributesProvidersInnerCapabilitiesInner.sensitivity); + } + + @Override + public int hashCode() { + return Objects.hash(name, version, description, sensitivity); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentAttributesProvidersInnerCapabilitiesInner {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" sensitivity: ").append(toIndentedString(sensitivity)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("version"); + openapiFields.add("description"); + openapiFields.add("sensitivity"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("version"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentAttributesProvidersInnerCapabilitiesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentAttributesProvidersInnerCapabilitiesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentAttributesProvidersInnerCapabilitiesInner is not found in the empty JSON string", PrivateAgentAttributesProvidersInnerCapabilitiesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentAttributesProvidersInnerCapabilitiesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentAttributesProvidersInnerCapabilitiesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentAttributesProvidersInnerCapabilitiesInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if (!jsonObj.get("version").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `version` to be a primitive type in the JSON string but got `%s`", jsonObj.get("version").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("sensitivity") != null && !jsonObj.get("sensitivity").isJsonNull()) && !jsonObj.get("sensitivity").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `sensitivity` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sensitivity").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentAttributesProvidersInnerCapabilitiesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentAttributesProvidersInnerCapabilitiesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentAttributesProvidersInnerCapabilitiesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentAttributesProvidersInnerCapabilitiesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentAttributesProvidersInnerCapabilitiesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentAttributesProvidersInnerCapabilitiesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentAttributesProvidersInnerCapabilitiesInner + * @throws IOException if the JSON string is invalid with respect to PrivateAgentAttributesProvidersInnerCapabilitiesInner + */ + public static PrivateAgentAttributesProvidersInnerCapabilitiesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentAttributesProvidersInnerCapabilitiesInner.class); + } + + /** + * Convert an instance of PrivateAgentAttributesProvidersInnerCapabilitiesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealth.java b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealth.java new file mode 100644 index 00000000..0e673f60 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealth.java @@ -0,0 +1,266 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Last reported provider health; may be stale when the agent is offline. Invalid or absent fields are omitted. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentAttributesProvidersInnerHealth { + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nullable + private String status; + + public static final String SERIALIZED_NAME_OBSERVED_AT = "observed_at"; + @SerializedName(SERIALIZED_NAME_OBSERVED_AT) + @jakarta.annotation.Nullable + private String observedAt; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + @jakarta.annotation.Nullable + private String message; + + public PrivateAgentAttributesProvidersInnerHealth() { + } + + public PrivateAgentAttributesProvidersInnerHealth status(@jakarta.annotation.Nullable String status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @jakarta.annotation.Nullable + public String getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nullable String status) { + this.status = status; + } + + + public PrivateAgentAttributesProvidersInnerHealth observedAt(@jakarta.annotation.Nullable String observedAt) { + this.observedAt = observedAt; + return this; + } + + /** + * Get observedAt + * @return observedAt + */ + @jakarta.annotation.Nullable + public String getObservedAt() { + return observedAt; + } + + public void setObservedAt(@jakarta.annotation.Nullable String observedAt) { + this.observedAt = observedAt; + } + + + public PrivateAgentAttributesProvidersInnerHealth message(@jakarta.annotation.Nullable String message) { + this.message = message; + return this; + } + + /** + * Get message + * @return message + */ + @jakarta.annotation.Nullable + public String getMessage() { + return message; + } + + public void setMessage(@jakarta.annotation.Nullable String message) { + this.message = message; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentAttributesProvidersInnerHealth privateAgentAttributesProvidersInnerHealth = (PrivateAgentAttributesProvidersInnerHealth) o; + return Objects.equals(this.status, privateAgentAttributesProvidersInnerHealth.status) && + Objects.equals(this.observedAt, privateAgentAttributesProvidersInnerHealth.observedAt) && + Objects.equals(this.message, privateAgentAttributesProvidersInnerHealth.message); + } + + @Override + public int hashCode() { + return Objects.hash(status, observedAt, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentAttributesProvidersInnerHealth {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" observedAt: ").append(toIndentedString(observedAt)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("status"); + openapiFields.add("observed_at"); + openapiFields.add("message"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentAttributesProvidersInnerHealth + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentAttributesProvidersInnerHealth.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentAttributesProvidersInnerHealth is not found in the empty JSON string", PrivateAgentAttributesProvidersInnerHealth.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentAttributesProvidersInnerHealth.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentAttributesProvidersInnerHealth` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + if ((jsonObj.get("observed_at") != null && !jsonObj.get("observed_at").isJsonNull()) && !jsonObj.get("observed_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `observed_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("observed_at").toString())); + } + if ((jsonObj.get("message") != null && !jsonObj.get("message").isJsonNull()) && !jsonObj.get("message").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("message").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentAttributesProvidersInnerHealth.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentAttributesProvidersInnerHealth' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentAttributesProvidersInnerHealth.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentAttributesProvidersInnerHealth value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentAttributesProvidersInnerHealth read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentAttributesProvidersInnerHealth given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentAttributesProvidersInnerHealth + * @throws IOException if the JSON string is invalid with respect to PrivateAgentAttributesProvidersInnerHealth + */ + public static PrivateAgentAttributesProvidersInnerHealth fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentAttributesProvidersInnerHealth.class); + } + + /** + * Convert an instance of PrivateAgentAttributesProvidersInnerHealth to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicy.java b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicy.java new file mode 100644 index 00000000..6e05c8d9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicy.java @@ -0,0 +1,1594 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Reported local policy, not credentials or provider connection configuration. Fields are provider-type specific: Kubernetes reports namespace scope; search providers report index scope; databases report database/schema scope; HTTP reports method/path/header scope; Kafka reports topic and message-read scope; Redis and Valkey report diagnostic limits; and each provider family normally reports only its applicable numeric limits. Management responses may preserve legacy cross-family fields for backwards compatibility; capability catalog and dispatch use provider-scoped execution metadata. Invalid or absent fields are omitted. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentAttributesProvidersInnerPolicy { + public static final String SERIALIZED_NAME_DIGEST = "digest"; + @SerializedName(SERIALIZED_NAME_DIGEST) + @jakarta.annotation.Nullable + private String digest; + + public static final String SERIALIZED_NAME_CLUSTER_SCOPED = "cluster_scoped"; + @SerializedName(SERIALIZED_NAME_CLUSTER_SCOPED) + @jakarta.annotation.Nullable + private Boolean clusterScoped; + + public static final String SERIALIZED_NAME_POD_LOGS = "pod_logs"; + @SerializedName(SERIALIZED_NAME_POD_LOGS) + @jakarta.annotation.Nullable + private Boolean podLogs; + + public static final String SERIALIZED_NAME_MAXIMUM_CONCURRENCY = "maximum_concurrency"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_CONCURRENCY) + @jakarta.annotation.Nullable + private Integer maximumConcurrency; + + public static final String SERIALIZED_NAME_MAXIMUM_ATTRIBUTE_VALUES = "maximum_attribute_values"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_ATTRIBUTE_VALUES) + @jakarta.annotation.Nullable + private Integer maximumAttributeValues; + + public static final String SERIALIZED_NAME_MAXIMUM_DOCUMENTS = "maximum_documents"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_DOCUMENTS) + @jakarta.annotation.Nullable + private Integer maximumDocuments; + + public static final String SERIALIZED_NAME_MAXIMUM_ENTRIES = "maximum_entries"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_ENTRIES) + @jakarta.annotation.Nullable + private Integer maximumEntries; + + public static final String SERIALIZED_NAME_MAXIMUM_EXEMPLARS = "maximum_exemplars"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_EXEMPLARS) + @jakarta.annotation.Nullable + private Integer maximumExemplars; + + public static final String SERIALIZED_NAME_MAXIMUM_INDICES = "maximum_indices"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_INDICES) + @jakarta.annotation.Nullable + private Integer maximumIndices; + + public static final String SERIALIZED_NAME_MAXIMUM_LABEL_VALUES = "maximum_label_values"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_LABEL_VALUES) + @jakarta.annotation.Nullable + private Integer maximumLabelValues; + + public static final String SERIALIZED_NAME_MAXIMUM_NODES = "maximum_nodes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_NODES) + @jakarta.annotation.Nullable + private Integer maximumNodes; + + public static final String SERIALIZED_NAME_MAXIMUM_PATTERN_POINTS = "maximum_pattern_points"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_PATTERN_POINTS) + @jakarta.annotation.Nullable + private Integer maximumPatternPoints; + + public static final String SERIALIZED_NAME_MAXIMUM_POINTS_PER_SERIES = "maximum_points_per_series"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_POINTS_PER_SERIES) + @jakarta.annotation.Nullable + private Integer maximumPointsPerSeries; + + public static final String SERIALIZED_NAME_MAXIMUM_PROFILE_TYPES = "maximum_profile_types"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_PROFILE_TYPES) + @jakarta.annotation.Nullable + private Integer maximumProfileTypes; + + public static final String SERIALIZED_NAME_MAXIMUM_QUERY_BYTES = "maximum_query_bytes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_QUERY_BYTES) + @jakarta.annotation.Nullable + private Integer maximumQueryBytes; + + public static final String SERIALIZED_NAME_MAXIMUM_REQUEST_BYTES = "maximum_request_bytes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_REQUEST_BYTES) + @jakarta.annotation.Nullable + private Integer maximumRequestBytes; + + public static final String SERIALIZED_NAME_MAXIMUM_RESPONSE_BYTES = "maximum_response_bytes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_RESPONSE_BYTES) + @jakarta.annotation.Nullable + private Integer maximumResponseBytes; + + public static final String SERIALIZED_NAME_MAXIMUM_RANGE_SECONDS = "maximum_range_seconds"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_RANGE_SECONDS) + @jakarta.annotation.Nullable + private Integer maximumRangeSeconds; + + public static final String SERIALIZED_NAME_MAXIMUM_ROWS = "maximum_rows"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_ROWS) + @jakarta.annotation.Nullable + private Integer maximumRows; + + public static final String SERIALIZED_NAME_MAXIMUM_RESULT_BYTES = "maximum_result_bytes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_RESULT_BYTES) + @jakarta.annotation.Nullable + private Integer maximumResultBytes; + + public static final String SERIALIZED_NAME_MAXIMUM_ITEMS = "maximum_items"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_ITEMS) + @jakarta.annotation.Nullable + private Integer maximumItems; + + public static final String SERIALIZED_NAME_MAXIMUM_MESSAGES = "maximum_messages"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_MESSAGES) + @jakarta.annotation.Nullable + private Integer maximumMessages; + + public static final String SERIALIZED_NAME_MAXIMUM_MESSAGE_BYTES = "maximum_message_bytes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_MESSAGE_BYTES) + @jakarta.annotation.Nullable + private Integer maximumMessageBytes; + + public static final String SERIALIZED_NAME_MAXIMUM_SCAN_RECORDS = "maximum_scan_records"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_SCAN_RECORDS) + @jakarta.annotation.Nullable + private Integer maximumScanRecords; + + public static final String SERIALIZED_NAME_MAXIMUM_SCAN_BYTES = "maximum_scan_bytes"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_SCAN_BYTES) + @jakarta.annotation.Nullable + private Integer maximumScanBytes; + + public static final String SERIALIZED_NAME_MAXIMUM_SERIES = "maximum_series"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_SERIES) + @jakarta.annotation.Nullable + private Integer maximumSeries; + + public static final String SERIALIZED_NAME_MAXIMUM_SHARDS = "maximum_shards"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_SHARDS) + @jakarta.annotation.Nullable + private Integer maximumShards; + + public static final String SERIALIZED_NAME_MAXIMUM_SLOWLOG_ENTRIES = "maximum_slowlog_entries"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_SLOWLOG_ENTRIES) + @jakarta.annotation.Nullable + private Integer maximumSlowlogEntries; + + public static final String SERIALIZED_NAME_MAXIMUM_SPANS_PER_SPAN_SET = "maximum_spans_per_span_set"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_SPANS_PER_SPAN_SET) + @jakarta.annotation.Nullable + private Integer maximumSpansPerSpanSet; + + public static final String SERIALIZED_NAME_MAXIMUM_STALE_VALUES = "maximum_stale_values"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_STALE_VALUES) + @jakarta.annotation.Nullable + private Integer maximumStaleValues; + + public static final String SERIALIZED_NAME_MAXIMUM_TIMEOUT_SECONDS = "maximum_timeout_seconds"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_TIMEOUT_SECONDS) + @jakarta.annotation.Nullable + private Integer maximumTimeoutSeconds; + + public static final String SERIALIZED_NAME_MAXIMUM_TRACES = "maximum_traces"; + @SerializedName(SERIALIZED_NAME_MAXIMUM_TRACES) + @jakarta.annotation.Nullable + private Integer maximumTraces; + + public static final String SERIALIZED_NAME_STUCK_TRANSACTION_SECONDS = "stuck_transaction_seconds"; + @SerializedName(SERIALIZED_NAME_STUCK_TRANSACTION_SECONDS) + @jakarta.annotation.Nullable + private Integer stuckTransactionSeconds; + + public static final String SERIALIZED_NAME_NAMESPACES = "namespaces"; + @SerializedName(SERIALIZED_NAME_NAMESPACES) + @jakarta.annotation.Nullable + private List namespaces = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALLOWED_INDICES = "allowed_indices"; + @SerializedName(SERIALIZED_NAME_ALLOWED_INDICES) + @jakarta.annotation.Nullable + private List allowedIndices = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TIMESTAMP_FIELD = "timestamp_field"; + @SerializedName(SERIALIZED_NAME_TIMESTAMP_FIELD) + @jakarta.annotation.Nullable + private String timestampField; + + public static final String SERIALIZED_NAME_DATABASE = "database"; + @SerializedName(SERIALIZED_NAME_DATABASE) + @jakarta.annotation.Nullable + private String database; + + public static final String SERIALIZED_NAME_ALLOWED_SCHEMAS = "allowed_schemas"; + @SerializedName(SERIALIZED_NAME_ALLOWED_SCHEMAS) + @jakarta.annotation.Nullable + private List allowedSchemas = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALLOWED_METHODS = "allowed_methods"; + @SerializedName(SERIALIZED_NAME_ALLOWED_METHODS) + @jakarta.annotation.Nullable + private List allowedMethods = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALLOWED_PATH_PREFIXES = "allowed_path_prefixes"; + @SerializedName(SERIALIZED_NAME_ALLOWED_PATH_PREFIXES) + @jakarta.annotation.Nullable + private List allowedPathPrefixes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALLOWED_REQUEST_HEADERS = "allowed_request_headers"; + @SerializedName(SERIALIZED_NAME_ALLOWED_REQUEST_HEADERS) + @jakarta.annotation.Nullable + private List allowedRequestHeaders = new ArrayList<>(); + + public static final String SERIALIZED_NAME_EXPOSED_RESPONSE_HEADERS = "exposed_response_headers"; + @SerializedName(SERIALIZED_NAME_EXPOSED_RESPONSE_HEADERS) + @jakarta.annotation.Nullable + private List exposedResponseHeaders = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALLOWED_TOPICS = "allowed_topics"; + @SerializedName(SERIALIZED_NAME_ALLOWED_TOPICS) + @jakarta.annotation.Nullable + private List allowedTopics = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DENIED_TOPICS = "denied_topics"; + @SerializedName(SERIALIZED_NAME_DENIED_TOPICS) + @jakarta.annotation.Nullable + private List deniedTopics = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INCLUDE_INTERNAL_TOPICS = "include_internal_topics"; + @SerializedName(SERIALIZED_NAME_INCLUDE_INTERNAL_TOPICS) + @jakarta.annotation.Nullable + private Boolean includeInternalTopics; + + public static final String SERIALIZED_NAME_ALLOW_MESSAGE_READS = "allow_message_reads"; + @SerializedName(SERIALIZED_NAME_ALLOW_MESSAGE_READS) + @jakarta.annotation.Nullable + private Boolean allowMessageReads; + + public static final String SERIALIZED_NAME_INCLUDE_MESSAGE_VALUES = "include_message_values"; + @SerializedName(SERIALIZED_NAME_INCLUDE_MESSAGE_VALUES) + @jakarta.annotation.Nullable + private Boolean includeMessageValues; + + public PrivateAgentAttributesProvidersInnerPolicy() { + } + + public PrivateAgentAttributesProvidersInnerPolicy digest(@jakarta.annotation.Nullable String digest) { + this.digest = digest; + return this; + } + + /** + * Get digest + * @return digest + */ + @jakarta.annotation.Nullable + public String getDigest() { + return digest; + } + + public void setDigest(@jakarta.annotation.Nullable String digest) { + this.digest = digest; + } + + + public PrivateAgentAttributesProvidersInnerPolicy clusterScoped(@jakarta.annotation.Nullable Boolean clusterScoped) { + this.clusterScoped = clusterScoped; + return this; + } + + /** + * Get clusterScoped + * @return clusterScoped + */ + @jakarta.annotation.Nullable + public Boolean getClusterScoped() { + return clusterScoped; + } + + public void setClusterScoped(@jakarta.annotation.Nullable Boolean clusterScoped) { + this.clusterScoped = clusterScoped; + } + + + public PrivateAgentAttributesProvidersInnerPolicy podLogs(@jakarta.annotation.Nullable Boolean podLogs) { + this.podLogs = podLogs; + return this; + } + + /** + * Get podLogs + * @return podLogs + */ + @jakarta.annotation.Nullable + public Boolean getPodLogs() { + return podLogs; + } + + public void setPodLogs(@jakarta.annotation.Nullable Boolean podLogs) { + this.podLogs = podLogs; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumConcurrency(@jakarta.annotation.Nullable Integer maximumConcurrency) { + this.maximumConcurrency = maximumConcurrency; + return this; + } + + /** + * Get maximumConcurrency + * minimum: 1 + * @return maximumConcurrency + */ + @jakarta.annotation.Nullable + public Integer getMaximumConcurrency() { + return maximumConcurrency; + } + + public void setMaximumConcurrency(@jakarta.annotation.Nullable Integer maximumConcurrency) { + this.maximumConcurrency = maximumConcurrency; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumAttributeValues(@jakarta.annotation.Nullable Integer maximumAttributeValues) { + this.maximumAttributeValues = maximumAttributeValues; + return this; + } + + /** + * Get maximumAttributeValues + * minimum: 1 + * @return maximumAttributeValues + */ + @jakarta.annotation.Nullable + public Integer getMaximumAttributeValues() { + return maximumAttributeValues; + } + + public void setMaximumAttributeValues(@jakarta.annotation.Nullable Integer maximumAttributeValues) { + this.maximumAttributeValues = maximumAttributeValues; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumDocuments(@jakarta.annotation.Nullable Integer maximumDocuments) { + this.maximumDocuments = maximumDocuments; + return this; + } + + /** + * Get maximumDocuments + * minimum: 1 + * @return maximumDocuments + */ + @jakarta.annotation.Nullable + public Integer getMaximumDocuments() { + return maximumDocuments; + } + + public void setMaximumDocuments(@jakarta.annotation.Nullable Integer maximumDocuments) { + this.maximumDocuments = maximumDocuments; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumEntries(@jakarta.annotation.Nullable Integer maximumEntries) { + this.maximumEntries = maximumEntries; + return this; + } + + /** + * Get maximumEntries + * minimum: 1 + * @return maximumEntries + */ + @jakarta.annotation.Nullable + public Integer getMaximumEntries() { + return maximumEntries; + } + + public void setMaximumEntries(@jakarta.annotation.Nullable Integer maximumEntries) { + this.maximumEntries = maximumEntries; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumExemplars(@jakarta.annotation.Nullable Integer maximumExemplars) { + this.maximumExemplars = maximumExemplars; + return this; + } + + /** + * Get maximumExemplars + * minimum: 1 + * @return maximumExemplars + */ + @jakarta.annotation.Nullable + public Integer getMaximumExemplars() { + return maximumExemplars; + } + + public void setMaximumExemplars(@jakarta.annotation.Nullable Integer maximumExemplars) { + this.maximumExemplars = maximumExemplars; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumIndices(@jakarta.annotation.Nullable Integer maximumIndices) { + this.maximumIndices = maximumIndices; + return this; + } + + /** + * Get maximumIndices + * minimum: 1 + * @return maximumIndices + */ + @jakarta.annotation.Nullable + public Integer getMaximumIndices() { + return maximumIndices; + } + + public void setMaximumIndices(@jakarta.annotation.Nullable Integer maximumIndices) { + this.maximumIndices = maximumIndices; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumLabelValues(@jakarta.annotation.Nullable Integer maximumLabelValues) { + this.maximumLabelValues = maximumLabelValues; + return this; + } + + /** + * Get maximumLabelValues + * minimum: 1 + * @return maximumLabelValues + */ + @jakarta.annotation.Nullable + public Integer getMaximumLabelValues() { + return maximumLabelValues; + } + + public void setMaximumLabelValues(@jakarta.annotation.Nullable Integer maximumLabelValues) { + this.maximumLabelValues = maximumLabelValues; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumNodes(@jakarta.annotation.Nullable Integer maximumNodes) { + this.maximumNodes = maximumNodes; + return this; + } + + /** + * Get maximumNodes + * minimum: 1 + * @return maximumNodes + */ + @jakarta.annotation.Nullable + public Integer getMaximumNodes() { + return maximumNodes; + } + + public void setMaximumNodes(@jakarta.annotation.Nullable Integer maximumNodes) { + this.maximumNodes = maximumNodes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumPatternPoints(@jakarta.annotation.Nullable Integer maximumPatternPoints) { + this.maximumPatternPoints = maximumPatternPoints; + return this; + } + + /** + * Get maximumPatternPoints + * minimum: 1 + * @return maximumPatternPoints + */ + @jakarta.annotation.Nullable + public Integer getMaximumPatternPoints() { + return maximumPatternPoints; + } + + public void setMaximumPatternPoints(@jakarta.annotation.Nullable Integer maximumPatternPoints) { + this.maximumPatternPoints = maximumPatternPoints; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumPointsPerSeries(@jakarta.annotation.Nullable Integer maximumPointsPerSeries) { + this.maximumPointsPerSeries = maximumPointsPerSeries; + return this; + } + + /** + * Get maximumPointsPerSeries + * minimum: 1 + * @return maximumPointsPerSeries + */ + @jakarta.annotation.Nullable + public Integer getMaximumPointsPerSeries() { + return maximumPointsPerSeries; + } + + public void setMaximumPointsPerSeries(@jakarta.annotation.Nullable Integer maximumPointsPerSeries) { + this.maximumPointsPerSeries = maximumPointsPerSeries; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumProfileTypes(@jakarta.annotation.Nullable Integer maximumProfileTypes) { + this.maximumProfileTypes = maximumProfileTypes; + return this; + } + + /** + * Get maximumProfileTypes + * minimum: 1 + * @return maximumProfileTypes + */ + @jakarta.annotation.Nullable + public Integer getMaximumProfileTypes() { + return maximumProfileTypes; + } + + public void setMaximumProfileTypes(@jakarta.annotation.Nullable Integer maximumProfileTypes) { + this.maximumProfileTypes = maximumProfileTypes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumQueryBytes(@jakarta.annotation.Nullable Integer maximumQueryBytes) { + this.maximumQueryBytes = maximumQueryBytes; + return this; + } + + /** + * Get maximumQueryBytes + * minimum: 1 + * @return maximumQueryBytes + */ + @jakarta.annotation.Nullable + public Integer getMaximumQueryBytes() { + return maximumQueryBytes; + } + + public void setMaximumQueryBytes(@jakarta.annotation.Nullable Integer maximumQueryBytes) { + this.maximumQueryBytes = maximumQueryBytes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumRequestBytes(@jakarta.annotation.Nullable Integer maximumRequestBytes) { + this.maximumRequestBytes = maximumRequestBytes; + return this; + } + + /** + * Get maximumRequestBytes + * minimum: 1 + * @return maximumRequestBytes + */ + @jakarta.annotation.Nullable + public Integer getMaximumRequestBytes() { + return maximumRequestBytes; + } + + public void setMaximumRequestBytes(@jakarta.annotation.Nullable Integer maximumRequestBytes) { + this.maximumRequestBytes = maximumRequestBytes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumResponseBytes(@jakarta.annotation.Nullable Integer maximumResponseBytes) { + this.maximumResponseBytes = maximumResponseBytes; + return this; + } + + /** + * Get maximumResponseBytes + * minimum: 1 + * @return maximumResponseBytes + */ + @jakarta.annotation.Nullable + public Integer getMaximumResponseBytes() { + return maximumResponseBytes; + } + + public void setMaximumResponseBytes(@jakarta.annotation.Nullable Integer maximumResponseBytes) { + this.maximumResponseBytes = maximumResponseBytes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumRangeSeconds(@jakarta.annotation.Nullable Integer maximumRangeSeconds) { + this.maximumRangeSeconds = maximumRangeSeconds; + return this; + } + + /** + * Get maximumRangeSeconds + * minimum: 1 + * @return maximumRangeSeconds + */ + @jakarta.annotation.Nullable + public Integer getMaximumRangeSeconds() { + return maximumRangeSeconds; + } + + public void setMaximumRangeSeconds(@jakarta.annotation.Nullable Integer maximumRangeSeconds) { + this.maximumRangeSeconds = maximumRangeSeconds; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumRows(@jakarta.annotation.Nullable Integer maximumRows) { + this.maximumRows = maximumRows; + return this; + } + + /** + * Get maximumRows + * minimum: 1 + * @return maximumRows + */ + @jakarta.annotation.Nullable + public Integer getMaximumRows() { + return maximumRows; + } + + public void setMaximumRows(@jakarta.annotation.Nullable Integer maximumRows) { + this.maximumRows = maximumRows; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumResultBytes(@jakarta.annotation.Nullable Integer maximumResultBytes) { + this.maximumResultBytes = maximumResultBytes; + return this; + } + + /** + * Get maximumResultBytes + * minimum: 1 + * @return maximumResultBytes + */ + @jakarta.annotation.Nullable + public Integer getMaximumResultBytes() { + return maximumResultBytes; + } + + public void setMaximumResultBytes(@jakarta.annotation.Nullable Integer maximumResultBytes) { + this.maximumResultBytes = maximumResultBytes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumItems(@jakarta.annotation.Nullable Integer maximumItems) { + this.maximumItems = maximumItems; + return this; + } + + /** + * Get maximumItems + * minimum: 1 + * @return maximumItems + */ + @jakarta.annotation.Nullable + public Integer getMaximumItems() { + return maximumItems; + } + + public void setMaximumItems(@jakarta.annotation.Nullable Integer maximumItems) { + this.maximumItems = maximumItems; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumMessages(@jakarta.annotation.Nullable Integer maximumMessages) { + this.maximumMessages = maximumMessages; + return this; + } + + /** + * Get maximumMessages + * minimum: 1 + * @return maximumMessages + */ + @jakarta.annotation.Nullable + public Integer getMaximumMessages() { + return maximumMessages; + } + + public void setMaximumMessages(@jakarta.annotation.Nullable Integer maximumMessages) { + this.maximumMessages = maximumMessages; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumMessageBytes(@jakarta.annotation.Nullable Integer maximumMessageBytes) { + this.maximumMessageBytes = maximumMessageBytes; + return this; + } + + /** + * Get maximumMessageBytes + * minimum: 1 + * @return maximumMessageBytes + */ + @jakarta.annotation.Nullable + public Integer getMaximumMessageBytes() { + return maximumMessageBytes; + } + + public void setMaximumMessageBytes(@jakarta.annotation.Nullable Integer maximumMessageBytes) { + this.maximumMessageBytes = maximumMessageBytes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumScanRecords(@jakarta.annotation.Nullable Integer maximumScanRecords) { + this.maximumScanRecords = maximumScanRecords; + return this; + } + + /** + * Get maximumScanRecords + * minimum: 1 + * @return maximumScanRecords + */ + @jakarta.annotation.Nullable + public Integer getMaximumScanRecords() { + return maximumScanRecords; + } + + public void setMaximumScanRecords(@jakarta.annotation.Nullable Integer maximumScanRecords) { + this.maximumScanRecords = maximumScanRecords; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumScanBytes(@jakarta.annotation.Nullable Integer maximumScanBytes) { + this.maximumScanBytes = maximumScanBytes; + return this; + } + + /** + * Get maximumScanBytes + * minimum: 1 + * @return maximumScanBytes + */ + @jakarta.annotation.Nullable + public Integer getMaximumScanBytes() { + return maximumScanBytes; + } + + public void setMaximumScanBytes(@jakarta.annotation.Nullable Integer maximumScanBytes) { + this.maximumScanBytes = maximumScanBytes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumSeries(@jakarta.annotation.Nullable Integer maximumSeries) { + this.maximumSeries = maximumSeries; + return this; + } + + /** + * Get maximumSeries + * minimum: 1 + * @return maximumSeries + */ + @jakarta.annotation.Nullable + public Integer getMaximumSeries() { + return maximumSeries; + } + + public void setMaximumSeries(@jakarta.annotation.Nullable Integer maximumSeries) { + this.maximumSeries = maximumSeries; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumShards(@jakarta.annotation.Nullable Integer maximumShards) { + this.maximumShards = maximumShards; + return this; + } + + /** + * Get maximumShards + * minimum: 1 + * @return maximumShards + */ + @jakarta.annotation.Nullable + public Integer getMaximumShards() { + return maximumShards; + } + + public void setMaximumShards(@jakarta.annotation.Nullable Integer maximumShards) { + this.maximumShards = maximumShards; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumSlowlogEntries(@jakarta.annotation.Nullable Integer maximumSlowlogEntries) { + this.maximumSlowlogEntries = maximumSlowlogEntries; + return this; + } + + /** + * Get maximumSlowlogEntries + * minimum: 1 + * @return maximumSlowlogEntries + */ + @jakarta.annotation.Nullable + public Integer getMaximumSlowlogEntries() { + return maximumSlowlogEntries; + } + + public void setMaximumSlowlogEntries(@jakarta.annotation.Nullable Integer maximumSlowlogEntries) { + this.maximumSlowlogEntries = maximumSlowlogEntries; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumSpansPerSpanSet(@jakarta.annotation.Nullable Integer maximumSpansPerSpanSet) { + this.maximumSpansPerSpanSet = maximumSpansPerSpanSet; + return this; + } + + /** + * Get maximumSpansPerSpanSet + * minimum: 1 + * @return maximumSpansPerSpanSet + */ + @jakarta.annotation.Nullable + public Integer getMaximumSpansPerSpanSet() { + return maximumSpansPerSpanSet; + } + + public void setMaximumSpansPerSpanSet(@jakarta.annotation.Nullable Integer maximumSpansPerSpanSet) { + this.maximumSpansPerSpanSet = maximumSpansPerSpanSet; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumStaleValues(@jakarta.annotation.Nullable Integer maximumStaleValues) { + this.maximumStaleValues = maximumStaleValues; + return this; + } + + /** + * Get maximumStaleValues + * minimum: 1 + * @return maximumStaleValues + */ + @jakarta.annotation.Nullable + public Integer getMaximumStaleValues() { + return maximumStaleValues; + } + + public void setMaximumStaleValues(@jakarta.annotation.Nullable Integer maximumStaleValues) { + this.maximumStaleValues = maximumStaleValues; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumTimeoutSeconds(@jakarta.annotation.Nullable Integer maximumTimeoutSeconds) { + this.maximumTimeoutSeconds = maximumTimeoutSeconds; + return this; + } + + /** + * Get maximumTimeoutSeconds + * minimum: 1 + * @return maximumTimeoutSeconds + */ + @jakarta.annotation.Nullable + public Integer getMaximumTimeoutSeconds() { + return maximumTimeoutSeconds; + } + + public void setMaximumTimeoutSeconds(@jakarta.annotation.Nullable Integer maximumTimeoutSeconds) { + this.maximumTimeoutSeconds = maximumTimeoutSeconds; + } + + + public PrivateAgentAttributesProvidersInnerPolicy maximumTraces(@jakarta.annotation.Nullable Integer maximumTraces) { + this.maximumTraces = maximumTraces; + return this; + } + + /** + * Get maximumTraces + * minimum: 1 + * @return maximumTraces + */ + @jakarta.annotation.Nullable + public Integer getMaximumTraces() { + return maximumTraces; + } + + public void setMaximumTraces(@jakarta.annotation.Nullable Integer maximumTraces) { + this.maximumTraces = maximumTraces; + } + + + public PrivateAgentAttributesProvidersInnerPolicy stuckTransactionSeconds(@jakarta.annotation.Nullable Integer stuckTransactionSeconds) { + this.stuckTransactionSeconds = stuckTransactionSeconds; + return this; + } + + /** + * Get stuckTransactionSeconds + * minimum: 1 + * @return stuckTransactionSeconds + */ + @jakarta.annotation.Nullable + public Integer getStuckTransactionSeconds() { + return stuckTransactionSeconds; + } + + public void setStuckTransactionSeconds(@jakarta.annotation.Nullable Integer stuckTransactionSeconds) { + this.stuckTransactionSeconds = stuckTransactionSeconds; + } + + + public PrivateAgentAttributesProvidersInnerPolicy namespaces(@jakarta.annotation.Nullable List namespaces) { + this.namespaces = namespaces; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addNamespacesItem(String namespacesItem) { + if (this.namespaces == null) { + this.namespaces = new ArrayList<>(); + } + this.namespaces.add(namespacesItem); + return this; + } + + /** + * Get namespaces + * @return namespaces + */ + @jakarta.annotation.Nullable + public List getNamespaces() { + return namespaces; + } + + public void setNamespaces(@jakarta.annotation.Nullable List namespaces) { + this.namespaces = namespaces; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowedIndices(@jakarta.annotation.Nullable List allowedIndices) { + this.allowedIndices = allowedIndices; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addAllowedIndicesItem(String allowedIndicesItem) { + if (this.allowedIndices == null) { + this.allowedIndices = new ArrayList<>(); + } + this.allowedIndices.add(allowedIndicesItem); + return this; + } + + /** + * Get allowedIndices + * @return allowedIndices + */ + @jakarta.annotation.Nullable + public List getAllowedIndices() { + return allowedIndices; + } + + public void setAllowedIndices(@jakarta.annotation.Nullable List allowedIndices) { + this.allowedIndices = allowedIndices; + } + + + public PrivateAgentAttributesProvidersInnerPolicy timestampField(@jakarta.annotation.Nullable String timestampField) { + this.timestampField = timestampField; + return this; + } + + /** + * Get timestampField + * @return timestampField + */ + @jakarta.annotation.Nullable + public String getTimestampField() { + return timestampField; + } + + public void setTimestampField(@jakarta.annotation.Nullable String timestampField) { + this.timestampField = timestampField; + } + + + public PrivateAgentAttributesProvidersInnerPolicy database(@jakarta.annotation.Nullable String database) { + this.database = database; + return this; + } + + /** + * Get database + * @return database + */ + @jakarta.annotation.Nullable + public String getDatabase() { + return database; + } + + public void setDatabase(@jakarta.annotation.Nullable String database) { + this.database = database; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowedSchemas(@jakarta.annotation.Nullable List allowedSchemas) { + this.allowedSchemas = allowedSchemas; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addAllowedSchemasItem(String allowedSchemasItem) { + if (this.allowedSchemas == null) { + this.allowedSchemas = new ArrayList<>(); + } + this.allowedSchemas.add(allowedSchemasItem); + return this; + } + + /** + * Get allowedSchemas + * @return allowedSchemas + */ + @jakarta.annotation.Nullable + public List getAllowedSchemas() { + return allowedSchemas; + } + + public void setAllowedSchemas(@jakarta.annotation.Nullable List allowedSchemas) { + this.allowedSchemas = allowedSchemas; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowedMethods(@jakarta.annotation.Nullable List allowedMethods) { + this.allowedMethods = allowedMethods; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addAllowedMethodsItem(String allowedMethodsItem) { + if (this.allowedMethods == null) { + this.allowedMethods = new ArrayList<>(); + } + this.allowedMethods.add(allowedMethodsItem); + return this; + } + + /** + * Get allowedMethods + * @return allowedMethods + */ + @jakarta.annotation.Nullable + public List getAllowedMethods() { + return allowedMethods; + } + + public void setAllowedMethods(@jakarta.annotation.Nullable List allowedMethods) { + this.allowedMethods = allowedMethods; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowedPathPrefixes(@jakarta.annotation.Nullable List allowedPathPrefixes) { + this.allowedPathPrefixes = allowedPathPrefixes; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addAllowedPathPrefixesItem(String allowedPathPrefixesItem) { + if (this.allowedPathPrefixes == null) { + this.allowedPathPrefixes = new ArrayList<>(); + } + this.allowedPathPrefixes.add(allowedPathPrefixesItem); + return this; + } + + /** + * Get allowedPathPrefixes + * @return allowedPathPrefixes + */ + @jakarta.annotation.Nullable + public List getAllowedPathPrefixes() { + return allowedPathPrefixes; + } + + public void setAllowedPathPrefixes(@jakarta.annotation.Nullable List allowedPathPrefixes) { + this.allowedPathPrefixes = allowedPathPrefixes; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowedRequestHeaders(@jakarta.annotation.Nullable List allowedRequestHeaders) { + this.allowedRequestHeaders = allowedRequestHeaders; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addAllowedRequestHeadersItem(String allowedRequestHeadersItem) { + if (this.allowedRequestHeaders == null) { + this.allowedRequestHeaders = new ArrayList<>(); + } + this.allowedRequestHeaders.add(allowedRequestHeadersItem); + return this; + } + + /** + * Get allowedRequestHeaders + * @return allowedRequestHeaders + */ + @jakarta.annotation.Nullable + public List getAllowedRequestHeaders() { + return allowedRequestHeaders; + } + + public void setAllowedRequestHeaders(@jakarta.annotation.Nullable List allowedRequestHeaders) { + this.allowedRequestHeaders = allowedRequestHeaders; + } + + + public PrivateAgentAttributesProvidersInnerPolicy exposedResponseHeaders(@jakarta.annotation.Nullable List exposedResponseHeaders) { + this.exposedResponseHeaders = exposedResponseHeaders; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addExposedResponseHeadersItem(String exposedResponseHeadersItem) { + if (this.exposedResponseHeaders == null) { + this.exposedResponseHeaders = new ArrayList<>(); + } + this.exposedResponseHeaders.add(exposedResponseHeadersItem); + return this; + } + + /** + * Get exposedResponseHeaders + * @return exposedResponseHeaders + */ + @jakarta.annotation.Nullable + public List getExposedResponseHeaders() { + return exposedResponseHeaders; + } + + public void setExposedResponseHeaders(@jakarta.annotation.Nullable List exposedResponseHeaders) { + this.exposedResponseHeaders = exposedResponseHeaders; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowedTopics(@jakarta.annotation.Nullable List allowedTopics) { + this.allowedTopics = allowedTopics; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addAllowedTopicsItem(String allowedTopicsItem) { + if (this.allowedTopics == null) { + this.allowedTopics = new ArrayList<>(); + } + this.allowedTopics.add(allowedTopicsItem); + return this; + } + + /** + * Get allowedTopics + * @return allowedTopics + */ + @jakarta.annotation.Nullable + public List getAllowedTopics() { + return allowedTopics; + } + + public void setAllowedTopics(@jakarta.annotation.Nullable List allowedTopics) { + this.allowedTopics = allowedTopics; + } + + + public PrivateAgentAttributesProvidersInnerPolicy deniedTopics(@jakarta.annotation.Nullable List deniedTopics) { + this.deniedTopics = deniedTopics; + return this; + } + + public PrivateAgentAttributesProvidersInnerPolicy addDeniedTopicsItem(String deniedTopicsItem) { + if (this.deniedTopics == null) { + this.deniedTopics = new ArrayList<>(); + } + this.deniedTopics.add(deniedTopicsItem); + return this; + } + + /** + * Get deniedTopics + * @return deniedTopics + */ + @jakarta.annotation.Nullable + public List getDeniedTopics() { + return deniedTopics; + } + + public void setDeniedTopics(@jakarta.annotation.Nullable List deniedTopics) { + this.deniedTopics = deniedTopics; + } + + + public PrivateAgentAttributesProvidersInnerPolicy includeInternalTopics(@jakarta.annotation.Nullable Boolean includeInternalTopics) { + this.includeInternalTopics = includeInternalTopics; + return this; + } + + /** + * Get includeInternalTopics + * @return includeInternalTopics + */ + @jakarta.annotation.Nullable + public Boolean getIncludeInternalTopics() { + return includeInternalTopics; + } + + public void setIncludeInternalTopics(@jakarta.annotation.Nullable Boolean includeInternalTopics) { + this.includeInternalTopics = includeInternalTopics; + } + + + public PrivateAgentAttributesProvidersInnerPolicy allowMessageReads(@jakarta.annotation.Nullable Boolean allowMessageReads) { + this.allowMessageReads = allowMessageReads; + return this; + } + + /** + * Get allowMessageReads + * @return allowMessageReads + */ + @jakarta.annotation.Nullable + public Boolean getAllowMessageReads() { + return allowMessageReads; + } + + public void setAllowMessageReads(@jakarta.annotation.Nullable Boolean allowMessageReads) { + this.allowMessageReads = allowMessageReads; + } + + + public PrivateAgentAttributesProvidersInnerPolicy includeMessageValues(@jakarta.annotation.Nullable Boolean includeMessageValues) { + this.includeMessageValues = includeMessageValues; + return this; + } + + /** + * Get includeMessageValues + * @return includeMessageValues + */ + @jakarta.annotation.Nullable + public Boolean getIncludeMessageValues() { + return includeMessageValues; + } + + public void setIncludeMessageValues(@jakarta.annotation.Nullable Boolean includeMessageValues) { + this.includeMessageValues = includeMessageValues; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentAttributesProvidersInnerPolicy privateAgentAttributesProvidersInnerPolicy = (PrivateAgentAttributesProvidersInnerPolicy) o; + return Objects.equals(this.digest, privateAgentAttributesProvidersInnerPolicy.digest) && + Objects.equals(this.clusterScoped, privateAgentAttributesProvidersInnerPolicy.clusterScoped) && + Objects.equals(this.podLogs, privateAgentAttributesProvidersInnerPolicy.podLogs) && + Objects.equals(this.maximumConcurrency, privateAgentAttributesProvidersInnerPolicy.maximumConcurrency) && + Objects.equals(this.maximumAttributeValues, privateAgentAttributesProvidersInnerPolicy.maximumAttributeValues) && + Objects.equals(this.maximumDocuments, privateAgentAttributesProvidersInnerPolicy.maximumDocuments) && + Objects.equals(this.maximumEntries, privateAgentAttributesProvidersInnerPolicy.maximumEntries) && + Objects.equals(this.maximumExemplars, privateAgentAttributesProvidersInnerPolicy.maximumExemplars) && + Objects.equals(this.maximumIndices, privateAgentAttributesProvidersInnerPolicy.maximumIndices) && + Objects.equals(this.maximumLabelValues, privateAgentAttributesProvidersInnerPolicy.maximumLabelValues) && + Objects.equals(this.maximumNodes, privateAgentAttributesProvidersInnerPolicy.maximumNodes) && + Objects.equals(this.maximumPatternPoints, privateAgentAttributesProvidersInnerPolicy.maximumPatternPoints) && + Objects.equals(this.maximumPointsPerSeries, privateAgentAttributesProvidersInnerPolicy.maximumPointsPerSeries) && + Objects.equals(this.maximumProfileTypes, privateAgentAttributesProvidersInnerPolicy.maximumProfileTypes) && + Objects.equals(this.maximumQueryBytes, privateAgentAttributesProvidersInnerPolicy.maximumQueryBytes) && + Objects.equals(this.maximumRequestBytes, privateAgentAttributesProvidersInnerPolicy.maximumRequestBytes) && + Objects.equals(this.maximumResponseBytes, privateAgentAttributesProvidersInnerPolicy.maximumResponseBytes) && + Objects.equals(this.maximumRangeSeconds, privateAgentAttributesProvidersInnerPolicy.maximumRangeSeconds) && + Objects.equals(this.maximumRows, privateAgentAttributesProvidersInnerPolicy.maximumRows) && + Objects.equals(this.maximumResultBytes, privateAgentAttributesProvidersInnerPolicy.maximumResultBytes) && + Objects.equals(this.maximumItems, privateAgentAttributesProvidersInnerPolicy.maximumItems) && + Objects.equals(this.maximumMessages, privateAgentAttributesProvidersInnerPolicy.maximumMessages) && + Objects.equals(this.maximumMessageBytes, privateAgentAttributesProvidersInnerPolicy.maximumMessageBytes) && + Objects.equals(this.maximumScanRecords, privateAgentAttributesProvidersInnerPolicy.maximumScanRecords) && + Objects.equals(this.maximumScanBytes, privateAgentAttributesProvidersInnerPolicy.maximumScanBytes) && + Objects.equals(this.maximumSeries, privateAgentAttributesProvidersInnerPolicy.maximumSeries) && + Objects.equals(this.maximumShards, privateAgentAttributesProvidersInnerPolicy.maximumShards) && + Objects.equals(this.maximumSlowlogEntries, privateAgentAttributesProvidersInnerPolicy.maximumSlowlogEntries) && + Objects.equals(this.maximumSpansPerSpanSet, privateAgentAttributesProvidersInnerPolicy.maximumSpansPerSpanSet) && + Objects.equals(this.maximumStaleValues, privateAgentAttributesProvidersInnerPolicy.maximumStaleValues) && + Objects.equals(this.maximumTimeoutSeconds, privateAgentAttributesProvidersInnerPolicy.maximumTimeoutSeconds) && + Objects.equals(this.maximumTraces, privateAgentAttributesProvidersInnerPolicy.maximumTraces) && + Objects.equals(this.stuckTransactionSeconds, privateAgentAttributesProvidersInnerPolicy.stuckTransactionSeconds) && + Objects.equals(this.namespaces, privateAgentAttributesProvidersInnerPolicy.namespaces) && + Objects.equals(this.allowedIndices, privateAgentAttributesProvidersInnerPolicy.allowedIndices) && + Objects.equals(this.timestampField, privateAgentAttributesProvidersInnerPolicy.timestampField) && + Objects.equals(this.database, privateAgentAttributesProvidersInnerPolicy.database) && + Objects.equals(this.allowedSchemas, privateAgentAttributesProvidersInnerPolicy.allowedSchemas) && + Objects.equals(this.allowedMethods, privateAgentAttributesProvidersInnerPolicy.allowedMethods) && + Objects.equals(this.allowedPathPrefixes, privateAgentAttributesProvidersInnerPolicy.allowedPathPrefixes) && + Objects.equals(this.allowedRequestHeaders, privateAgentAttributesProvidersInnerPolicy.allowedRequestHeaders) && + Objects.equals(this.exposedResponseHeaders, privateAgentAttributesProvidersInnerPolicy.exposedResponseHeaders) && + Objects.equals(this.allowedTopics, privateAgentAttributesProvidersInnerPolicy.allowedTopics) && + Objects.equals(this.deniedTopics, privateAgentAttributesProvidersInnerPolicy.deniedTopics) && + Objects.equals(this.includeInternalTopics, privateAgentAttributesProvidersInnerPolicy.includeInternalTopics) && + Objects.equals(this.allowMessageReads, privateAgentAttributesProvidersInnerPolicy.allowMessageReads) && + Objects.equals(this.includeMessageValues, privateAgentAttributesProvidersInnerPolicy.includeMessageValues); + } + + @Override + public int hashCode() { + return Objects.hash(digest, clusterScoped, podLogs, maximumConcurrency, maximumAttributeValues, maximumDocuments, maximumEntries, maximumExemplars, maximumIndices, maximumLabelValues, maximumNodes, maximumPatternPoints, maximumPointsPerSeries, maximumProfileTypes, maximumQueryBytes, maximumRequestBytes, maximumResponseBytes, maximumRangeSeconds, maximumRows, maximumResultBytes, maximumItems, maximumMessages, maximumMessageBytes, maximumScanRecords, maximumScanBytes, maximumSeries, maximumShards, maximumSlowlogEntries, maximumSpansPerSpanSet, maximumStaleValues, maximumTimeoutSeconds, maximumTraces, stuckTransactionSeconds, namespaces, allowedIndices, timestampField, database, allowedSchemas, allowedMethods, allowedPathPrefixes, allowedRequestHeaders, exposedResponseHeaders, allowedTopics, deniedTopics, includeInternalTopics, allowMessageReads, includeMessageValues); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentAttributesProvidersInnerPolicy {\n"); + sb.append(" digest: ").append(toIndentedString(digest)).append("\n"); + sb.append(" clusterScoped: ").append(toIndentedString(clusterScoped)).append("\n"); + sb.append(" podLogs: ").append(toIndentedString(podLogs)).append("\n"); + sb.append(" maximumConcurrency: ").append(toIndentedString(maximumConcurrency)).append("\n"); + sb.append(" maximumAttributeValues: ").append(toIndentedString(maximumAttributeValues)).append("\n"); + sb.append(" maximumDocuments: ").append(toIndentedString(maximumDocuments)).append("\n"); + sb.append(" maximumEntries: ").append(toIndentedString(maximumEntries)).append("\n"); + sb.append(" maximumExemplars: ").append(toIndentedString(maximumExemplars)).append("\n"); + sb.append(" maximumIndices: ").append(toIndentedString(maximumIndices)).append("\n"); + sb.append(" maximumLabelValues: ").append(toIndentedString(maximumLabelValues)).append("\n"); + sb.append(" maximumNodes: ").append(toIndentedString(maximumNodes)).append("\n"); + sb.append(" maximumPatternPoints: ").append(toIndentedString(maximumPatternPoints)).append("\n"); + sb.append(" maximumPointsPerSeries: ").append(toIndentedString(maximumPointsPerSeries)).append("\n"); + sb.append(" maximumProfileTypes: ").append(toIndentedString(maximumProfileTypes)).append("\n"); + sb.append(" maximumQueryBytes: ").append(toIndentedString(maximumQueryBytes)).append("\n"); + sb.append(" maximumRequestBytes: ").append(toIndentedString(maximumRequestBytes)).append("\n"); + sb.append(" maximumResponseBytes: ").append(toIndentedString(maximumResponseBytes)).append("\n"); + sb.append(" maximumRangeSeconds: ").append(toIndentedString(maximumRangeSeconds)).append("\n"); + sb.append(" maximumRows: ").append(toIndentedString(maximumRows)).append("\n"); + sb.append(" maximumResultBytes: ").append(toIndentedString(maximumResultBytes)).append("\n"); + sb.append(" maximumItems: ").append(toIndentedString(maximumItems)).append("\n"); + sb.append(" maximumMessages: ").append(toIndentedString(maximumMessages)).append("\n"); + sb.append(" maximumMessageBytes: ").append(toIndentedString(maximumMessageBytes)).append("\n"); + sb.append(" maximumScanRecords: ").append(toIndentedString(maximumScanRecords)).append("\n"); + sb.append(" maximumScanBytes: ").append(toIndentedString(maximumScanBytes)).append("\n"); + sb.append(" maximumSeries: ").append(toIndentedString(maximumSeries)).append("\n"); + sb.append(" maximumShards: ").append(toIndentedString(maximumShards)).append("\n"); + sb.append(" maximumSlowlogEntries: ").append(toIndentedString(maximumSlowlogEntries)).append("\n"); + sb.append(" maximumSpansPerSpanSet: ").append(toIndentedString(maximumSpansPerSpanSet)).append("\n"); + sb.append(" maximumStaleValues: ").append(toIndentedString(maximumStaleValues)).append("\n"); + sb.append(" maximumTimeoutSeconds: ").append(toIndentedString(maximumTimeoutSeconds)).append("\n"); + sb.append(" maximumTraces: ").append(toIndentedString(maximumTraces)).append("\n"); + sb.append(" stuckTransactionSeconds: ").append(toIndentedString(stuckTransactionSeconds)).append("\n"); + sb.append(" namespaces: ").append(toIndentedString(namespaces)).append("\n"); + sb.append(" allowedIndices: ").append(toIndentedString(allowedIndices)).append("\n"); + sb.append(" timestampField: ").append(toIndentedString(timestampField)).append("\n"); + sb.append(" database: ").append(toIndentedString(database)).append("\n"); + sb.append(" allowedSchemas: ").append(toIndentedString(allowedSchemas)).append("\n"); + sb.append(" allowedMethods: ").append(toIndentedString(allowedMethods)).append("\n"); + sb.append(" allowedPathPrefixes: ").append(toIndentedString(allowedPathPrefixes)).append("\n"); + sb.append(" allowedRequestHeaders: ").append(toIndentedString(allowedRequestHeaders)).append("\n"); + sb.append(" exposedResponseHeaders: ").append(toIndentedString(exposedResponseHeaders)).append("\n"); + sb.append(" allowedTopics: ").append(toIndentedString(allowedTopics)).append("\n"); + sb.append(" deniedTopics: ").append(toIndentedString(deniedTopics)).append("\n"); + sb.append(" includeInternalTopics: ").append(toIndentedString(includeInternalTopics)).append("\n"); + sb.append(" allowMessageReads: ").append(toIndentedString(allowMessageReads)).append("\n"); + sb.append(" includeMessageValues: ").append(toIndentedString(includeMessageValues)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("digest"); + openapiFields.add("cluster_scoped"); + openapiFields.add("pod_logs"); + openapiFields.add("maximum_concurrency"); + openapiFields.add("maximum_attribute_values"); + openapiFields.add("maximum_documents"); + openapiFields.add("maximum_entries"); + openapiFields.add("maximum_exemplars"); + openapiFields.add("maximum_indices"); + openapiFields.add("maximum_label_values"); + openapiFields.add("maximum_nodes"); + openapiFields.add("maximum_pattern_points"); + openapiFields.add("maximum_points_per_series"); + openapiFields.add("maximum_profile_types"); + openapiFields.add("maximum_query_bytes"); + openapiFields.add("maximum_request_bytes"); + openapiFields.add("maximum_response_bytes"); + openapiFields.add("maximum_range_seconds"); + openapiFields.add("maximum_rows"); + openapiFields.add("maximum_result_bytes"); + openapiFields.add("maximum_items"); + openapiFields.add("maximum_messages"); + openapiFields.add("maximum_message_bytes"); + openapiFields.add("maximum_scan_records"); + openapiFields.add("maximum_scan_bytes"); + openapiFields.add("maximum_series"); + openapiFields.add("maximum_shards"); + openapiFields.add("maximum_slowlog_entries"); + openapiFields.add("maximum_spans_per_span_set"); + openapiFields.add("maximum_stale_values"); + openapiFields.add("maximum_timeout_seconds"); + openapiFields.add("maximum_traces"); + openapiFields.add("stuck_transaction_seconds"); + openapiFields.add("namespaces"); + openapiFields.add("allowed_indices"); + openapiFields.add("timestamp_field"); + openapiFields.add("database"); + openapiFields.add("allowed_schemas"); + openapiFields.add("allowed_methods"); + openapiFields.add("allowed_path_prefixes"); + openapiFields.add("allowed_request_headers"); + openapiFields.add("exposed_response_headers"); + openapiFields.add("allowed_topics"); + openapiFields.add("denied_topics"); + openapiFields.add("include_internal_topics"); + openapiFields.add("allow_message_reads"); + openapiFields.add("include_message_values"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentAttributesProvidersInnerPolicy + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentAttributesProvidersInnerPolicy.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentAttributesProvidersInnerPolicy is not found in the empty JSON string", PrivateAgentAttributesProvidersInnerPolicy.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentAttributesProvidersInnerPolicy.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentAttributesProvidersInnerPolicy` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("digest") != null && !jsonObj.get("digest").isJsonNull()) && !jsonObj.get("digest").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `digest` to be a primitive type in the JSON string but got `%s`", jsonObj.get("digest").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("namespaces") != null && !jsonObj.get("namespaces").isJsonNull() && !jsonObj.get("namespaces").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `namespaces` to be an array in the JSON string but got `%s`", jsonObj.get("namespaces").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("allowed_indices") != null && !jsonObj.get("allowed_indices").isJsonNull() && !jsonObj.get("allowed_indices").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `allowed_indices` to be an array in the JSON string but got `%s`", jsonObj.get("allowed_indices").toString())); + } + if ((jsonObj.get("timestamp_field") != null && !jsonObj.get("timestamp_field").isJsonNull()) && !jsonObj.get("timestamp_field").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `timestamp_field` to be a primitive type in the JSON string but got `%s`", jsonObj.get("timestamp_field").toString())); + } + if ((jsonObj.get("database") != null && !jsonObj.get("database").isJsonNull()) && !jsonObj.get("database").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `database` to be a primitive type in the JSON string but got `%s`", jsonObj.get("database").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("allowed_schemas") != null && !jsonObj.get("allowed_schemas").isJsonNull() && !jsonObj.get("allowed_schemas").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `allowed_schemas` to be an array in the JSON string but got `%s`", jsonObj.get("allowed_schemas").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("allowed_methods") != null && !jsonObj.get("allowed_methods").isJsonNull() && !jsonObj.get("allowed_methods").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `allowed_methods` to be an array in the JSON string but got `%s`", jsonObj.get("allowed_methods").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("allowed_path_prefixes") != null && !jsonObj.get("allowed_path_prefixes").isJsonNull() && !jsonObj.get("allowed_path_prefixes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `allowed_path_prefixes` to be an array in the JSON string but got `%s`", jsonObj.get("allowed_path_prefixes").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("allowed_request_headers") != null && !jsonObj.get("allowed_request_headers").isJsonNull() && !jsonObj.get("allowed_request_headers").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `allowed_request_headers` to be an array in the JSON string but got `%s`", jsonObj.get("allowed_request_headers").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("exposed_response_headers") != null && !jsonObj.get("exposed_response_headers").isJsonNull() && !jsonObj.get("exposed_response_headers").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `exposed_response_headers` to be an array in the JSON string but got `%s`", jsonObj.get("exposed_response_headers").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("allowed_topics") != null && !jsonObj.get("allowed_topics").isJsonNull() && !jsonObj.get("allowed_topics").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `allowed_topics` to be an array in the JSON string but got `%s`", jsonObj.get("allowed_topics").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("denied_topics") != null && !jsonObj.get("denied_topics").isJsonNull() && !jsonObj.get("denied_topics").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `denied_topics` to be an array in the JSON string but got `%s`", jsonObj.get("denied_topics").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentAttributesProvidersInnerPolicy.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentAttributesProvidersInnerPolicy' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentAttributesProvidersInnerPolicy.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentAttributesProvidersInnerPolicy value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentAttributesProvidersInnerPolicy read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentAttributesProvidersInnerPolicy given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentAttributesProvidersInnerPolicy + * @throws IOException if the JSON string is invalid with respect to PrivateAgentAttributesProvidersInnerPolicy + */ + public static PrivateAgentAttributesProvidersInnerPolicy fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentAttributesProvidersInnerPolicy.class); + } + + /** + * Convert an instance of PrivateAgentAttributesProvidersInnerPolicy to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponse.java b/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponse.java new file mode 100644 index 00000000..d492d5f2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponse.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentEnrollmentTokenResponseData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentEnrollmentTokenResponse + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentEnrollmentTokenResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private PrivateAgentEnrollmentTokenResponseData data; + + public PrivateAgentEnrollmentTokenResponse() { + } + + public PrivateAgentEnrollmentTokenResponse data(@jakarta.annotation.Nonnull PrivateAgentEnrollmentTokenResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public PrivateAgentEnrollmentTokenResponseData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull PrivateAgentEnrollmentTokenResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentEnrollmentTokenResponse privateAgentEnrollmentTokenResponse = (PrivateAgentEnrollmentTokenResponse) o; + return Objects.equals(this.data, privateAgentEnrollmentTokenResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentEnrollmentTokenResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentEnrollmentTokenResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentEnrollmentTokenResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentEnrollmentTokenResponse is not found in the empty JSON string", PrivateAgentEnrollmentTokenResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentEnrollmentTokenResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentEnrollmentTokenResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentEnrollmentTokenResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + PrivateAgentEnrollmentTokenResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentEnrollmentTokenResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentEnrollmentTokenResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentEnrollmentTokenResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentEnrollmentTokenResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentEnrollmentTokenResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentEnrollmentTokenResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentEnrollmentTokenResponse + * @throws IOException if the JSON string is invalid with respect to PrivateAgentEnrollmentTokenResponse + */ + public static PrivateAgentEnrollmentTokenResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentEnrollmentTokenResponse.class); + } + + /** + * Convert an instance of PrivateAgentEnrollmentTokenResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseData.java b/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseData.java new file mode 100644 index 00000000..fd7af339 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseData.java @@ -0,0 +1,329 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentEnrollmentTokenResponseDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentEnrollmentTokenResponseData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentEnrollmentTokenResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private UUID id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PRIVATE_AGENT_ENROLLMENT_TOKENS("private_agent_enrollment_tokens"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private PrivateAgentEnrollmentTokenResponseDataAttributes attributes; + + public PrivateAgentEnrollmentTokenResponseData() { + } + + public PrivateAgentEnrollmentTokenResponseData id(@jakarta.annotation.Nonnull UUID id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @jakarta.annotation.Nonnull + public UUID getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull UUID id) { + this.id = id; + } + + + public PrivateAgentEnrollmentTokenResponseData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public PrivateAgentEnrollmentTokenResponseData attributes(@jakarta.annotation.Nonnull PrivateAgentEnrollmentTokenResponseDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public PrivateAgentEnrollmentTokenResponseDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull PrivateAgentEnrollmentTokenResponseDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentEnrollmentTokenResponseData privateAgentEnrollmentTokenResponseData = (PrivateAgentEnrollmentTokenResponseData) o; + return Objects.equals(this.id, privateAgentEnrollmentTokenResponseData.id) && + Objects.equals(this.type, privateAgentEnrollmentTokenResponseData.type) && + Objects.equals(this.attributes, privateAgentEnrollmentTokenResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentEnrollmentTokenResponseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentEnrollmentTokenResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentEnrollmentTokenResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentEnrollmentTokenResponseData is not found in the empty JSON string", PrivateAgentEnrollmentTokenResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentEnrollmentTokenResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentEnrollmentTokenResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentEnrollmentTokenResponseData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + PrivateAgentEnrollmentTokenResponseDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentEnrollmentTokenResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentEnrollmentTokenResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentEnrollmentTokenResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentEnrollmentTokenResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentEnrollmentTokenResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentEnrollmentTokenResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentEnrollmentTokenResponseData + * @throws IOException if the JSON string is invalid with respect to PrivateAgentEnrollmentTokenResponseData + */ + public static PrivateAgentEnrollmentTokenResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentEnrollmentTokenResponseData.class); + } + + /** + * Convert an instance of PrivateAgentEnrollmentTokenResponseData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributes.java b/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributes.java new file mode 100644 index 00000000..1cebf256 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributes.java @@ -0,0 +1,243 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentEnrollmentTokenResponseDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentEnrollmentTokenResponseDataAttributes { + public static final String SERIALIZED_NAME_TOKEN = "token"; + @SerializedName(SERIALIZED_NAME_TOKEN) + @jakarta.annotation.Nonnull + private String token; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expires_at"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime expiresAt; + + public PrivateAgentEnrollmentTokenResponseDataAttributes() { + } + + public PrivateAgentEnrollmentTokenResponseDataAttributes token(@jakarta.annotation.Nonnull String token) { + this.token = token; + return this; + } + + /** + * One-time secret. Returned only on creation; do not log or store in source control. + * @return token + */ + @jakarta.annotation.Nonnull + public String getToken() { + return token; + } + + public void setToken(@jakarta.annotation.Nonnull String token) { + this.token = token; + } + + + public PrivateAgentEnrollmentTokenResponseDataAttributes expiresAt(@jakarta.annotation.Nonnull OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * Get expiresAt + * @return expiresAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@jakarta.annotation.Nonnull OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentEnrollmentTokenResponseDataAttributes privateAgentEnrollmentTokenResponseDataAttributes = (PrivateAgentEnrollmentTokenResponseDataAttributes) o; + return Objects.equals(this.token, privateAgentEnrollmentTokenResponseDataAttributes.token) && + Objects.equals(this.expiresAt, privateAgentEnrollmentTokenResponseDataAttributes.expiresAt); + } + + @Override + public int hashCode() { + return Objects.hash(token, expiresAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentEnrollmentTokenResponseDataAttributes {\n"); + sb.append(" token: ").append(toIndentedString(token)).append("\n"); + sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("token"); + openapiFields.add("expires_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("token"); + openapiRequiredFields.add("expires_at"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentEnrollmentTokenResponseDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentEnrollmentTokenResponseDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentEnrollmentTokenResponseDataAttributes is not found in the empty JSON string", PrivateAgentEnrollmentTokenResponseDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentEnrollmentTokenResponseDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentEnrollmentTokenResponseDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentEnrollmentTokenResponseDataAttributes.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("token").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `token` to be a primitive type in the JSON string but got `%s`", jsonObj.get("token").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentEnrollmentTokenResponseDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentEnrollmentTokenResponseDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentEnrollmentTokenResponseDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentEnrollmentTokenResponseDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentEnrollmentTokenResponseDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentEnrollmentTokenResponseDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentEnrollmentTokenResponseDataAttributes + * @throws IOException if the JSON string is invalid with respect to PrivateAgentEnrollmentTokenResponseDataAttributes + */ + public static PrivateAgentEnrollmentTokenResponseDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentEnrollmentTokenResponseDataAttributes.class); + } + + /** + * Convert an instance of PrivateAgentEnrollmentTokenResponseDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentList.java b/src/main/java/com/rootly/client/model/PrivateAgentList.java new file mode 100644 index 00000000..25dad975 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentList.java @@ -0,0 +1,260 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentSummary; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentList + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @jakarta.annotation.Nonnull + private Object meta; + + public PrivateAgentList() { + } + + public PrivateAgentList data(@jakarta.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public PrivateAgentList addDataItem(PrivateAgentSummary dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull List data) { + this.data = data; + } + + + public PrivateAgentList meta(@jakarta.annotation.Nonnull Object meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @jakarta.annotation.Nonnull + public Object getMeta() { + return meta; + } + + public void setMeta(@jakarta.annotation.Nonnull Object meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentList privateAgentList = (PrivateAgentList) o; + return Objects.equals(this.data, privateAgentList.data) && + Objects.equals(this.meta, privateAgentList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentList {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("meta"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + openapiRequiredFields.add("meta"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentList is not found in the empty JSON string", PrivateAgentList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentList.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + // validate the required field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + PrivateAgentSummary.validateJsonElement(jsonArraydata.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentList given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentList + * @throws IOException if the JSON string is invalid with respect to PrivateAgentList + */ + public static PrivateAgentList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentList.class); + } + + /** + * Convert an instance of PrivateAgentList to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentResponse.java b/src/main/java/com/rootly/client/model/PrivateAgentResponse.java new file mode 100644 index 00000000..3d137f5a --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentResponse.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgent; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentResponse + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private PrivateAgent data; + + public PrivateAgentResponse() { + } + + public PrivateAgentResponse data(@jakarta.annotation.Nonnull PrivateAgent data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public PrivateAgent getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull PrivateAgent data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentResponse privateAgentResponse = (PrivateAgentResponse) o; + return Objects.equals(this.data, privateAgentResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentResponse is not found in the empty JSON string", PrivateAgentResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + PrivateAgent.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentResponse + * @throws IOException if the JSON string is invalid with respect to PrivateAgentResponse + */ + public static PrivateAgentResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentResponse.class); + } + + /** + * Convert an instance of PrivateAgentResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentSummary.java b/src/main/java/com/rootly/client/model/PrivateAgentSummary.java new file mode 100644 index 00000000..d77192ab --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentSummary.java @@ -0,0 +1,329 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentSummaryAttributes; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentSummary + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentSummary { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private UUID id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PRIVATE_AGENTS("private_agents"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private PrivateAgentSummaryAttributes attributes; + + public PrivateAgentSummary() { + } + + public PrivateAgentSummary id(@jakarta.annotation.Nonnull UUID id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @jakarta.annotation.Nonnull + public UUID getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull UUID id) { + this.id = id; + } + + + public PrivateAgentSummary type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public PrivateAgentSummary attributes(@jakarta.annotation.Nonnull PrivateAgentSummaryAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public PrivateAgentSummaryAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull PrivateAgentSummaryAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentSummary privateAgentSummary = (PrivateAgentSummary) o; + return Objects.equals(this.id, privateAgentSummary.id) && + Objects.equals(this.type, privateAgentSummary.type) && + Objects.equals(this.attributes, privateAgentSummary.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentSummary {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentSummary + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentSummary.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentSummary is not found in the empty JSON string", PrivateAgentSummary.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentSummary.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentSummary` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentSummary.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + PrivateAgentSummaryAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentSummary.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentSummary' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentSummary.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentSummary value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentSummary read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentSummary given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentSummary + * @throws IOException if the JSON string is invalid with respect to PrivateAgentSummary + */ + public static PrivateAgentSummary fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentSummary.class); + } + + /** + * Convert an instance of PrivateAgentSummary to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentSummaryAttributes.java b/src/main/java/com/rootly/client/model/PrivateAgentSummaryAttributes.java new file mode 100644 index 00000000..5d611c4b --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentSummaryAttributes.java @@ -0,0 +1,618 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentSummaryAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentSummaryAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @jakarta.annotation.Nonnull + private Boolean enabled; + + /** + * Gets or Sets status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + ACTIVE("active"), + + REVOKED("revoked"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_ONLINE = "online"; + @SerializedName(SERIALIZED_NAME_ONLINE) + @jakarta.annotation.Nonnull + private Boolean online; + + /** + * Gets or Sets deploymentMode + */ + @JsonAdapter(DeploymentModeEnum.Adapter.class) + public enum DeploymentModeEnum { + COMBINED("combined"), + + SPLIT_CORE("split-core"); + + private String value; + + DeploymentModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DeploymentModeEnum fromValue(String value) { + for (DeploymentModeEnum b : DeploymentModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final DeploymentModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DeploymentModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DeploymentModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DeploymentModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DEPLOYMENT_MODE = "deployment_mode"; + @SerializedName(SERIALIZED_NAME_DEPLOYMENT_MODE) + @jakarta.annotation.Nonnull + private DeploymentModeEnum deploymentMode; + + public static final String SERIALIZED_NAME_AGENT_VERSION = "agent_version"; + @SerializedName(SERIALIZED_NAME_AGENT_VERSION) + @jakarta.annotation.Nonnull + private String agentVersion; + + public static final String SERIALIZED_NAME_LAST_SEEN_AT = "last_seen_at"; + @SerializedName(SERIALIZED_NAME_LAST_SEEN_AT) + @jakarta.annotation.Nullable + private OffsetDateTime lastSeenAt; + + public static final String SERIALIZED_NAME_SCHEMA_DIGEST = "schema_digest"; + @SerializedName(SERIALIZED_NAME_SCHEMA_DIGEST) + @jakarta.annotation.Nullable + private String schemaDigest; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime updatedAt; + + public PrivateAgentSummaryAttributes() { + } + + public PrivateAgentSummaryAttributes name(@jakarta.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @jakarta.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nonnull String name) { + this.name = name; + } + + + public PrivateAgentSummaryAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Non-sensitive routing metadata. Do not include secrets or personal data. + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public PrivateAgentSummaryAttributes enabled(@jakarta.annotation.Nonnull Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * For active agents, whether Rootly may advertise tools and assign new work. + * @return enabled + */ + @jakarta.annotation.Nonnull + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@jakarta.annotation.Nonnull Boolean enabled) { + this.enabled = enabled; + } + + + public PrivateAgentSummaryAttributes status(@jakarta.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @jakarta.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public PrivateAgentSummaryAttributes online(@jakarta.annotation.Nonnull Boolean online) { + this.online = online; + return this; + } + + /** + * Active agent seen within two minutes; does not imply all providers are healthy. + * @return online + */ + @jakarta.annotation.Nonnull + public Boolean getOnline() { + return online; + } + + public void setOnline(@jakarta.annotation.Nonnull Boolean online) { + this.online = online; + } + + + public PrivateAgentSummaryAttributes deploymentMode(@jakarta.annotation.Nonnull DeploymentModeEnum deploymentMode) { + this.deploymentMode = deploymentMode; + return this; + } + + /** + * Get deploymentMode + * @return deploymentMode + */ + @jakarta.annotation.Nonnull + public DeploymentModeEnum getDeploymentMode() { + return deploymentMode; + } + + public void setDeploymentMode(@jakarta.annotation.Nonnull DeploymentModeEnum deploymentMode) { + this.deploymentMode = deploymentMode; + } + + + public PrivateAgentSummaryAttributes agentVersion(@jakarta.annotation.Nonnull String agentVersion) { + this.agentVersion = agentVersion; + return this; + } + + /** + * Get agentVersion + * @return agentVersion + */ + @jakarta.annotation.Nonnull + public String getAgentVersion() { + return agentVersion; + } + + public void setAgentVersion(@jakarta.annotation.Nonnull String agentVersion) { + this.agentVersion = agentVersion; + } + + + public PrivateAgentSummaryAttributes lastSeenAt(@jakarta.annotation.Nullable OffsetDateTime lastSeenAt) { + this.lastSeenAt = lastSeenAt; + return this; + } + + /** + * Get lastSeenAt + * @return lastSeenAt + */ + @jakarta.annotation.Nullable + public OffsetDateTime getLastSeenAt() { + return lastSeenAt; + } + + public void setLastSeenAt(@jakarta.annotation.Nullable OffsetDateTime lastSeenAt) { + this.lastSeenAt = lastSeenAt; + } + + + public PrivateAgentSummaryAttributes schemaDigest(@jakarta.annotation.Nullable String schemaDigest) { + this.schemaDigest = schemaDigest; + return this; + } + + /** + * Get schemaDigest + * @return schemaDigest + */ + @jakarta.annotation.Nullable + public String getSchemaDigest() { + return schemaDigest; + } + + public void setSchemaDigest(@jakarta.annotation.Nullable String schemaDigest) { + this.schemaDigest = schemaDigest; + } + + + public PrivateAgentSummaryAttributes createdAt(@jakarta.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@jakarta.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public PrivateAgentSummaryAttributes updatedAt(@jakarta.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@jakarta.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentSummaryAttributes privateAgentSummaryAttributes = (PrivateAgentSummaryAttributes) o; + return Objects.equals(this.name, privateAgentSummaryAttributes.name) && + Objects.equals(this.description, privateAgentSummaryAttributes.description) && + Objects.equals(this.enabled, privateAgentSummaryAttributes.enabled) && + Objects.equals(this.status, privateAgentSummaryAttributes.status) && + Objects.equals(this.online, privateAgentSummaryAttributes.online) && + Objects.equals(this.deploymentMode, privateAgentSummaryAttributes.deploymentMode) && + Objects.equals(this.agentVersion, privateAgentSummaryAttributes.agentVersion) && + Objects.equals(this.lastSeenAt, privateAgentSummaryAttributes.lastSeenAt) && + Objects.equals(this.schemaDigest, privateAgentSummaryAttributes.schemaDigest) && + Objects.equals(this.createdAt, privateAgentSummaryAttributes.createdAt) && + Objects.equals(this.updatedAt, privateAgentSummaryAttributes.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, enabled, status, online, deploymentMode, agentVersion, lastSeenAt, schemaDigest, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentSummaryAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" online: ").append(toIndentedString(online)).append("\n"); + sb.append(" deploymentMode: ").append(toIndentedString(deploymentMode)).append("\n"); + sb.append(" agentVersion: ").append(toIndentedString(agentVersion)).append("\n"); + sb.append(" lastSeenAt: ").append(toIndentedString(lastSeenAt)).append("\n"); + sb.append(" schemaDigest: ").append(toIndentedString(schemaDigest)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("enabled"); + openapiFields.add("status"); + openapiFields.add("online"); + openapiFields.add("deployment_mode"); + openapiFields.add("agent_version"); + openapiFields.add("last_seen_at"); + openapiFields.add("schema_digest"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("description"); + openapiRequiredFields.add("enabled"); + openapiRequiredFields.add("status"); + openapiRequiredFields.add("online"); + openapiRequiredFields.add("deployment_mode"); + openapiRequiredFields.add("agent_version"); + openapiRequiredFields.add("last_seen_at"); + openapiRequiredFields.add("schema_digest"); + openapiRequiredFields.add("created_at"); + openapiRequiredFields.add("updated_at"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentSummaryAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentSummaryAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentSummaryAttributes is not found in the empty JSON string", PrivateAgentSummaryAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentSummaryAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentSummaryAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentSummaryAttributes.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if (!jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the required field `status` + StatusEnum.validateJsonElement(jsonObj.get("status")); + if (!jsonObj.get("deployment_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deployment_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deployment_mode").toString())); + } + // validate the required field `deployment_mode` + DeploymentModeEnum.validateJsonElement(jsonObj.get("deployment_mode")); + if (!jsonObj.get("agent_version").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `agent_version` to be a primitive type in the JSON string but got `%s`", jsonObj.get("agent_version").toString())); + } + if ((jsonObj.get("schema_digest") != null && !jsonObj.get("schema_digest").isJsonNull()) && !jsonObj.get("schema_digest").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `schema_digest` to be a primitive type in the JSON string but got `%s`", jsonObj.get("schema_digest").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentSummaryAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentSummaryAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentSummaryAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentSummaryAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentSummaryAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentSummaryAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentSummaryAttributes + * @throws IOException if the JSON string is invalid with respect to PrivateAgentSummaryAttributes + */ + public static PrivateAgentSummaryAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentSummaryAttributes.class); + } + + /** + * Convert an instance of PrivateAgentSummaryAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentUpdate.java b/src/main/java/com/rootly/client/model/PrivateAgentUpdate.java new file mode 100644 index 00000000..0152eabd --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentUpdate.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentUpdateData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentUpdate + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentUpdate { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private PrivateAgentUpdateData data; + + public PrivateAgentUpdate() { + } + + public PrivateAgentUpdate data(@jakarta.annotation.Nonnull PrivateAgentUpdateData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public PrivateAgentUpdateData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull PrivateAgentUpdateData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentUpdate privateAgentUpdate = (PrivateAgentUpdate) o; + return Objects.equals(this.data, privateAgentUpdate.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentUpdate {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentUpdate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentUpdate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentUpdate is not found in the empty JSON string", PrivateAgentUpdate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentUpdate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentUpdate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentUpdate.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + PrivateAgentUpdateData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentUpdate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentUpdate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentUpdate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentUpdate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentUpdate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentUpdate given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentUpdate + * @throws IOException if the JSON string is invalid with respect to PrivateAgentUpdate + */ + public static PrivateAgentUpdate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentUpdate.class); + } + + /** + * Convert an instance of PrivateAgentUpdate to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentUpdateData.java b/src/main/java/com/rootly/client/model/PrivateAgentUpdateData.java new file mode 100644 index 00000000..d266326b --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentUpdateData.java @@ -0,0 +1,297 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentUpdateDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentUpdateData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentUpdateData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PRIVATE_AGENTS("private_agents"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private PrivateAgentUpdateDataAttributes attributes; + + public PrivateAgentUpdateData() { + } + + public PrivateAgentUpdateData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public PrivateAgentUpdateData attributes(@jakarta.annotation.Nonnull PrivateAgentUpdateDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public PrivateAgentUpdateDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull PrivateAgentUpdateDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentUpdateData privateAgentUpdateData = (PrivateAgentUpdateData) o; + return Objects.equals(this.type, privateAgentUpdateData.type) && + Objects.equals(this.attributes, privateAgentUpdateData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentUpdateData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentUpdateData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentUpdateData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentUpdateData is not found in the empty JSON string", PrivateAgentUpdateData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentUpdateData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentUpdateData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PrivateAgentUpdateData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + PrivateAgentUpdateDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentUpdateData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentUpdateData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentUpdateData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentUpdateData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentUpdateData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentUpdateData given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentUpdateData + * @throws IOException if the JSON string is invalid with respect to PrivateAgentUpdateData + */ + public static PrivateAgentUpdateData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentUpdateData.class); + } + + /** + * Convert an instance of PrivateAgentUpdateData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PrivateAgentUpdateDataAttributes.java b/src/main/java/com/rootly/client/model/PrivateAgentUpdateDataAttributes.java new file mode 100644 index 00000000..17e74eb0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PrivateAgentUpdateDataAttributes.java @@ -0,0 +1,275 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PrivateAgentUpdateDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PrivateAgentUpdateDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @jakarta.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @jakarta.annotation.Nullable + private Boolean enabled; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public PrivateAgentUpdateDataAttributes() { + } + + public PrivateAgentUpdateDataAttributes name(@jakarta.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @jakarta.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@jakarta.annotation.Nullable String name) { + this.name = name; + } + + + public PrivateAgentUpdateDataAttributes enabled(@jakarta.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Get enabled + * @return enabled + */ + @jakarta.annotation.Nullable + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@jakarta.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + } + + + public PrivateAgentUpdateDataAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Non-sensitive routing metadata. Do not include secrets or personal data. + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PrivateAgentUpdateDataAttributes privateAgentUpdateDataAttributes = (PrivateAgentUpdateDataAttributes) o; + return Objects.equals(this.name, privateAgentUpdateDataAttributes.name) && + Objects.equals(this.enabled, privateAgentUpdateDataAttributes.enabled) && + Objects.equals(this.description, privateAgentUpdateDataAttributes.description); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(name, enabled, description); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PrivateAgentUpdateDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("name"); + openapiFields.add("enabled"); + openapiFields.add("description"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PrivateAgentUpdateDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PrivateAgentUpdateDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PrivateAgentUpdateDataAttributes is not found in the empty JSON string", PrivateAgentUpdateDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PrivateAgentUpdateDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PrivateAgentUpdateDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PrivateAgentUpdateDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PrivateAgentUpdateDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PrivateAgentUpdateDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PrivateAgentUpdateDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PrivateAgentUpdateDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PrivateAgentUpdateDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of PrivateAgentUpdateDataAttributes + * @throws IOException if the JSON string is invalid with respect to PrivateAgentUpdateDataAttributes + */ + public static PrivateAgentUpdateDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PrivateAgentUpdateDataAttributes.class); + } + + /** + * Convert an instance of PrivateAgentUpdateDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/Problem.java b/src/main/java/com/rootly/client/model/Problem.java new file mode 100644 index 00000000..71ef9e5c --- /dev/null +++ b/src/main/java/com/rootly/client/model/Problem.java @@ -0,0 +1,1237 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Problem + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class Problem { + public static final String SERIALIZED_NAME_SEQUENTIAL_ID = "sequential_id"; + @SerializedName(SERIALIZED_NAME_SEQUENTIAL_ID) + @jakarta.annotation.Nullable + private Integer sequentialId; + + public static final String SERIALIZED_NAME_DISPLAY_ID = "display_id"; + @SerializedName(SERIALIZED_NAME_DISPLAY_ID) + @jakarta.annotation.Nullable + private String displayId; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @jakarta.annotation.Nonnull + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_OWNER_USER_ID = "owner_user_id"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_ID) + @jakarta.annotation.Nullable + private Integer ownerUserId; + + public static final String SERIALIZED_NAME_OWNER_GROUP_ID = "owner_group_id"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_ID) + @jakarta.annotation.Nullable + private String ownerGroupId; + + /** + * The priority of the problem + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + P0("P0"), + + P1("P1"), + + P2("P2"), + + P3("P3"); + + private String value; + + PriorityEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PriorityEnum fromValue(String value) { + for (PriorityEnum b : PriorityEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PriorityEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PriorityEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PriorityEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PriorityEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + @jakarta.annotation.Nullable + private PriorityEnum priority; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + @jakarta.annotation.Nullable + private LocalDate dueDate; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + @jakarta.annotation.Nullable + private String scope; + + public static final String SERIALIZED_NAME_EXIT_CRITERIA = "exit_criteria"; + @SerializedName(SERIALIZED_NAME_EXIT_CRITERIA) + @jakarta.annotation.Nullable + private String exitCriteria; + + public static final String SERIALIZED_NAME_IMPACT_SO_FAR = "impact_so_far"; + @SerializedName(SERIALIZED_NAME_IMPACT_SO_FAR) + @jakarta.annotation.Nullable + private String impactSoFar; + + public static final String SERIALIZED_NAME_ROOT_CAUSE = "root_cause"; + @SerializedName(SERIALIZED_NAME_ROOT_CAUSE) + @jakarta.annotation.Nullable + private String rootCause; + + public static final String SERIALIZED_NAME_RESOLUTION = "resolution"; + @SerializedName(SERIALIZED_NAME_RESOLUTION) + @jakarta.annotation.Nullable + private String resolution; + + public static final String SERIALIZED_NAME_DEFERRAL_REASON = "deferral_reason"; + @SerializedName(SERIALIZED_NAME_DEFERRAL_REASON) + @jakarta.annotation.Nullable + private String deferralReason; + + public static final String SERIALIZED_NAME_CANCELLATION_REASON = "cancellation_reason"; + @SerializedName(SERIALIZED_NAME_CANCELLATION_REASON) + @jakarta.annotation.Nullable + private String cancellationReason; + + public static final String SERIALIZED_NAME_NEXT_REVIEW_AT = "next_review_at"; + @SerializedName(SERIALIZED_NAME_NEXT_REVIEW_AT) + @jakarta.annotation.Nullable + private String nextReviewAt; + + public static final String SERIALIZED_NAME_RE_REVIEW_CADENCE = "re_review_cadence"; + @SerializedName(SERIALIZED_NAME_RE_REVIEW_CADENCE) + @jakarta.annotation.Nullable + private Integer reReviewCadence; + + /** + * The status of the problem + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + CREATED("created"), + + IN_PROGRESS("in_progress"), + + COMPLETED("completed"), + + DEFERRED("deferred"), + + CANCELLED("cancelled"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_CREATED_BY_USER_ID = "created_by_user_id"; + @SerializedName(SERIALIZED_NAME_CREATED_BY_USER_ID) + @jakarta.annotation.Nullable + private Integer createdByUserId; + + public static final String SERIALIZED_NAME_IN_PROGRESS_BY_USER_ID = "in_progress_by_user_id"; + @SerializedName(SERIALIZED_NAME_IN_PROGRESS_BY_USER_ID) + @jakarta.annotation.Nullable + private Integer inProgressByUserId; + + public static final String SERIALIZED_NAME_COMPLETED_BY_USER_ID = "completed_by_user_id"; + @SerializedName(SERIALIZED_NAME_COMPLETED_BY_USER_ID) + @jakarta.annotation.Nullable + private Integer completedByUserId; + + public static final String SERIALIZED_NAME_DEFERRED_BY_USER_ID = "deferred_by_user_id"; + @SerializedName(SERIALIZED_NAME_DEFERRED_BY_USER_ID) + @jakarta.annotation.Nullable + private Integer deferredByUserId; + + public static final String SERIALIZED_NAME_CANCELLED_BY_USER_ID = "cancelled_by_user_id"; + @SerializedName(SERIALIZED_NAME_CANCELLED_BY_USER_ID) + @jakarta.annotation.Nullable + private Integer cancelledByUserId; + + public static final String SERIALIZED_NAME_IN_PROGRESS_AT = "in_progress_at"; + @SerializedName(SERIALIZED_NAME_IN_PROGRESS_AT) + @jakarta.annotation.Nullable + private String inProgressAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + @jakarta.annotation.Nullable + private String completedAt; + + public static final String SERIALIZED_NAME_DEFERRED_AT = "deferred_at"; + @SerializedName(SERIALIZED_NAME_DEFERRED_AT) + @jakarta.annotation.Nullable + private String deferredAt; + + public static final String SERIALIZED_NAME_CANCELLED_AT = "cancelled_at"; + @SerializedName(SERIALIZED_NAME_CANCELLED_AT) + @jakarta.annotation.Nullable + private String cancelledAt; + + public static final String SERIALIZED_NAME_INCIDENT_IDS = "incident_ids"; + @SerializedName(SERIALIZED_NAME_INCIDENT_IDS) + @jakarta.annotation.Nullable + private List incidentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INCIDENTS_COUNT = "incidents_count"; + @SerializedName(SERIALIZED_NAME_INCIDENTS_COUNT) + @jakarta.annotation.Nullable + private Integer incidentsCount; + + public static final String SERIALIZED_NAME_ACTION_ITEMS_COUNT = "action_items_count"; + @SerializedName(SERIALIZED_NAME_ACTION_ITEMS_COUNT) + @jakarta.annotation.Nullable + private Integer actionItemsCount; + + public static final String SERIALIZED_NAME_SUBSCRIBERS_COUNT = "subscribers_count"; + @SerializedName(SERIALIZED_NAME_SUBSCRIBERS_COUNT) + @jakarta.annotation.Nullable + private Integer subscribersCount; + + public static final String SERIALIZED_NAME_USERS_ASSIGNED_COUNT = "users_assigned_count"; + @SerializedName(SERIALIZED_NAME_USERS_ASSIGNED_COUNT) + @jakarta.annotation.Nullable + private Integer usersAssignedCount; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + @jakarta.annotation.Nullable + private String url; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @jakarta.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @jakarta.annotation.Nonnull + private String updatedAt; + + public Problem() { + } + + public Problem( + String displayId, + StatusEnum status, + Integer createdByUserId, + Integer inProgressByUserId, + Integer completedByUserId, + Integer deferredByUserId, + Integer cancelledByUserId, + String inProgressAt, + String completedAt, + String deferredAt, + String cancelledAt, + List incidentIds, + Integer incidentsCount, + Integer actionItemsCount, + Integer subscribersCount, + Integer usersAssignedCount, + String url + ) { + this(); + this.displayId = displayId; + this.status = status; + this.createdByUserId = createdByUserId; + this.inProgressByUserId = inProgressByUserId; + this.completedByUserId = completedByUserId; + this.deferredByUserId = deferredByUserId; + this.cancelledByUserId = cancelledByUserId; + this.inProgressAt = inProgressAt; + this.completedAt = completedAt; + this.deferredAt = deferredAt; + this.cancelledAt = cancelledAt; + this.incidentIds = incidentIds; + this.incidentsCount = incidentsCount; + this.actionItemsCount = actionItemsCount; + this.subscribersCount = subscribersCount; + this.usersAssignedCount = usersAssignedCount; + this.url = url; + } + + public Problem sequentialId(@jakarta.annotation.Nullable Integer sequentialId) { + this.sequentialId = sequentialId; + return this; + } + + /** + * Team-scoped sequential number of the problem + * @return sequentialId + */ + @jakarta.annotation.Nullable + public Integer getSequentialId() { + return sequentialId; + } + + public void setSequentialId(@jakarta.annotation.Nullable Integer sequentialId) { + this.sequentialId = sequentialId; + } + + + /** + * Human-readable identifier of the problem (e.g. PROB-12) + * @return displayId + */ + @jakarta.annotation.Nullable + public String getDisplayId() { + return displayId; + } + + + + public Problem title(@jakarta.annotation.Nonnull String title) { + this.title = title; + return this; + } + + /** + * The title of the problem + * @return title + */ + @jakarta.annotation.Nonnull + public String getTitle() { + return title; + } + + public void setTitle(@jakarta.annotation.Nonnull String title) { + this.title = title; + } + + + public Problem description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the problem + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public Problem ownerUserId(@jakarta.annotation.Nullable Integer ownerUserId) { + this.ownerUserId = ownerUserId; + return this; + } + + /** + * ID of the user who owns the problem + * @return ownerUserId + */ + @jakarta.annotation.Nullable + public Integer getOwnerUserId() { + return ownerUserId; + } + + public void setOwnerUserId(@jakarta.annotation.Nullable Integer ownerUserId) { + this.ownerUserId = ownerUserId; + } + + + public Problem ownerGroupId(@jakarta.annotation.Nullable String ownerGroupId) { + this.ownerGroupId = ownerGroupId; + return this; + } + + /** + * ID of the group (team) that owns the problem + * @return ownerGroupId + */ + @jakarta.annotation.Nullable + public String getOwnerGroupId() { + return ownerGroupId; + } + + public void setOwnerGroupId(@jakarta.annotation.Nullable String ownerGroupId) { + this.ownerGroupId = ownerGroupId; + } + + + public Problem priority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * The priority of the problem + * @return priority + */ + @jakarta.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public Problem dueDate(@jakarta.annotation.Nullable LocalDate dueDate) { + this.dueDate = dueDate; + return this; + } + + /** + * The due date of the problem + * @return dueDate + */ + @jakarta.annotation.Nullable + public LocalDate getDueDate() { + return dueDate; + } + + public void setDueDate(@jakarta.annotation.Nullable LocalDate dueDate) { + this.dueDate = dueDate; + } + + + public Problem scope(@jakarta.annotation.Nullable String scope) { + this.scope = scope; + return this; + } + + /** + * The scope of the problem + * @return scope + */ + @jakarta.annotation.Nullable + public String getScope() { + return scope; + } + + public void setScope(@jakarta.annotation.Nullable String scope) { + this.scope = scope; + } + + + public Problem exitCriteria(@jakarta.annotation.Nullable String exitCriteria) { + this.exitCriteria = exitCriteria; + return this; + } + + /** + * The exit criteria of the problem + * @return exitCriteria + */ + @jakarta.annotation.Nullable + public String getExitCriteria() { + return exitCriteria; + } + + public void setExitCriteria(@jakarta.annotation.Nullable String exitCriteria) { + this.exitCriteria = exitCriteria; + } + + + public Problem impactSoFar(@jakarta.annotation.Nullable String impactSoFar) { + this.impactSoFar = impactSoFar; + return this; + } + + /** + * The impact observed so far + * @return impactSoFar + */ + @jakarta.annotation.Nullable + public String getImpactSoFar() { + return impactSoFar; + } + + public void setImpactSoFar(@jakarta.annotation.Nullable String impactSoFar) { + this.impactSoFar = impactSoFar; + } + + + public Problem rootCause(@jakarta.annotation.Nullable String rootCause) { + this.rootCause = rootCause; + return this; + } + + /** + * The root cause of the problem + * @return rootCause + */ + @jakarta.annotation.Nullable + public String getRootCause() { + return rootCause; + } + + public void setRootCause(@jakarta.annotation.Nullable String rootCause) { + this.rootCause = rootCause; + } + + + public Problem resolution(@jakarta.annotation.Nullable String resolution) { + this.resolution = resolution; + return this; + } + + /** + * The resolution of the problem + * @return resolution + */ + @jakarta.annotation.Nullable + public String getResolution() { + return resolution; + } + + public void setResolution(@jakarta.annotation.Nullable String resolution) { + this.resolution = resolution; + } + + + public Problem deferralReason(@jakarta.annotation.Nullable String deferralReason) { + this.deferralReason = deferralReason; + return this; + } + + /** + * The reason and accepted risk for deferring the problem + * @return deferralReason + */ + @jakarta.annotation.Nullable + public String getDeferralReason() { + return deferralReason; + } + + public void setDeferralReason(@jakarta.annotation.Nullable String deferralReason) { + this.deferralReason = deferralReason; + } + + + public Problem cancellationReason(@jakarta.annotation.Nullable String cancellationReason) { + this.cancellationReason = cancellationReason; + return this; + } + + /** + * The reason for cancelling the problem + * @return cancellationReason + */ + @jakarta.annotation.Nullable + public String getCancellationReason() { + return cancellationReason; + } + + public void setCancellationReason(@jakarta.annotation.Nullable String cancellationReason) { + this.cancellationReason = cancellationReason; + } + + + public Problem nextReviewAt(@jakarta.annotation.Nullable String nextReviewAt) { + this.nextReviewAt = nextReviewAt; + return this; + } + + /** + * The next review date for a deferred problem + * @return nextReviewAt + */ + @jakarta.annotation.Nullable + public String getNextReviewAt() { + return nextReviewAt; + } + + public void setNextReviewAt(@jakarta.annotation.Nullable String nextReviewAt) { + this.nextReviewAt = nextReviewAt; + } + + + public Problem reReviewCadence(@jakarta.annotation.Nullable Integer reReviewCadence) { + this.reReviewCadence = reReviewCadence; + return this; + } + + /** + * Days between reviews for a deferred problem + * @return reReviewCadence + */ + @jakarta.annotation.Nullable + public Integer getReReviewCadence() { + return reReviewCadence; + } + + public void setReReviewCadence(@jakarta.annotation.Nullable Integer reReviewCadence) { + this.reReviewCadence = reReviewCadence; + } + + + /** + * The status of the problem + * @return status + */ + @jakarta.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + + + /** + * ID of the user who created the problem + * @return createdByUserId + */ + @jakarta.annotation.Nullable + public Integer getCreatedByUserId() { + return createdByUserId; + } + + + + /** + * ID of the user who moved the problem to in progress + * @return inProgressByUserId + */ + @jakarta.annotation.Nullable + public Integer getInProgressByUserId() { + return inProgressByUserId; + } + + + + /** + * ID of the user who completed the problem + * @return completedByUserId + */ + @jakarta.annotation.Nullable + public Integer getCompletedByUserId() { + return completedByUserId; + } + + + + /** + * ID of the user who approved deferring the problem + * @return deferredByUserId + */ + @jakarta.annotation.Nullable + public Integer getDeferredByUserId() { + return deferredByUserId; + } + + + + /** + * ID of the user who cancelled the problem + * @return cancelledByUserId + */ + @jakarta.annotation.Nullable + public Integer getCancelledByUserId() { + return cancelledByUserId; + } + + + + /** + * When the problem moved to in progress + * @return inProgressAt + */ + @jakarta.annotation.Nullable + public String getInProgressAt() { + return inProgressAt; + } + + + + /** + * When the problem was completed + * @return completedAt + */ + @jakarta.annotation.Nullable + public String getCompletedAt() { + return completedAt; + } + + + + /** + * When the problem was deferred + * @return deferredAt + */ + @jakarta.annotation.Nullable + public String getDeferredAt() { + return deferredAt; + } + + + + /** + * When the problem was cancelled + * @return cancelledAt + */ + @jakarta.annotation.Nullable + public String getCancelledAt() { + return cancelledAt; + } + + + + /** + * IDs of incidents linked to the problem + * @return incidentIds + */ + @jakarta.annotation.Nullable + public List getIncidentIds() { + return incidentIds; + } + + + + /** + * Number of incidents linked to the problem + * @return incidentsCount + */ + @jakarta.annotation.Nullable + public Integer getIncidentsCount() { + return incidentsCount; + } + + + + /** + * Number of action items on the problem + * @return actionItemsCount + */ + @jakarta.annotation.Nullable + public Integer getActionItemsCount() { + return actionItemsCount; + } + + + + /** + * Number of users following the problem + * @return subscribersCount + */ + @jakarta.annotation.Nullable + public Integer getSubscribersCount() { + return subscribersCount; + } + + + + /** + * Number of problem role assignees + * @return usersAssignedCount + */ + @jakarta.annotation.Nullable + public Integer getUsersAssignedCount() { + return usersAssignedCount; + } + + + + /** + * URL of the problem in the Rootly web app + * @return url + */ + @jakarta.annotation.Nullable + public String getUrl() { + return url; + } + + + + public Problem createdAt(@jakarta.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @jakarta.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@jakarta.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public Problem updatedAt(@jakarta.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @jakarta.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@jakarta.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Problem problem = (Problem) o; + return Objects.equals(this.sequentialId, problem.sequentialId) && + Objects.equals(this.displayId, problem.displayId) && + Objects.equals(this.title, problem.title) && + Objects.equals(this.description, problem.description) && + Objects.equals(this.ownerUserId, problem.ownerUserId) && + Objects.equals(this.ownerGroupId, problem.ownerGroupId) && + Objects.equals(this.priority, problem.priority) && + Objects.equals(this.dueDate, problem.dueDate) && + Objects.equals(this.scope, problem.scope) && + Objects.equals(this.exitCriteria, problem.exitCriteria) && + Objects.equals(this.impactSoFar, problem.impactSoFar) && + Objects.equals(this.rootCause, problem.rootCause) && + Objects.equals(this.resolution, problem.resolution) && + Objects.equals(this.deferralReason, problem.deferralReason) && + Objects.equals(this.cancellationReason, problem.cancellationReason) && + Objects.equals(this.nextReviewAt, problem.nextReviewAt) && + Objects.equals(this.reReviewCadence, problem.reReviewCadence) && + Objects.equals(this.status, problem.status) && + Objects.equals(this.createdByUserId, problem.createdByUserId) && + Objects.equals(this.inProgressByUserId, problem.inProgressByUserId) && + Objects.equals(this.completedByUserId, problem.completedByUserId) && + Objects.equals(this.deferredByUserId, problem.deferredByUserId) && + Objects.equals(this.cancelledByUserId, problem.cancelledByUserId) && + Objects.equals(this.inProgressAt, problem.inProgressAt) && + Objects.equals(this.completedAt, problem.completedAt) && + Objects.equals(this.deferredAt, problem.deferredAt) && + Objects.equals(this.cancelledAt, problem.cancelledAt) && + Objects.equals(this.incidentIds, problem.incidentIds) && + Objects.equals(this.incidentsCount, problem.incidentsCount) && + Objects.equals(this.actionItemsCount, problem.actionItemsCount) && + Objects.equals(this.subscribersCount, problem.subscribersCount) && + Objects.equals(this.usersAssignedCount, problem.usersAssignedCount) && + Objects.equals(this.url, problem.url) && + Objects.equals(this.createdAt, problem.createdAt) && + Objects.equals(this.updatedAt, problem.updatedAt); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(sequentialId, displayId, title, description, ownerUserId, ownerGroupId, priority, dueDate, scope, exitCriteria, impactSoFar, rootCause, resolution, deferralReason, cancellationReason, nextReviewAt, reReviewCadence, status, createdByUserId, inProgressByUserId, completedByUserId, deferredByUserId, cancelledByUserId, inProgressAt, completedAt, deferredAt, cancelledAt, incidentIds, incidentsCount, actionItemsCount, subscribersCount, usersAssignedCount, url, createdAt, updatedAt); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Problem {\n"); + sb.append(" sequentialId: ").append(toIndentedString(sequentialId)).append("\n"); + sb.append(" displayId: ").append(toIndentedString(displayId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).append("\n"); + sb.append(" ownerGroupId: ").append(toIndentedString(ownerGroupId)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" exitCriteria: ").append(toIndentedString(exitCriteria)).append("\n"); + sb.append(" impactSoFar: ").append(toIndentedString(impactSoFar)).append("\n"); + sb.append(" rootCause: ").append(toIndentedString(rootCause)).append("\n"); + sb.append(" resolution: ").append(toIndentedString(resolution)).append("\n"); + sb.append(" deferralReason: ").append(toIndentedString(deferralReason)).append("\n"); + sb.append(" cancellationReason: ").append(toIndentedString(cancellationReason)).append("\n"); + sb.append(" nextReviewAt: ").append(toIndentedString(nextReviewAt)).append("\n"); + sb.append(" reReviewCadence: ").append(toIndentedString(reReviewCadence)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" createdByUserId: ").append(toIndentedString(createdByUserId)).append("\n"); + sb.append(" inProgressByUserId: ").append(toIndentedString(inProgressByUserId)).append("\n"); + sb.append(" completedByUserId: ").append(toIndentedString(completedByUserId)).append("\n"); + sb.append(" deferredByUserId: ").append(toIndentedString(deferredByUserId)).append("\n"); + sb.append(" cancelledByUserId: ").append(toIndentedString(cancelledByUserId)).append("\n"); + sb.append(" inProgressAt: ").append(toIndentedString(inProgressAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" deferredAt: ").append(toIndentedString(deferredAt)).append("\n"); + sb.append(" cancelledAt: ").append(toIndentedString(cancelledAt)).append("\n"); + sb.append(" incidentIds: ").append(toIndentedString(incidentIds)).append("\n"); + sb.append(" incidentsCount: ").append(toIndentedString(incidentsCount)).append("\n"); + sb.append(" actionItemsCount: ").append(toIndentedString(actionItemsCount)).append("\n"); + sb.append(" subscribersCount: ").append(toIndentedString(subscribersCount)).append("\n"); + sb.append(" usersAssignedCount: ").append(toIndentedString(usersAssignedCount)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("sequential_id"); + openapiFields.add("display_id"); + openapiFields.add("title"); + openapiFields.add("description"); + openapiFields.add("owner_user_id"); + openapiFields.add("owner_group_id"); + openapiFields.add("priority"); + openapiFields.add("due_date"); + openapiFields.add("scope"); + openapiFields.add("exit_criteria"); + openapiFields.add("impact_so_far"); + openapiFields.add("root_cause"); + openapiFields.add("resolution"); + openapiFields.add("deferral_reason"); + openapiFields.add("cancellation_reason"); + openapiFields.add("next_review_at"); + openapiFields.add("re_review_cadence"); + openapiFields.add("status"); + openapiFields.add("created_by_user_id"); + openapiFields.add("in_progress_by_user_id"); + openapiFields.add("completed_by_user_id"); + openapiFields.add("deferred_by_user_id"); + openapiFields.add("cancelled_by_user_id"); + openapiFields.add("in_progress_at"); + openapiFields.add("completed_at"); + openapiFields.add("deferred_at"); + openapiFields.add("cancelled_at"); + openapiFields.add("incident_ids"); + openapiFields.add("incidents_count"); + openapiFields.add("action_items_count"); + openapiFields.add("subscribers_count"); + openapiFields.add("users_assigned_count"); + openapiFields.add("url"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("title"); + openapiRequiredFields.add("status"); + openapiRequiredFields.add("created_at"); + openapiRequiredFields.add("updated_at"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to Problem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Problem.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in Problem is not found in the empty JSON string", Problem.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Problem.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `Problem` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : Problem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("display_id") != null && !jsonObj.get("display_id").isJsonNull()) && !jsonObj.get("display_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `display_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("display_id").toString())); + } + if (!jsonObj.get("title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("owner_group_id") != null && !jsonObj.get("owner_group_id").isJsonNull()) && !jsonObj.get("owner_group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("owner_group_id").toString())); + } + if ((jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) && !jsonObj.get("priority").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `priority` to be a primitive type in the JSON string but got `%s`", jsonObj.get("priority").toString())); + } + // validate the optional field `priority` + if (jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) { + PriorityEnum.validateJsonElement(jsonObj.get("priority")); + } + if ((jsonObj.get("scope") != null && !jsonObj.get("scope").isJsonNull()) && !jsonObj.get("scope").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope").toString())); + } + if ((jsonObj.get("exit_criteria") != null && !jsonObj.get("exit_criteria").isJsonNull()) && !jsonObj.get("exit_criteria").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `exit_criteria` to be a primitive type in the JSON string but got `%s`", jsonObj.get("exit_criteria").toString())); + } + if ((jsonObj.get("impact_so_far") != null && !jsonObj.get("impact_so_far").isJsonNull()) && !jsonObj.get("impact_so_far").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `impact_so_far` to be a primitive type in the JSON string but got `%s`", jsonObj.get("impact_so_far").toString())); + } + if ((jsonObj.get("root_cause") != null && !jsonObj.get("root_cause").isJsonNull()) && !jsonObj.get("root_cause").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `root_cause` to be a primitive type in the JSON string but got `%s`", jsonObj.get("root_cause").toString())); + } + if ((jsonObj.get("resolution") != null && !jsonObj.get("resolution").isJsonNull()) && !jsonObj.get("resolution").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `resolution` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolution").toString())); + } + if ((jsonObj.get("deferral_reason") != null && !jsonObj.get("deferral_reason").isJsonNull()) && !jsonObj.get("deferral_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deferral_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deferral_reason").toString())); + } + if ((jsonObj.get("cancellation_reason") != null && !jsonObj.get("cancellation_reason").isJsonNull()) && !jsonObj.get("cancellation_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `cancellation_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cancellation_reason").toString())); + } + if ((jsonObj.get("next_review_at") != null && !jsonObj.get("next_review_at").isJsonNull()) && !jsonObj.get("next_review_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `next_review_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("next_review_at").toString())); + } + if (!jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the required field `status` + StatusEnum.validateJsonElement(jsonObj.get("status")); + if ((jsonObj.get("in_progress_at") != null && !jsonObj.get("in_progress_at").isJsonNull()) && !jsonObj.get("in_progress_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `in_progress_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("in_progress_at").toString())); + } + if ((jsonObj.get("completed_at") != null && !jsonObj.get("completed_at").isJsonNull()) && !jsonObj.get("completed_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completed_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completed_at").toString())); + } + if ((jsonObj.get("deferred_at") != null && !jsonObj.get("deferred_at").isJsonNull()) && !jsonObj.get("deferred_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deferred_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deferred_at").toString())); + } + if ((jsonObj.get("cancelled_at") != null && !jsonObj.get("cancelled_at").isJsonNull()) && !jsonObj.get("cancelled_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `cancelled_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cancelled_at").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_ids") != null && !jsonObj.get("incident_ids").isJsonNull() && !jsonObj.get("incident_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_ids").toString())); + } + if ((jsonObj.get("url") != null && !jsonObj.get("url").isJsonNull()) && !jsonObj.get("url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("url").toString())); + } + if (!jsonObj.get("created_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); + } + if (!jsonObj.get("updated_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `updated_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updated_at").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Problem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Problem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Problem.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Problem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Problem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Problem given an JSON string + * + * @param jsonString JSON string + * @return An instance of Problem + * @throws IOException if the JSON string is invalid with respect to Problem + */ + public static Problem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Problem.class); + } + + /** + * Convert an instance of Problem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemActionItem.java b/src/main/java/com/rootly/client/model/ProblemActionItem.java new file mode 100644 index 00000000..a4bed61b --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemActionItem.java @@ -0,0 +1,676 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UserFlatResponse; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemActionItem + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemActionItem { + public static final String SERIALIZED_NAME_PROBLEM_ID = "problem_id"; + @SerializedName(SERIALIZED_NAME_PROBLEM_ID) + @jakarta.annotation.Nullable + private String problemId; + + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + @jakarta.annotation.Nonnull + private String summary; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_ASSIGNED_TO_USER_ID = "assigned_to_user_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNED_TO_USER_ID) + @jakarta.annotation.Nullable + private Integer assignedToUserId; + + /** + * The priority of the action item + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + HIGH("high"), + + MEDIUM("medium"), + + LOW("low"); + + private String value; + + PriorityEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PriorityEnum fromValue(String value) { + for (PriorityEnum b : PriorityEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PriorityEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PriorityEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PriorityEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PriorityEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + @jakarta.annotation.Nullable + private PriorityEnum priority; + + /** + * The status of the action item + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + OPEN("open"), + + IN_PROGRESS("in_progress"), + + CANCELLED("cancelled"), + + DONE("done"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + @jakarta.annotation.Nullable + private String dueDate; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) + @jakarta.annotation.Nullable + private String jiraIssueUrl; + + public static final String SERIALIZED_NAME_ASSIGNED_TO = "assigned_to"; + @SerializedName(SERIALIZED_NAME_ASSIGNED_TO) + @jakarta.annotation.Nullable + private UserFlatResponse assignedTo; + + public static final String SERIALIZED_NAME_CREATED_BY = "created_by"; + @SerializedName(SERIALIZED_NAME_CREATED_BY) + @jakarta.annotation.Nullable + private UserFlatResponse createdBy; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @jakarta.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @jakarta.annotation.Nonnull + private String updatedAt; + + public ProblemActionItem() { + } + + public ProblemActionItem problemId(@jakarta.annotation.Nullable String problemId) { + this.problemId = problemId; + return this; + } + + /** + * ID of the problem this action item belongs to + * @return problemId + */ + @jakarta.annotation.Nullable + public String getProblemId() { + return problemId; + } + + public void setProblemId(@jakarta.annotation.Nullable String problemId) { + this.problemId = problemId; + } + + + public ProblemActionItem summary(@jakarta.annotation.Nonnull String summary) { + this.summary = summary; + return this; + } + + /** + * The summary of the action item + * @return summary + */ + @jakarta.annotation.Nonnull + public String getSummary() { + return summary; + } + + public void setSummary(@jakarta.annotation.Nonnull String summary) { + this.summary = summary; + } + + + public ProblemActionItem description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the action item + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public ProblemActionItem assignedToUserId(@jakarta.annotation.Nullable Integer assignedToUserId) { + this.assignedToUserId = assignedToUserId; + return this; + } + + /** + * ID of user you wish to assign this action item + * @return assignedToUserId + */ + @jakarta.annotation.Nullable + public Integer getAssignedToUserId() { + return assignedToUserId; + } + + public void setAssignedToUserId(@jakarta.annotation.Nullable Integer assignedToUserId) { + this.assignedToUserId = assignedToUserId; + } + + + public ProblemActionItem priority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * The priority of the action item + * @return priority + */ + @jakarta.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public ProblemActionItem status(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * The status of the action item + * @return status + */ + @jakarta.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public ProblemActionItem dueDate(@jakarta.annotation.Nullable String dueDate) { + this.dueDate = dueDate; + return this; + } + + /** + * The due date of the action item + * @return dueDate + */ + @jakarta.annotation.Nullable + public String getDueDate() { + return dueDate; + } + + public void setDueDate(@jakarta.annotation.Nullable String dueDate) { + this.dueDate = dueDate; + } + + + public ProblemActionItem jiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + return this; + } + + /** + * The Jira issue URL. + * @return jiraIssueUrl + */ + @jakarta.annotation.Nullable + public String getJiraIssueUrl() { + return jiraIssueUrl; + } + + public void setJiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + } + + + public ProblemActionItem assignedTo(@jakarta.annotation.Nullable UserFlatResponse assignedTo) { + this.assignedTo = assignedTo; + return this; + } + + /** + * User assigned to this action item + * @return assignedTo + */ + @jakarta.annotation.Nullable + public UserFlatResponse getAssignedTo() { + return assignedTo; + } + + public void setAssignedTo(@jakarta.annotation.Nullable UserFlatResponse assignedTo) { + this.assignedTo = assignedTo; + } + + + public ProblemActionItem createdBy(@jakarta.annotation.Nullable UserFlatResponse createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * User who created this action item + * @return createdBy + */ + @jakarta.annotation.Nullable + public UserFlatResponse getCreatedBy() { + return createdBy; + } + + public void setCreatedBy(@jakarta.annotation.Nullable UserFlatResponse createdBy) { + this.createdBy = createdBy; + } + + + public ProblemActionItem createdAt(@jakarta.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @jakarta.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@jakarta.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public ProblemActionItem updatedAt(@jakarta.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @jakarta.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@jakarta.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemActionItem problemActionItem = (ProblemActionItem) o; + return Objects.equals(this.problemId, problemActionItem.problemId) && + Objects.equals(this.summary, problemActionItem.summary) && + Objects.equals(this.description, problemActionItem.description) && + Objects.equals(this.assignedToUserId, problemActionItem.assignedToUserId) && + Objects.equals(this.priority, problemActionItem.priority) && + Objects.equals(this.status, problemActionItem.status) && + Objects.equals(this.dueDate, problemActionItem.dueDate) && + Objects.equals(this.jiraIssueUrl, problemActionItem.jiraIssueUrl) && + Objects.equals(this.assignedTo, problemActionItem.assignedTo) && + Objects.equals(this.createdBy, problemActionItem.createdBy) && + Objects.equals(this.createdAt, problemActionItem.createdAt) && + Objects.equals(this.updatedAt, problemActionItem.updatedAt); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(problemId, summary, description, assignedToUserId, priority, status, dueDate, jiraIssueUrl, assignedTo, createdBy, createdAt, updatedAt); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemActionItem {\n"); + sb.append(" problemId: ").append(toIndentedString(problemId)).append("\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" assignedToUserId: ").append(toIndentedString(assignedToUserId)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); + sb.append(" assignedTo: ").append(toIndentedString(assignedTo)).append("\n"); + sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("problem_id"); + openapiFields.add("summary"); + openapiFields.add("description"); + openapiFields.add("assigned_to_user_id"); + openapiFields.add("priority"); + openapiFields.add("status"); + openapiFields.add("due_date"); + openapiFields.add("jira_issue_url"); + openapiFields.add("assigned_to"); + openapiFields.add("created_by"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("summary"); + openapiRequiredFields.add("created_at"); + openapiRequiredFields.add("updated_at"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemActionItem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemActionItem.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemActionItem is not found in the empty JSON string", ProblemActionItem.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemActionItem.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemActionItem` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemActionItem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("problem_id") != null && !jsonObj.get("problem_id").isJsonNull()) && !jsonObj.get("problem_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `problem_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("problem_id").toString())); + } + if (!jsonObj.get("summary").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("summary").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) && !jsonObj.get("priority").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `priority` to be a primitive type in the JSON string but got `%s`", jsonObj.get("priority").toString())); + } + // validate the optional field `priority` + if (jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) { + PriorityEnum.validateJsonElement(jsonObj.get("priority")); + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the optional field `status` + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) { + StatusEnum.validateJsonElement(jsonObj.get("status")); + } + if ((jsonObj.get("due_date") != null && !jsonObj.get("due_date").isJsonNull()) && !jsonObj.get("due_date").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `due_date` to be a primitive type in the JSON string but got `%s`", jsonObj.get("due_date").toString())); + } + if ((jsonObj.get("jira_issue_url") != null && !jsonObj.get("jira_issue_url").isJsonNull()) && !jsonObj.get("jira_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_url").toString())); + } + // validate the optional field `assigned_to` + if (jsonObj.get("assigned_to") != null && !jsonObj.get("assigned_to").isJsonNull()) { + UserFlatResponse.validateJsonElement(jsonObj.get("assigned_to")); + } + // validate the optional field `created_by` + if (jsonObj.get("created_by") != null && !jsonObj.get("created_by").isJsonNull()) { + UserFlatResponse.validateJsonElement(jsonObj.get("created_by")); + } + if (!jsonObj.get("created_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); + } + if (!jsonObj.get("updated_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `updated_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updated_at").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemActionItem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemActionItem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemActionItem.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemActionItem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemActionItem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemActionItem given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemActionItem + * @throws IOException if the JSON string is invalid with respect to ProblemActionItem + */ + public static ProblemActionItem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemActionItem.class); + } + + /** + * Convert an instance of ProblemActionItem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemActionItemList.java b/src/main/java/com/rootly/client/model/ProblemActionItemList.java new file mode 100644 index 00000000..237770e4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemActionItemList.java @@ -0,0 +1,344 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.ProblemActionItemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemActionItemList + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemActionItemList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @jakarta.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @jakarta.annotation.Nonnull + private Meta meta; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public ProblemActionItemList() { + } + + public ProblemActionItemList data(@jakarta.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public ProblemActionItemList addDataItem(ProblemActionItemResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull List data) { + this.data = data; + } + + + public ProblemActionItemList links(@jakarta.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @jakarta.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@jakarta.annotation.Nonnull Links links) { + this.links = links; + } + + + public ProblemActionItemList meta(@jakarta.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @jakarta.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@jakarta.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + public ProblemActionItemList included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public ProblemActionItemList addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemActionItemList problemActionItemList = (ProblemActionItemList) o; + return Objects.equals(this.data, problemActionItemList.data) && + Objects.equals(this.links, problemActionItemList.links) && + Objects.equals(this.meta, problemActionItemList.meta) && + Objects.equals(this.included, problemActionItemList.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemActionItemList {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" links: ").append(toIndentedString(links)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("links"); + openapiFields.add("meta"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemActionItemList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemActionItemList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemActionItemList is not found in the empty JSON string", ProblemActionItemList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemActionItemList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemActionItemList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemActionItemList.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + // validate the required field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + ProblemActionItemResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemActionItemList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemActionItemList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemActionItemList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemActionItemList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemActionItemList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemActionItemList given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemActionItemList + * @throws IOException if the JSON string is invalid with respect to ProblemActionItemList + */ + public static ProblemActionItemList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemActionItemList.class); + } + + /** + * Convert an instance of ProblemActionItemList to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemActionItemResponse.java b/src/main/java/com/rootly/client/model/ProblemActionItemResponse.java new file mode 100644 index 00000000..e5718ff4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemActionItemResponse.java @@ -0,0 +1,266 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.ProblemActionItemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemActionItemResponse + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemActionItemResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private ProblemActionItemResponseData data; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public ProblemActionItemResponse() { + } + + public ProblemActionItemResponse data(@jakarta.annotation.Nonnull ProblemActionItemResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public ProblemActionItemResponseData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull ProblemActionItemResponseData data) { + this.data = data; + } + + + public ProblemActionItemResponse included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public ProblemActionItemResponse addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemActionItemResponse problemActionItemResponse = (ProblemActionItemResponse) o; + return Objects.equals(this.data, problemActionItemResponse.data) && + Objects.equals(this.included, problemActionItemResponse.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemActionItemResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemActionItemResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemActionItemResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemActionItemResponse is not found in the empty JSON string", ProblemActionItemResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemActionItemResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemActionItemResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemActionItemResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + ProblemActionItemResponseData.validateJsonElement(jsonObj.get("data")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemActionItemResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemActionItemResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemActionItemResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemActionItemResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemActionItemResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemActionItemResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemActionItemResponse + * @throws IOException if the JSON string is invalid with respect to ProblemActionItemResponse + */ + public static ProblemActionItemResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemActionItemResponse.class); + } + + /** + * Convert an instance of ProblemActionItemResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemActionItemResponseData.java b/src/main/java/com/rootly/client/model/ProblemActionItemResponseData.java new file mode 100644 index 00000000..680e23b4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemActionItemResponseData.java @@ -0,0 +1,328 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.ProblemActionItem; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemActionItemResponseData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemActionItemResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEM_ACTION_ITEMS("problem_action_items"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private ProblemActionItem attributes; + + public ProblemActionItemResponseData() { + } + + public ProblemActionItemResponseData id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the action item + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public ProblemActionItemResponseData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public ProblemActionItemResponseData attributes(@jakarta.annotation.Nonnull ProblemActionItem attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public ProblemActionItem getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull ProblemActionItem attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemActionItemResponseData problemActionItemResponseData = (ProblemActionItemResponseData) o; + return Objects.equals(this.id, problemActionItemResponseData.id) && + Objects.equals(this.type, problemActionItemResponseData.type) && + Objects.equals(this.attributes, problemActionItemResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemActionItemResponseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemActionItemResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemActionItemResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemActionItemResponseData is not found in the empty JSON string", ProblemActionItemResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemActionItemResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemActionItemResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemActionItemResponseData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + ProblemActionItem.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemActionItemResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemActionItemResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemActionItemResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemActionItemResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemActionItemResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemActionItemResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemActionItemResponseData + * @throws IOException if the JSON string is invalid with respect to ProblemActionItemResponseData + */ + public static ProblemActionItemResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemActionItemResponseData.class); + } + + /** + * Convert an instance of ProblemActionItemResponseData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemList.java b/src/main/java/com/rootly/client/model/ProblemList.java new file mode 100644 index 00000000..eecd69f8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemList.java @@ -0,0 +1,344 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.ProblemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemList + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @jakarta.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @jakarta.annotation.Nonnull + private Meta meta; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public ProblemList() { + } + + public ProblemList data(@jakarta.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public ProblemList addDataItem(ProblemResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull List data) { + this.data = data; + } + + + public ProblemList links(@jakarta.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @jakarta.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@jakarta.annotation.Nonnull Links links) { + this.links = links; + } + + + public ProblemList meta(@jakarta.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @jakarta.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@jakarta.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + public ProblemList included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public ProblemList addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemList problemList = (ProblemList) o; + return Objects.equals(this.data, problemList.data) && + Objects.equals(this.links, problemList.links) && + Objects.equals(this.meta, problemList.meta) && + Objects.equals(this.included, problemList.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemList {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" links: ").append(toIndentedString(links)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("links"); + openapiFields.add("meta"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemList is not found in the empty JSON string", ProblemList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemList.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + // validate the required field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + ProblemResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemList given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemList + * @throws IOException if the JSON string is invalid with respect to ProblemList + */ + public static ProblemList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemList.class); + } + + /** + * Convert an instance of ProblemList to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemResponse.java b/src/main/java/com/rootly/client/model/ProblemResponse.java new file mode 100644 index 00000000..d6e7ef60 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemResponse.java @@ -0,0 +1,266 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.ProblemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemResponse + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private ProblemResponseData data; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public ProblemResponse() { + } + + public ProblemResponse data(@jakarta.annotation.Nonnull ProblemResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public ProblemResponseData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull ProblemResponseData data) { + this.data = data; + } + + + public ProblemResponse included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public ProblemResponse addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemResponse problemResponse = (ProblemResponse) o; + return Objects.equals(this.data, problemResponse.data) && + Objects.equals(this.included, problemResponse.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemResponse is not found in the empty JSON string", ProblemResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + ProblemResponseData.validateJsonElement(jsonObj.get("data")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemResponse + * @throws IOException if the JSON string is invalid with respect to ProblemResponse + */ + public static ProblemResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemResponse.class); + } + + /** + * Convert an instance of ProblemResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ProblemResponseData.java b/src/main/java/com/rootly/client/model/ProblemResponseData.java new file mode 100644 index 00000000..9fb1a34b --- /dev/null +++ b/src/main/java/com/rootly/client/model/ProblemResponseData.java @@ -0,0 +1,328 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.Problem; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ProblemResponseData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ProblemResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEMS("problems"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private Problem attributes; + + public ProblemResponseData() { + } + + public ProblemResponseData id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the problem + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public ProblemResponseData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public ProblemResponseData attributes(@jakarta.annotation.Nonnull Problem attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public Problem getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull Problem attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemResponseData problemResponseData = (ProblemResponseData) o; + return Objects.equals(this.id, problemResponseData.id) && + Objects.equals(this.type, problemResponseData.type) && + Objects.equals(this.attributes, problemResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemResponseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ProblemResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ProblemResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ProblemResponseData is not found in the empty JSON string", ProblemResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ProblemResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ProblemResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ProblemResponseData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + Problem.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ProblemResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ProblemResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ProblemResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ProblemResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ProblemResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ProblemResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ProblemResponseData + * @throws IOException if the JSON string is invalid with respect to ProblemResponseData + */ + public static ProblemResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ProblemResponseData.class); + } + + /** + * Convert an instance of ProblemResponseData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java b/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java index a14a1798..34b2f7be 100644 --- a/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java @@ -23,7 +23,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -52,7 +54,7 @@ /** * PublishIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PublishIncidentTaskParams { /** * Gets or Sets taskType @@ -216,6 +218,138 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List statusPageIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_COMPONENT_KEYS = "selected_component_keys"; + @SerializedName(SERIALIZED_NAME_SELECTED_COMPONENT_KEYS) + @jakarta.annotation.Nullable + private List selectedComponentKeys = new ArrayList<>(); + + /** + * Gets or Sets inner + */ + @JsonAdapter(InnerEnum.Adapter.class) + public enum InnerEnum { + OPERATIONAL("operational"), + + DEGRADED_PERFORMANCE("degraded_performance"), + + PARTIAL_OUTAGE("partial_outage"), + + MAJOR_OUTAGE("major_outage"); + + private String value; + + InnerEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static InnerEnum fromValue(String value) { + for (InnerEnum b : InnerEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final InnerEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public InnerEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return InnerEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + InnerEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SELECTED_COMPONENT_STATUSES = "selected_component_statuses"; + @SerializedName(SERIALIZED_NAME_SELECTED_COMPONENT_STATUSES) + @jakarta.annotation.Nullable + private Map selectedComponentStatuses = new HashMap<>(); + + public static final String SERIALIZED_NAME_SYNC_INCIDENT_COMPONENTS = "sync_incident_components"; + @SerializedName(SERIALIZED_NAME_SYNC_INCIDENT_COMPONENTS) + @jakarta.annotation.Nullable + private Boolean syncIncidentComponents; + + /** + * Impact status published for components synced from the incident. Defaults to degraded_performance. A component also listed in selected_component_keys keeps its selected_component_statuses entry. + */ + @JsonAdapter(SyncedComponentStatusEnum.Adapter.class) + public enum SyncedComponentStatusEnum { + OPERATIONAL("operational"), + + DEGRADED_PERFORMANCE("degraded_performance"), + + PARTIAL_OUTAGE("partial_outage"), + + MAJOR_OUTAGE("major_outage"); + + private String value; + + SyncedComponentStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SyncedComponentStatusEnum fromValue(String value) { + for (SyncedComponentStatusEnum b : SyncedComponentStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SyncedComponentStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SyncedComponentStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SyncedComponentStatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SyncedComponentStatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SYNCED_COMPONENT_STATUS = "synced_component_status"; + @SerializedName(SERIALIZED_NAME_SYNCED_COMPONENT_STATUS) + @jakarta.annotation.Nullable + private SyncedComponentStatusEnum syncedComponentStatus; + public static final String SERIALIZED_NAME_INTEGRATION_PAYLOAD = "integration_payload"; @SerializedName(SERIALIZED_NAME_INTEGRATION_PAYLOAD) @jakarta.annotation.Nullable @@ -409,7 +543,7 @@ public PublishIncidentTaskParams addStatusPageIdsItem(String statusPageIdsItem) } /** - * Publishes the update to every listed status page (requires the status-page-v3-limited-bulk-publish feature). When set, it takes precedence over status_page_id and the first entry becomes status_page_id. + * Publishes the update to every listed status page. This field is in limited Early Access; contact Rootly Support to request access. When set, it takes precedence over status_page_id and the first entry becomes status_page_id. * @return statusPageIds */ @jakarta.annotation.Nullable @@ -422,6 +556,98 @@ public void setStatusPageIds(@jakarta.annotation.Nullable List statusPag } + public PublishIncidentTaskParams selectedComponentKeys(@jakarta.annotation.Nullable List selectedComponentKeys) { + this.selectedComponentKeys = selectedComponentKeys; + return this; + } + + public PublishIncidentTaskParams addSelectedComponentKeysItem(String selectedComponentKeysItem) { + if (this.selectedComponentKeys == null) { + this.selectedComponentKeys = new ArrayList<>(); + } + this.selectedComponentKeys.add(selectedComponentKeysItem); + return this; + } + + /** + * Composite \"SourceType:<id>\" keys of the status page components affected by the publish. This field is in Early Access and is not generally available; contact Rootly Support to request access. + * @return selectedComponentKeys + */ + @jakarta.annotation.Nullable + public List getSelectedComponentKeys() { + return selectedComponentKeys; + } + + public void setSelectedComponentKeys(@jakarta.annotation.Nullable List selectedComponentKeys) { + this.selectedComponentKeys = selectedComponentKeys; + } + + + public PublishIncidentTaskParams selectedComponentStatuses(@jakarta.annotation.Nullable Map selectedComponentStatuses) { + this.selectedComponentStatuses = selectedComponentStatuses; + return this; + } + + public PublishIncidentTaskParams putSelectedComponentStatusesItem(String key, InnerEnum selectedComponentStatusesItem) { + if (this.selectedComponentStatuses == null) { + this.selectedComponentStatuses = new HashMap<>(); + } + this.selectedComponentStatuses.put(key, selectedComponentStatusesItem); + return this; + } + + /** + * Impact status to publish for each selected component key. Keys must match selected_component_keys entries. + * @return selectedComponentStatuses + */ + @jakarta.annotation.Nullable + public Map getSelectedComponentStatuses() { + return selectedComponentStatuses; + } + + public void setSelectedComponentStatuses(@jakarta.annotation.Nullable Map selectedComponentStatuses) { + this.selectedComponentStatuses = selectedComponentStatuses; + } + + + public PublishIncidentTaskParams syncIncidentComponents(@jakarta.annotation.Nullable Boolean syncIncidentComponents) { + this.syncIncidentComponents = syncIncidentComponents; + return this; + } + + /** + * When true, every run also publishes the incident's tagged services and functionalities that are components on the target page. Defaults to true when selected_component_keys is empty. This field is in Early Access and is not generally available; contact Rootly Support to request access. + * @return syncIncidentComponents + */ + @jakarta.annotation.Nullable + public Boolean getSyncIncidentComponents() { + return syncIncidentComponents; + } + + public void setSyncIncidentComponents(@jakarta.annotation.Nullable Boolean syncIncidentComponents) { + this.syncIncidentComponents = syncIncidentComponents; + } + + + public PublishIncidentTaskParams syncedComponentStatus(@jakarta.annotation.Nullable SyncedComponentStatusEnum syncedComponentStatus) { + this.syncedComponentStatus = syncedComponentStatus; + return this; + } + + /** + * Impact status published for components synced from the incident. Defaults to degraded_performance. A component also listed in selected_component_keys keeps its selected_component_statuses entry. + * @return syncedComponentStatus + */ + @jakarta.annotation.Nullable + public SyncedComponentStatusEnum getSyncedComponentStatus() { + return syncedComponentStatus; + } + + public void setSyncedComponentStatus(@jakarta.annotation.Nullable SyncedComponentStatusEnum syncedComponentStatus) { + this.syncedComponentStatus = syncedComponentStatus; + } + + public PublishIncidentTaskParams integrationPayload(@jakarta.annotation.Nullable String integrationPayload) { this.integrationPayload = integrationPayload; return this; @@ -461,6 +687,10 @@ public boolean equals(Object o) { Objects.equals(this.statusPageTemplate, publishIncidentTaskParams.statusPageTemplate) && Objects.equals(this.statusPageId, publishIncidentTaskParams.statusPageId) && Objects.equals(this.statusPageIds, publishIncidentTaskParams.statusPageIds) && + Objects.equals(this.selectedComponentKeys, publishIncidentTaskParams.selectedComponentKeys) && + Objects.equals(this.selectedComponentStatuses, publishIncidentTaskParams.selectedComponentStatuses) && + Objects.equals(this.syncIncidentComponents, publishIncidentTaskParams.syncIncidentComponents) && + Objects.equals(this.syncedComponentStatus, publishIncidentTaskParams.syncedComponentStatus) && Objects.equals(this.integrationPayload, publishIncidentTaskParams.integrationPayload); } @@ -470,7 +700,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(taskType, incident, publicTitle, event, status, notifySubscribers, shouldTweet, statusPageTemplate, statusPageId, statusPageIds, integrationPayload); + return Objects.hash(taskType, incident, publicTitle, event, status, notifySubscribers, shouldTweet, statusPageTemplate, statusPageId, statusPageIds, selectedComponentKeys, selectedComponentStatuses, syncIncidentComponents, syncedComponentStatus, integrationPayload); } private static int hashCodeNullable(JsonNullable a) { @@ -494,6 +724,10 @@ public String toString() { sb.append(" statusPageTemplate: ").append(toIndentedString(statusPageTemplate)).append("\n"); sb.append(" statusPageId: ").append(toIndentedString(statusPageId)).append("\n"); sb.append(" statusPageIds: ").append(toIndentedString(statusPageIds)).append("\n"); + sb.append(" selectedComponentKeys: ").append(toIndentedString(selectedComponentKeys)).append("\n"); + sb.append(" selectedComponentStatuses: ").append(toIndentedString(selectedComponentStatuses)).append("\n"); + sb.append(" syncIncidentComponents: ").append(toIndentedString(syncIncidentComponents)).append("\n"); + sb.append(" syncedComponentStatus: ").append(toIndentedString(syncedComponentStatus)).append("\n"); sb.append(" integrationPayload: ").append(toIndentedString(integrationPayload)).append("\n"); sb.append("}"); return sb.toString(); @@ -527,6 +761,10 @@ private String toIndentedString(Object o) { openapiFields.add("status_page_template"); openapiFields.add("status_page_id"); openapiFields.add("status_page_ids"); + openapiFields.add("selected_component_keys"); + openapiFields.add("selected_component_statuses"); + openapiFields.add("sync_incident_components"); + openapiFields.add("synced_component_status"); openapiFields.add("integration_payload"); // a set of required properties/fields (JSON key names) @@ -596,6 +834,17 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("status_page_ids") != null && !jsonObj.get("status_page_ids").isJsonNull() && !jsonObj.get("status_page_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `status_page_ids` to be an array in the JSON string but got `%s`", jsonObj.get("status_page_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_component_keys") != null && !jsonObj.get("selected_component_keys").isJsonNull() && !jsonObj.get("selected_component_keys").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_component_keys` to be an array in the JSON string but got `%s`", jsonObj.get("selected_component_keys").toString())); + } + if ((jsonObj.get("synced_component_status") != null && !jsonObj.get("synced_component_status").isJsonNull()) && !jsonObj.get("synced_component_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `synced_component_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("synced_component_status").toString())); + } + // validate the optional field `synced_component_status` + if (jsonObj.get("synced_component_status") != null && !jsonObj.get("synced_component_status").isJsonNull()) { + SyncedComponentStatusEnum.validateJsonElement(jsonObj.get("synced_component_status")); + } if ((jsonObj.get("integration_payload") != null && !jsonObj.get("integration_payload").isJsonNull()) && !jsonObj.get("integration_payload").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `integration_payload` to be a primitive type in the JSON string but got `%s`", jsonObj.get("integration_payload").toString())); } diff --git a/src/main/java/com/rootly/client/model/Pulse.java b/src/main/java/com/rootly/client/model/Pulse.java index 58ee235e..2650158a 100644 --- a/src/main/java/com/rootly/client/model/Pulse.java +++ b/src/main/java/com/rootly/client/model/Pulse.java @@ -20,8 +20,8 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Environment; -import com.rootly.client.model.NewPulseDataAttributesLabelsInner; -import com.rootly.client.model.NewPulseDataAttributesRefsInner; +import com.rootly.client.model.PulseLabelsInner; +import com.rootly.client.model.PulseRefsInner; import com.rootly.client.model.Service; import java.io.IOException; import java.util.ArrayList; @@ -55,7 +55,7 @@ /** * Pulse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Pulse { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) @@ -85,12 +85,12 @@ public class Pulse { public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @jakarta.annotation.Nullable - private List labels = new ArrayList<>(); + private List labels = new ArrayList<>(); public static final String SERIALIZED_NAME_REFS = "refs"; @SerializedName(SERIALIZED_NAME_REFS) @jakarta.annotation.Nullable - private List refs = new ArrayList<>(); + private List refs = new ArrayList<>(); public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -221,12 +221,12 @@ public void setExternalUrl(@jakarta.annotation.Nullable String externalUrl) { } - public Pulse labels(@jakarta.annotation.Nullable List labels) { + public Pulse labels(@jakarta.annotation.Nullable List labels) { this.labels = labels; return this; } - public Pulse addLabelsItem(NewPulseDataAttributesLabelsInner labelsItem) { + public Pulse addLabelsItem(PulseLabelsInner labelsItem) { if (this.labels == null) { this.labels = new ArrayList<>(); } @@ -239,21 +239,21 @@ public Pulse addLabelsItem(NewPulseDataAttributesLabelsInner labelsItem) { * @return labels */ @jakarta.annotation.Nullable - public List getLabels() { + public List getLabels() { return labels; } - public void setLabels(@jakarta.annotation.Nullable List labels) { + public void setLabels(@jakarta.annotation.Nullable List labels) { this.labels = labels; } - public Pulse refs(@jakarta.annotation.Nullable List refs) { + public Pulse refs(@jakarta.annotation.Nullable List refs) { this.refs = refs; return this; } - public Pulse addRefsItem(NewPulseDataAttributesRefsInner refsItem) { + public Pulse addRefsItem(PulseRefsInner refsItem) { if (this.refs == null) { this.refs = new ArrayList<>(); } @@ -266,11 +266,11 @@ public Pulse addRefsItem(NewPulseDataAttributesRefsInner refsItem) { * @return refs */ @jakarta.annotation.Nullable - public List getRefs() { + public List getRefs() { return refs; } - public void setRefs(@jakarta.annotation.Nullable List refs) { + public void setRefs(@jakarta.annotation.Nullable List refs) { this.refs = refs; } @@ -499,7 +499,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `labels` (array) for (int i = 0; i < jsonArraylabels.size(); i++) { - NewPulseDataAttributesLabelsInner.validateJsonElement(jsonArraylabels.get(i)); + PulseLabelsInner.validateJsonElement(jsonArraylabels.get(i)); }; } } @@ -513,7 +513,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `refs` (array) for (int i = 0; i < jsonArrayrefs.size(); i++) { - NewPulseDataAttributesRefsInner.validateJsonElement(jsonArrayrefs.get(i)); + PulseRefsInner.validateJsonElement(jsonArrayrefs.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/PulseLabelsInner.java b/src/main/java/com/rootly/client/model/PulseLabelsInner.java new file mode 100644 index 00000000..211e51f9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PulseLabelsInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PulseLabelsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PulseLabelsInner { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @jakarta.annotation.Nonnull + private String key; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @jakarta.annotation.Nonnull + private String value; + + public PulseLabelsInner() { + } + + public PulseLabelsInner key(@jakarta.annotation.Nonnull String key) { + this.key = key; + return this; + } + + /** + * Key of the tag + * @return key + */ + @jakarta.annotation.Nonnull + public String getKey() { + return key; + } + + public void setKey(@jakarta.annotation.Nonnull String key) { + this.key = key; + } + + + public PulseLabelsInner value(@jakarta.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * Value of the tag + * @return value + */ + @jakarta.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@jakarta.annotation.Nonnull String value) { + this.value = value; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PulseLabelsInner pulseLabelsInner = (PulseLabelsInner) o; + return Objects.equals(this.key, pulseLabelsInner.key) && + Objects.equals(this.value, pulseLabelsInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(key, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PulseLabelsInner {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("key"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("key"); + openapiRequiredFields.add("value"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PulseLabelsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PulseLabelsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PulseLabelsInner is not found in the empty JSON string", PulseLabelsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PulseLabelsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PulseLabelsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PulseLabelsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("key").toString())); + } + if (!jsonObj.get("value").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `value` to be a primitive type in the JSON string but got `%s`", jsonObj.get("value").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PulseLabelsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PulseLabelsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PulseLabelsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PulseLabelsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PulseLabelsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PulseLabelsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PulseLabelsInner + * @throws IOException if the JSON string is invalid with respect to PulseLabelsInner + */ + public static PulseLabelsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PulseLabelsInner.class); + } + + /** + * Convert an instance of PulseLabelsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PulseList.java b/src/main/java/com/rootly/client/model/PulseList.java index 36edfe50..c222e896 100644 --- a/src/main/java/com/rootly/client/model/PulseList.java +++ b/src/main/java/com/rootly/client/model/PulseList.java @@ -54,7 +54,7 @@ /** * PulseList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PulseList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PulseRefsInner.java b/src/main/java/com/rootly/client/model/PulseRefsInner.java new file mode 100644 index 00000000..8fe57053 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PulseRefsInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * PulseRefsInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PulseRefsInner { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @jakarta.annotation.Nonnull + private String key; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @jakarta.annotation.Nonnull + private String value; + + public PulseRefsInner() { + } + + public PulseRefsInner key(@jakarta.annotation.Nonnull String key) { + this.key = key; + return this; + } + + /** + * Key of the ref + * @return key + */ + @jakarta.annotation.Nonnull + public String getKey() { + return key; + } + + public void setKey(@jakarta.annotation.Nonnull String key) { + this.key = key; + } + + + public PulseRefsInner value(@jakarta.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * Value of the ref + * @return value + */ + @jakarta.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@jakarta.annotation.Nonnull String value) { + this.value = value; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PulseRefsInner pulseRefsInner = (PulseRefsInner) o; + return Objects.equals(this.key, pulseRefsInner.key) && + Objects.equals(this.value, pulseRefsInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(key, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PulseRefsInner {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("key"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("key"); + openapiRequiredFields.add("value"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PulseRefsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PulseRefsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PulseRefsInner is not found in the empty JSON string", PulseRefsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PulseRefsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PulseRefsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PulseRefsInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("key").toString())); + } + if (!jsonObj.get("value").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `value` to be a primitive type in the JSON string but got `%s`", jsonObj.get("value").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PulseRefsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PulseRefsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PulseRefsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PulseRefsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PulseRefsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PulseRefsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PulseRefsInner + * @throws IOException if the JSON string is invalid with respect to PulseRefsInner + */ + public static PulseRefsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PulseRefsInner.class); + } + + /** + * Convert an instance of PulseRefsInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/PulseResponse.java b/src/main/java/com/rootly/client/model/PulseResponse.java index b171a593..913e38b2 100644 --- a/src/main/java/com/rootly/client/model/PulseResponse.java +++ b/src/main/java/com/rootly/client/model/PulseResponse.java @@ -52,7 +52,7 @@ /** * PulseResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PulseResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/PulseResponseData.java b/src/main/java/com/rootly/client/model/PulseResponseData.java index bc2c2977..2a945e5f 100644 --- a/src/main/java/com/rootly/client/model/PulseResponseData.java +++ b/src/main/java/com/rootly/client/model/PulseResponseData.java @@ -49,7 +49,7 @@ /** * PulseResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PulseResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/PulseTriggerParams.java b/src/main/java/com/rootly/client/model/PulseTriggerParams.java index 3c018d68..705650c0 100644 --- a/src/main/java/com/rootly/client/model/PulseTriggerParams.java +++ b/src/main/java/com/rootly/client/model/PulseTriggerParams.java @@ -51,7 +51,7 @@ /** * PulseTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PulseTriggerParams { /** * Gets or Sets triggerType diff --git a/src/main/java/com/rootly/client/model/Receipt.java b/src/main/java/com/rootly/client/model/Receipt.java index 8b72a717..c6f0378e 100644 --- a/src/main/java/com/rootly/client/model/Receipt.java +++ b/src/main/java/com/rootly/client/model/Receipt.java @@ -48,7 +48,7 @@ /** * Receipt */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Receipt { /** * Delivery state of the receipt. diff --git a/src/main/java/com/rootly/client/model/RedisClientTaskParams.java b/src/main/java/com/rootly/client/model/RedisClientTaskParams.java index d023b908..32bc3c97 100644 --- a/src/main/java/com/rootly/client/model/RedisClientTaskParams.java +++ b/src/main/java/com/rootly/client/model/RedisClientTaskParams.java @@ -51,7 +51,7 @@ /** * RedisClientTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RedisClientTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/RelatedIncidents.java b/src/main/java/com/rootly/client/model/RelatedIncidents.java new file mode 100644 index 00000000..f28851b3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/RelatedIncidents.java @@ -0,0 +1,351 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * RelatedIncidents + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class RelatedIncidents { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + RELATED_INCIDENTS("related_incidents"); + + private String value; + + RuleTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) + @jakarta.annotation.Nonnull + private RuleTypeEnum ruleType; + + /** + * Whether the alert must (or must not) have related incidents + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS_SET("is_set"), + + IS_NOT_SET("is_not_set"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @jakarta.annotation.Nonnull + private OperatorEnum operator; + + public RelatedIncidents() { + } + + public RelatedIncidents ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public RelatedIncidents operator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * Whether the alert must (or must not) have related incidents + * @return operator + */ + @jakarta.annotation.Nonnull + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@jakarta.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RelatedIncidents relatedIncidents = (RelatedIncidents) o; + return Objects.equals(this.ruleType, relatedIncidents.ruleType) && + Objects.equals(this.operator, relatedIncidents.operator); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, operator); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RelatedIncidents {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("rule_type"); + openapiFields.add("operator"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("operator"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to RelatedIncidents + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!RelatedIncidents.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RelatedIncidents is not found in the empty JSON string", RelatedIncidents.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!RelatedIncidents.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `RelatedIncidents` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RelatedIncidents.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); + } + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + if (!jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); + } + // validate the required field `operator` + OperatorEnum.validateJsonElement(jsonObj.get("operator")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RelatedIncidents.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RelatedIncidents' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RelatedIncidents.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RelatedIncidents value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public RelatedIncidents read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RelatedIncidents given an JSON string + * + * @param jsonString JSON string + * @return An instance of RelatedIncidents + * @throws IOException if the JSON string is invalid with respect to RelatedIncidents + */ + public static RelatedIncidents fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RelatedIncidents.class); + } + + /** + * Convert an instance of RelatedIncidents to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/RemoveFromSlackChannelTaskParams.java b/src/main/java/com/rootly/client/model/RemoveFromSlackChannelTaskParams.java new file mode 100644 index 00000000..08a8d39f --- /dev/null +++ b/src/main/java/com/rootly/client/model/RemoveFromSlackChannelTaskParams.java @@ -0,0 +1,371 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * RemoveFromSlackChannelTaskParams + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class RemoveFromSlackChannelTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + REMOVE_FROM_SLACK_CHANNEL("remove_from_slack_channel"); + + private String value; + + TaskTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TaskTypeEnum fromValue(String value) { + for (TaskTypeEnum b : TaskTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TaskTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TaskTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TaskTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TaskTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TASK_TYPE = "task_type"; + @SerializedName(SERIALIZED_NAME_TASK_TYPE) + @jakarta.annotation.Nullable + private TaskTypeEnum taskType; + + /** + * Gets or Sets targetKind + */ + @JsonAdapter(TargetKindEnum.Adapter.class) + public enum TargetKindEnum { + USERS_WITHOUT_PRIVATE_INCIDENT_ACCESS("users_without_private_incident_access"); + + private String value; + + TargetKindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TargetKindEnum fromValue(String value) { + for (TargetKindEnum b : TargetKindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TargetKindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TargetKindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TargetKindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TargetKindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TARGET_KIND = "target_kind"; + @SerializedName(SERIALIZED_NAME_TARGET_KIND) + @jakarta.annotation.Nullable + private TargetKindEnum targetKind; + + public static final String SERIALIZED_NAME_DRY_RUN = "dry_run"; + @SerializedName(SERIALIZED_NAME_DRY_RUN) + @jakarta.annotation.Nullable + private Boolean dryRun; + + public RemoveFromSlackChannelTaskParams() { + } + + public RemoveFromSlackChannelTaskParams taskType(@jakarta.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @jakarta.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@jakarta.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public RemoveFromSlackChannelTaskParams targetKind(@jakarta.annotation.Nullable TargetKindEnum targetKind) { + this.targetKind = targetKind; + return this; + } + + /** + * Get targetKind + * @return targetKind + */ + @jakarta.annotation.Nullable + public TargetKindEnum getTargetKind() { + return targetKind; + } + + public void setTargetKind(@jakarta.annotation.Nullable TargetKindEnum targetKind) { + this.targetKind = targetKind; + } + + + public RemoveFromSlackChannelTaskParams dryRun(@jakarta.annotation.Nullable Boolean dryRun) { + this.dryRun = dryRun; + return this; + } + + /** + * Get dryRun + * @return dryRun + */ + @jakarta.annotation.Nullable + public Boolean getDryRun() { + return dryRun; + } + + public void setDryRun(@jakarta.annotation.Nullable Boolean dryRun) { + this.dryRun = dryRun; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RemoveFromSlackChannelTaskParams removeFromSlackChannelTaskParams = (RemoveFromSlackChannelTaskParams) o; + return Objects.equals(this.taskType, removeFromSlackChannelTaskParams.taskType) && + Objects.equals(this.targetKind, removeFromSlackChannelTaskParams.targetKind) && + Objects.equals(this.dryRun, removeFromSlackChannelTaskParams.dryRun); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, targetKind, dryRun); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RemoveFromSlackChannelTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" targetKind: ").append(toIndentedString(targetKind)).append("\n"); + sb.append(" dryRun: ").append(toIndentedString(dryRun)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("task_type"); + openapiFields.add("target_kind"); + openapiFields.add("dry_run"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to RemoveFromSlackChannelTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!RemoveFromSlackChannelTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RemoveFromSlackChannelTaskParams is not found in the empty JSON string", RemoveFromSlackChannelTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!RemoveFromSlackChannelTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `RemoveFromSlackChannelTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) && !jsonObj.get("task_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `task_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("task_type").toString())); + } + // validate the optional field `task_type` + if (jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) { + TaskTypeEnum.validateJsonElement(jsonObj.get("task_type")); + } + if ((jsonObj.get("target_kind") != null && !jsonObj.get("target_kind").isJsonNull()) && !jsonObj.get("target_kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `target_kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("target_kind").toString())); + } + // validate the optional field `target_kind` + if (jsonObj.get("target_kind") != null && !jsonObj.get("target_kind").isJsonNull()) { + TargetKindEnum.validateJsonElement(jsonObj.get("target_kind")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RemoveFromSlackChannelTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RemoveFromSlackChannelTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RemoveFromSlackChannelTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RemoveFromSlackChannelTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public RemoveFromSlackChannelTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RemoveFromSlackChannelTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of RemoveFromSlackChannelTaskParams + * @throws IOException if the JSON string is invalid with respect to RemoveFromSlackChannelTaskParams + */ + public static RemoveFromSlackChannelTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RemoveFromSlackChannelTaskParams.class); + } + + /** + * Convert an instance of RemoveFromSlackChannelTaskParams to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java b/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java index 9e3c5118..64c9b61f 100644 --- a/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java +++ b/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java @@ -48,7 +48,7 @@ /** * RemoveGoogleDocsPermissionsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RemoveGoogleDocsPermissionsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/RemoveSubscribers.java b/src/main/java/com/rootly/client/model/RemoveSubscribers.java index 2b537cf7..a14a8159 100644 --- a/src/main/java/com/rootly/client/model/RemoveSubscribers.java +++ b/src/main/java/com/rootly/client/model/RemoveSubscribers.java @@ -49,7 +49,7 @@ /** * RemoveSubscribers */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RemoveSubscribers { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RemoveSubscribersData.java b/src/main/java/com/rootly/client/model/RemoveSubscribersData.java index 4c5fb39f..404dc013 100644 --- a/src/main/java/com/rootly/client/model/RemoveSubscribersData.java +++ b/src/main/java/com/rootly/client/model/RemoveSubscribersData.java @@ -49,7 +49,7 @@ /** * RemoveSubscribersData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RemoveSubscribersData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/RemoveSubscribersDataAttributes.java b/src/main/java/com/rootly/client/model/RemoveSubscribersDataAttributes.java index 29511a81..f6ff8902 100644 --- a/src/main/java/com/rootly/client/model/RemoveSubscribersDataAttributes.java +++ b/src/main/java/com/rootly/client/model/RemoveSubscribersDataAttributes.java @@ -51,7 +51,7 @@ /** * RemoveSubscribersDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RemoveSubscribersDataAttributes { public static final String SERIALIZED_NAME_USER_IDS = "user_ids"; @SerializedName(SERIALIZED_NAME_USER_IDS) diff --git a/src/main/java/com/rootly/client/model/RenameGoogleChatSpaceTaskParams.java b/src/main/java/com/rootly/client/model/RenameGoogleChatSpaceTaskParams.java index 30f9f4d6..350b24b8 100644 --- a/src/main/java/com/rootly/client/model/RenameGoogleChatSpaceTaskParams.java +++ b/src/main/java/com/rootly/client/model/RenameGoogleChatSpaceTaskParams.java @@ -49,7 +49,7 @@ /** * RenameGoogleChatSpaceTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RenameGoogleChatSpaceTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java index 58108b8e..5ed38341 100644 --- a/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java @@ -49,7 +49,7 @@ /** * RenameMicrosoftTeamsChannelTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RenameMicrosoftTeamsChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/RenameSlackChannelTaskParams.java b/src/main/java/com/rootly/client/model/RenameSlackChannelTaskParams.java index 767a5046..cdf1a83e 100644 --- a/src/main/java/com/rootly/client/model/RenameSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/RenameSlackChannelTaskParams.java @@ -49,7 +49,7 @@ /** * RenameSlackChannelTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RenameSlackChannelTaskParams { /** * Gets or Sets taskType @@ -116,6 +116,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private String title; + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public RenameSlackChannelTaskParams() { } @@ -176,6 +186,44 @@ public void setTitle(@jakarta.annotation.Nonnull String title) { } + public RenameSlackChannelTaskParams retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. + * @return retryCount + */ + @jakarta.annotation.Nullable + public Integer getRetryCount() { + return retryCount; + } + + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public RenameSlackChannelTaskParams retryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + return this; + } + + /** + * Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. + * @return retryWaitTime + */ + @jakarta.annotation.Nullable + public Integer getRetryWaitTime() { + return retryWaitTime; + } + + public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + } + + @Override public boolean equals(Object o) { @@ -188,12 +236,14 @@ public boolean equals(Object o) { RenameSlackChannelTaskParams renameSlackChannelTaskParams = (RenameSlackChannelTaskParams) o; return Objects.equals(this.taskType, renameSlackChannelTaskParams.taskType) && Objects.equals(this.channel, renameSlackChannelTaskParams.channel) && - Objects.equals(this.title, renameSlackChannelTaskParams.title); + Objects.equals(this.title, renameSlackChannelTaskParams.title) && + Objects.equals(this.retryCount, renameSlackChannelTaskParams.retryCount) && + Objects.equals(this.retryWaitTime, renameSlackChannelTaskParams.retryWaitTime); } @Override public int hashCode() { - return Objects.hash(taskType, channel, title); + return Objects.hash(taskType, channel, title, retryCount, retryWaitTime); } @Override @@ -203,6 +253,8 @@ public String toString() { sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); sb.append(" channel: ").append(toIndentedString(channel)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -228,6 +280,8 @@ private String toIndentedString(Object o) { openapiFields.add("task_type"); openapiFields.add("channel"); openapiFields.add("title"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/ResolveAlert.java b/src/main/java/com/rootly/client/model/ResolveAlert.java index cd313b11..5c1f8489 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlert.java +++ b/src/main/java/com/rootly/client/model/ResolveAlert.java @@ -49,7 +49,7 @@ /** * ResolveAlert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveAlert { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ResolveAlertData.java b/src/main/java/com/rootly/client/model/ResolveAlertData.java index 2a36e4b6..60056602 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlertData.java +++ b/src/main/java/com/rootly/client/model/ResolveAlertData.java @@ -49,7 +49,7 @@ /** * ResolveAlertData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java b/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java index 3bcda96c..58874be5 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import java.io.IOException; import java.util.Arrays; import org.openapitools.jackson.nullable.JsonNullable; @@ -49,7 +50,7 @@ /** * ResolveAlertDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveAlertDataAttributes { public static final String SERIALIZED_NAME_RESOLUTION_MESSAGE = "resolution_message"; @SerializedName(SERIALIZED_NAME_RESOLUTION_MESSAGE) @@ -61,6 +62,11 @@ public class ResolveAlertDataAttributes { @jakarta.annotation.Nullable private Boolean resolveRelatedIncidents; + public static final String SERIALIZED_NAME_ACTOR = "actor"; + @SerializedName(SERIALIZED_NAME_ACTOR) + @jakarta.annotation.Nullable + private NewAlertDataAttributesActor actor; + public ResolveAlertDataAttributes() { } @@ -102,6 +108,25 @@ public void setResolveRelatedIncidents(@jakarta.annotation.Nullable Boolean reso } + public ResolveAlertDataAttributes actor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + return this; + } + + /** + * Get actor + * @return actor + */ + @jakarta.annotation.Nullable + public NewAlertDataAttributesActor getActor() { + return actor; + } + + public void setActor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + } + + @Override public boolean equals(Object o) { @@ -113,7 +138,8 @@ public boolean equals(Object o) { } ResolveAlertDataAttributes resolveAlertDataAttributes = (ResolveAlertDataAttributes) o; return Objects.equals(this.resolutionMessage, resolveAlertDataAttributes.resolutionMessage) && - Objects.equals(this.resolveRelatedIncidents, resolveAlertDataAttributes.resolveRelatedIncidents); + Objects.equals(this.resolveRelatedIncidents, resolveAlertDataAttributes.resolveRelatedIncidents) && + Objects.equals(this.actor, resolveAlertDataAttributes.actor); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -122,7 +148,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(resolutionMessage, resolveRelatedIncidents); + return Objects.hash(resolutionMessage, resolveRelatedIncidents, actor); } private static int hashCodeNullable(JsonNullable a) { @@ -138,6 +164,7 @@ public String toString() { sb.append("class ResolveAlertDataAttributes {\n"); sb.append(" resolutionMessage: ").append(toIndentedString(resolutionMessage)).append("\n"); sb.append(" resolveRelatedIncidents: ").append(toIndentedString(resolveRelatedIncidents)).append("\n"); + sb.append(" actor: ").append(toIndentedString(actor)).append("\n"); sb.append("}"); return sb.toString(); } @@ -162,6 +189,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("resolution_message"); openapiFields.add("resolve_related_incidents"); + openapiFields.add("actor"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -191,6 +219,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("resolution_message") != null && !jsonObj.get("resolution_message").isJsonNull()) && !jsonObj.get("resolution_message").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `resolution_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolution_message").toString())); } + // validate the optional field `actor` + if (jsonObj.get("actor") != null && !jsonObj.get("actor").isJsonNull()) { + NewAlertDataAttributesActor.validateJsonElement(jsonObj.get("actor")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ResolveIncident.java b/src/main/java/com/rootly/client/model/ResolveIncident.java index 78b5aeaa..88b58184 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncident.java +++ b/src/main/java/com/rootly/client/model/ResolveIncident.java @@ -49,7 +49,7 @@ /** * ResolveIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ResolveIncidentData.java b/src/main/java/com/rootly/client/model/ResolveIncidentData.java index 23f65674..c62fe3cd 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncidentData.java +++ b/src/main/java/com/rootly/client/model/ResolveIncidentData.java @@ -49,8 +49,13 @@ /** * ResolveIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveIncidentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public ResolveIncidentData() { } + public ResolveIncidentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public ResolveIncidentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } ResolveIncidentData resolveIncidentData = (ResolveIncidentData) o; - return Objects.equals(this.type, resolveIncidentData.type) && + return Objects.equals(this.id, resolveIncidentData.id) && + Objects.equals(this.type, resolveIncidentData.type) && Objects.equals(this.attributes, resolveIncidentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ResolveIncidentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java index 03082bd5..48732616 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java @@ -49,7 +49,7 @@ /** * ResolveIncidentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveIncidentDataAttributes { public static final String SERIALIZED_NAME_RESOLUTION_MESSAGE = "resolution_message"; @SerializedName(SERIALIZED_NAME_RESOLUTION_MESSAGE) diff --git a/src/main/java/com/rootly/client/model/RestartIncident.java b/src/main/java/com/rootly/client/model/RestartIncident.java index 75cb7011..46c383cb 100644 --- a/src/main/java/com/rootly/client/model/RestartIncident.java +++ b/src/main/java/com/rootly/client/model/RestartIncident.java @@ -49,7 +49,7 @@ /** * RestartIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RestartIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RestartIncidentData.java b/src/main/java/com/rootly/client/model/RestartIncidentData.java index 280b2dc0..9d3e114e 100644 --- a/src/main/java/com/rootly/client/model/RestartIncidentData.java +++ b/src/main/java/com/rootly/client/model/RestartIncidentData.java @@ -48,8 +48,13 @@ /** * RestartIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RestartIncidentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -113,6 +118,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public RestartIncidentData() { } + public RestartIncidentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public RestartIncidentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -161,19 +185,21 @@ public boolean equals(Object o) { return false; } RestartIncidentData restartIncidentData = (RestartIncidentData) o; - return Objects.equals(this.type, restartIncidentData.type) && + return Objects.equals(this.id, restartIncidentData.id) && + Objects.equals(this.type, restartIncidentData.type) && Objects.equals(this.attributes, restartIncidentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RestartIncidentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -198,6 +224,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -234,6 +261,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java b/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java index 68c8e68c..8759aece 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java @@ -51,7 +51,7 @@ /** * RetrospectiveConfiguration */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveConfiguration { /** * The kind of the configuration. diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java index 2f69a00d..515ab14a 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java @@ -52,7 +52,7 @@ /** * RetrospectiveConfigurationList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveConfigurationList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationListDataInner.java b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationListDataInner.java index b997cf14..1ccb9924 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationListDataInner.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationListDataInner.java @@ -49,7 +49,7 @@ /** * RetrospectiveConfigurationListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveConfigurationListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java index 792c5822..b9f027dc 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java @@ -52,7 +52,7 @@ /** * RetrospectiveConfigurationResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveConfigurationResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponseData.java b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponseData.java index 0c00fa7a..87ff4fdb 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponseData.java @@ -49,7 +49,7 @@ /** * RetrospectiveConfigurationResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveConfigurationResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcess.java b/src/main/java/com/rootly/client/model/RetrospectiveProcess.java index 4442eb15..0009da93 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcess.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcess.java @@ -50,7 +50,7 @@ /** * RetrospectiveProcess */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcess { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroup.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroup.java index c990a2a8..6b2b4fea 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroup.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroup.java @@ -48,7 +48,7 @@ /** * RetrospectiveProcessGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroup { public static final String SERIALIZED_NAME_RETROSPECTIVE_PROCESS_ID = "retrospective_process_id"; @SerializedName(SERIALIZED_NAME_RETROSPECTIVE_PROCESS_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java index 2087045a..cf3f3d43 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java @@ -54,7 +54,7 @@ /** * RetrospectiveProcessGroupList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java index d51b19b0..99e834f9 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java @@ -52,7 +52,7 @@ /** * RetrospectiveProcessGroupResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponseData.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponseData.java index 8df4e733..be1a0f70 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponseData.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStep.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStep.java index 7473b160..d2a66cf5 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStep.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStep.java @@ -48,7 +48,7 @@ /** * RetrospectiveProcessGroupStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupStep { public static final String SERIALIZED_NAME_RETROSPECTIVE_PROCESS_GROUP_ID = "retrospective_process_group_id"; @SerializedName(SERIALIZED_NAME_RETROSPECTIVE_PROCESS_GROUP_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java index 049dd7a9..8327f067 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java @@ -54,7 +54,7 @@ /** * RetrospectiveProcessGroupStepList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupStepList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java index 00de0207..61059812 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java @@ -52,7 +52,7 @@ /** * RetrospectiveProcessGroupStepResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupStepResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseData.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseData.java index 4e497c14..2e0d64d1 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseData.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupStepResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupStepResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java index aee38aee..460354ca 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java @@ -54,7 +54,7 @@ /** * RetrospectiveProcessList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java index 6d567ad6..04596c3f 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java index f7e66f1f..568ea43b 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java @@ -52,7 +52,7 @@ /** * RetrospectiveProcessResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponseData.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponseData.java index 0e103d44..92e08adb 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponseData.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveStep.java b/src/main/java/com/rootly/client/model/RetrospectiveStep.java index 1d4d6506..ab1aeafc 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStep.java @@ -49,7 +49,7 @@ /** * RetrospectiveStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveStep { public static final String SERIALIZED_NAME_RETROSPECTIVE_PROCESS_ID = "retrospective_process_id"; @SerializedName(SERIALIZED_NAME_RETROSPECTIVE_PROCESS_ID) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveStepList.java b/src/main/java/com/rootly/client/model/RetrospectiveStepList.java index ff5a9d86..813e9f58 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepList.java @@ -54,7 +54,7 @@ /** * RetrospectiveStepList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveStepList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java index 25c08a32..f93d673c 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java @@ -52,7 +52,7 @@ /** * RetrospectiveStepResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveStepResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RetrospectiveStepResponseData.java b/src/main/java/com/rootly/client/model/RetrospectiveStepResponseData.java index 5f139bb3..9724dc3d 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepResponseData.java @@ -49,7 +49,7 @@ /** * RetrospectiveStepResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveStepResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Role.java b/src/main/java/com/rootly/client/model/Role.java index 7eb66374..deedf5ee 100644 --- a/src/main/java/com/rootly/client/model/Role.java +++ b/src/main/java/com/rootly/client/model/Role.java @@ -51,7 +51,7 @@ /** * Role */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Role { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -1536,6 +1536,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List statusPagesPermissions = new ArrayList<>(); + /** + * Gets or Sets statusPageUpdatesPermissions + */ + @JsonAdapter(StatusPageUpdatesPermissionsEnum.Adapter.class) + public enum StatusPageUpdatesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + StatusPageUpdatesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusPageUpdatesPermissionsEnum fromValue(String value) { + for (StatusPageUpdatesPermissionsEnum b : StatusPageUpdatesPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusPageUpdatesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusPageUpdatesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusPageUpdatesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusPageUpdatesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS_PAGE_UPDATES_PERMISSIONS = "status_page_updates_permissions"; + @SerializedName(SERIALIZED_NAME_STATUS_PAGE_UPDATES_PERMISSIONS) + @jakarta.annotation.Nullable + private List statusPageUpdatesPermissions; + /** * Gets or Sets webhooksPermissions */ @@ -1841,6 +1902,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List edgeConnectorPermissions = new ArrayList<>(); + /** + * Gets or Sets privateAgentPermissions + */ + @JsonAdapter(PrivateAgentPermissionsEnum.Adapter.class) + public enum PrivateAgentPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + PrivateAgentPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrivateAgentPermissionsEnum fromValue(String value) { + for (PrivateAgentPermissionsEnum b : PrivateAgentPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrivateAgentPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrivateAgentPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrivateAgentPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PrivateAgentPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIVATE_AGENT_PERMISSIONS = "private_agent_permissions"; + @SerializedName(SERIALIZED_NAME_PRIVATE_AGENT_PERMISSIONS) + @jakarta.annotation.Nullable + private List privateAgentPermissions = new ArrayList<>(); + /** * Gets or Sets slasPermissions */ @@ -2842,6 +2964,33 @@ public void setStatusPagesPermissions(@jakarta.annotation.Nullable List statusPageUpdatesPermissions) { + this.statusPageUpdatesPermissions = statusPageUpdatesPermissions; + return this; + } + + public Role addStatusPageUpdatesPermissionsItem(StatusPageUpdatesPermissionsEnum statusPageUpdatesPermissionsItem) { + if (this.statusPageUpdatesPermissions == null) { + this.statusPageUpdatesPermissions = new ArrayList<>(); + } + this.statusPageUpdatesPermissions.add(statusPageUpdatesPermissionsItem); + return this; + } + + /** + * Get statusPageUpdatesPermissions + * @return statusPageUpdatesPermissions + */ + @jakarta.annotation.Nullable + public List getStatusPageUpdatesPermissions() { + return statusPageUpdatesPermissions; + } + + public void setStatusPageUpdatesPermissions(@jakarta.annotation.Nullable List statusPageUpdatesPermissions) { + this.statusPageUpdatesPermissions = statusPageUpdatesPermissions; + } + + public Role webhooksPermissions(@jakarta.annotation.Nullable List webhooksPermissions) { this.webhooksPermissions = webhooksPermissions; return this; @@ -2977,6 +3126,33 @@ public void setEdgeConnectorPermissions(@jakarta.annotation.Nullable List privateAgentPermissions) { + this.privateAgentPermissions = privateAgentPermissions; + return this; + } + + public Role addPrivateAgentPermissionsItem(PrivateAgentPermissionsEnum privateAgentPermissionsItem) { + if (this.privateAgentPermissions == null) { + this.privateAgentPermissions = new ArrayList<>(); + } + this.privateAgentPermissions.add(privateAgentPermissionsItem); + return this; + } + + /** + * Private Agent management permissions: create issues enrollment tokens, read views agent inventory and details, and delete revokes agent credentials. Create and delete can be used independently through the API; browser inventory requires read. + * @return privateAgentPermissions + */ + @jakarta.annotation.Nullable + public List getPrivateAgentPermissions() { + return privateAgentPermissions; + } + + public void setPrivateAgentPermissions(@jakarta.annotation.Nullable List privateAgentPermissions) { + this.privateAgentPermissions = privateAgentPermissions; + } + + public Role slasPermissions(@jakarta.annotation.Nullable List slasPermissions) { this.slasPermissions = slasPermissions; return this; @@ -3162,11 +3338,13 @@ public boolean equals(Object o) { Objects.equals(this.servicesPermissions, role.servicesPermissions) && Objects.equals(this.severitiesPermissions, role.severitiesPermissions) && Objects.equals(this.statusPagesPermissions, role.statusPagesPermissions) && + Objects.equals(this.statusPageUpdatesPermissions, role.statusPageUpdatesPermissions) && Objects.equals(this.webhooksPermissions, role.webhooksPermissions) && Objects.equals(this.workflowsPermissions, role.workflowsPermissions) && Objects.equals(this.catalogsPermissions, role.catalogsPermissions) && Objects.equals(this.subStatusesPermissions, role.subStatusesPermissions) && Objects.equals(this.edgeConnectorPermissions, role.edgeConnectorPermissions) && + Objects.equals(this.privateAgentPermissions, role.privateAgentPermissions) && Objects.equals(this.slasPermissions, role.slasPermissions) && Objects.equals(this.pagingPermissions, role.pagingPermissions) && Objects.equals(this.incidentCommunicationPermissions, role.incidentCommunicationPermissions) && @@ -3181,7 +3359,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, incidentPermissionSetId, isDeletable, isEditable, alertsPermissions, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, pulsesPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions, createdAt, updatedAt); + return Objects.hash(name, slug, incidentPermissionSetId, isDeletable, isEditable, alertsPermissions, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, pulsesPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, statusPageUpdatesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, privateAgentPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -3224,11 +3402,13 @@ public String toString() { sb.append(" servicesPermissions: ").append(toIndentedString(servicesPermissions)).append("\n"); sb.append(" severitiesPermissions: ").append(toIndentedString(severitiesPermissions)).append("\n"); sb.append(" statusPagesPermissions: ").append(toIndentedString(statusPagesPermissions)).append("\n"); + sb.append(" statusPageUpdatesPermissions: ").append(toIndentedString(statusPageUpdatesPermissions)).append("\n"); sb.append(" webhooksPermissions: ").append(toIndentedString(webhooksPermissions)).append("\n"); sb.append(" workflowsPermissions: ").append(toIndentedString(workflowsPermissions)).append("\n"); sb.append(" catalogsPermissions: ").append(toIndentedString(catalogsPermissions)).append("\n"); sb.append(" subStatusesPermissions: ").append(toIndentedString(subStatusesPermissions)).append("\n"); sb.append(" edgeConnectorPermissions: ").append(toIndentedString(edgeConnectorPermissions)).append("\n"); + sb.append(" privateAgentPermissions: ").append(toIndentedString(privateAgentPermissions)).append("\n"); sb.append(" slasPermissions: ").append(toIndentedString(slasPermissions)).append("\n"); sb.append(" pagingPermissions: ").append(toIndentedString(pagingPermissions)).append("\n"); sb.append(" incidentCommunicationPermissions: ").append(toIndentedString(incidentCommunicationPermissions)).append("\n"); @@ -3286,11 +3466,13 @@ private String toIndentedString(Object o) { openapiFields.add("services_permissions"); openapiFields.add("severities_permissions"); openapiFields.add("status_pages_permissions"); + openapiFields.add("status_page_updates_permissions"); openapiFields.add("webhooks_permissions"); openapiFields.add("workflows_permissions"); openapiFields.add("catalogs_permissions"); openapiFields.add("sub_statuses_permissions"); openapiFields.add("edge_connector_permissions"); + openapiFields.add("private_agent_permissions"); openapiFields.add("slas_permissions"); openapiFields.add("paging_permissions"); openapiFields.add("incident_communication_permissions"); @@ -3439,6 +3621,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `status_pages_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("status_pages_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("status_page_updates_permissions") != null && !jsonObj.get("status_page_updates_permissions").isJsonNull() && !jsonObj.get("status_page_updates_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `status_page_updates_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("status_page_updates_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("webhooks_permissions") != null && !jsonObj.get("webhooks_permissions").isJsonNull() && !jsonObj.get("webhooks_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `webhooks_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("webhooks_permissions").toString())); } @@ -3459,6 +3645,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `edge_connector_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("edge_connector_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("private_agent_permissions") != null && !jsonObj.get("private_agent_permissions").isJsonNull() && !jsonObj.get("private_agent_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `private_agent_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("private_agent_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("slas_permissions") != null && !jsonObj.get("slas_permissions").isJsonNull() && !jsonObj.get("slas_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `slas_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("slas_permissions").toString())); } diff --git a/src/main/java/com/rootly/client/model/RoleList.java b/src/main/java/com/rootly/client/model/RoleList.java index 178a8e90..2dcc9a94 100644 --- a/src/main/java/com/rootly/client/model/RoleList.java +++ b/src/main/java/com/rootly/client/model/RoleList.java @@ -54,7 +54,7 @@ /** * RoleList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RoleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RoleRelationship.java b/src/main/java/com/rootly/client/model/RoleRelationship.java index c4b0a84b..a46ba0fe 100644 --- a/src/main/java/com/rootly/client/model/RoleRelationship.java +++ b/src/main/java/com/rootly/client/model/RoleRelationship.java @@ -50,7 +50,7 @@ /** * RoleRelationship */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RoleRelationship { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RoleRelationshipData.java b/src/main/java/com/rootly/client/model/RoleRelationshipData.java index 075c6d3b..9ee0070b 100644 --- a/src/main/java/com/rootly/client/model/RoleRelationshipData.java +++ b/src/main/java/com/rootly/client/model/RoleRelationshipData.java @@ -48,7 +48,7 @@ /** * RoleRelationshipData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RoleRelationshipData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RoleResponse.java b/src/main/java/com/rootly/client/model/RoleResponse.java index 06fc9579..c5e3d5c9 100644 --- a/src/main/java/com/rootly/client/model/RoleResponse.java +++ b/src/main/java/com/rootly/client/model/RoleResponse.java @@ -52,7 +52,7 @@ /** * RoleResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RoleResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RoleResponseData.java b/src/main/java/com/rootly/client/model/RoleResponseData.java index 45c7a220..9d906b18 100644 --- a/src/main/java/com/rootly/client/model/RoleResponseData.java +++ b/src/main/java/com/rootly/client/model/RoleResponseData.java @@ -49,7 +49,7 @@ /** * RoleResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RoleResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/RotateApiKey.java b/src/main/java/com/rootly/client/model/RotateApiKey.java index 3a30c26d..364b31fd 100644 --- a/src/main/java/com/rootly/client/model/RotateApiKey.java +++ b/src/main/java/com/rootly/client/model/RotateApiKey.java @@ -49,7 +49,7 @@ /** * RotateApiKey */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RotateApiKey { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/RotateApiKeyData.java b/src/main/java/com/rootly/client/model/RotateApiKeyData.java index d8d588db..ef42b35a 100644 --- a/src/main/java/com/rootly/client/model/RotateApiKeyData.java +++ b/src/main/java/com/rootly/client/model/RotateApiKeyData.java @@ -49,7 +49,7 @@ /** * RotateApiKeyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RotateApiKeyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java index 4da7b86d..782523d2 100644 --- a/src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java @@ -50,7 +50,7 @@ /** * RotateApiKeyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RotateApiKeyDataAttributes { public static final String SERIALIZED_NAME_EXPIRES_AT = "expires_at"; @SerializedName(SERIALIZED_NAME_EXPIRES_AT) diff --git a/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java b/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java index ff3a8846..0bd5a426 100644 --- a/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java +++ b/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java @@ -51,7 +51,7 @@ /** * RunCommandHerokuTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RunCommandHerokuTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/Schedule.java b/src/main/java/com/rootly/client/model/Schedule.java index cee36270..0c8e6775 100644 --- a/src/main/java/com/rootly/client/model/Schedule.java +++ b/src/main/java/com/rootly/client/model/Schedule.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.ScheduleBusinessHours; import com.rootly.client.model.ScheduleSlackChannel; import com.rootly.client.model.ScheduleSlackUserGroup; import java.io.IOException; @@ -53,7 +54,7 @@ /** * Schedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Schedule { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -70,6 +71,11 @@ public class Schedule { @jakarta.annotation.Nullable private Boolean allTimeCoverage; + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @jakarta.annotation.Nullable + private String timeZone; + public static final String SERIALIZED_NAME_SLACK_USER_GROUP = "slack_user_group"; @SerializedName(SERIALIZED_NAME_SLACK_USER_GROUP) @jakarta.annotation.Nullable @@ -192,6 +198,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String shiftReportTimeZone; + public static final String SERIALIZED_NAME_BUSINESS_HOURS = "business_hours"; + @SerializedName(SERIALIZED_NAME_BUSINESS_HOURS) + @jakarta.annotation.Nullable + private ScheduleBusinessHours businessHours; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @jakarta.annotation.Nonnull @@ -262,6 +273,25 @@ public void setAllTimeCoverage(@jakarta.annotation.Nullable Boolean allTimeCover } + public Schedule timeZone(@jakarta.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * IANA time zone the schedule's rotations are rendered in + * @return timeZone + */ + @jakarta.annotation.Nullable + public String getTimeZone() { + return timeZone; + } + + public void setTimeZone(@jakarta.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + } + + public Schedule slackUserGroup(@jakarta.annotation.Nullable ScheduleSlackUserGroup slackUserGroup) { this.slackUserGroup = slackUserGroup; return this; @@ -498,6 +528,25 @@ public void setShiftReportTimeZone(@jakarta.annotation.Nullable String shiftRepo } + public Schedule businessHours(@jakarta.annotation.Nullable ScheduleBusinessHours businessHours) { + this.businessHours = businessHours; + return this; + } + + /** + * Get businessHours + * @return businessHours + */ + @jakarta.annotation.Nullable + public ScheduleBusinessHours getBusinessHours() { + return businessHours; + } + + public void setBusinessHours(@jakarta.annotation.Nullable ScheduleBusinessHours businessHours) { + this.businessHours = businessHours; + } + + public Schedule createdAt(@jakarta.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -549,6 +598,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, schedule.name) && Objects.equals(this.description, schedule.description) && Objects.equals(this.allTimeCoverage, schedule.allTimeCoverage) && + Objects.equals(this.timeZone, schedule.timeZone) && Objects.equals(this.slackUserGroup, schedule.slackUserGroup) && Objects.equals(this.slackChannel, schedule.slackChannel) && Objects.equals(this.ownerGroupIds, schedule.ownerGroupIds) && @@ -561,6 +611,7 @@ public boolean equals(Object o) { Objects.equals(this.shiftReportDayOfWeek, schedule.shiftReportDayOfWeek) && Objects.equals(this.shiftReportTimeOfDay, schedule.shiftReportTimeOfDay) && Objects.equals(this.shiftReportTimeZone, schedule.shiftReportTimeZone) && + Objects.equals(this.businessHours, schedule.businessHours) && Objects.equals(this.createdAt, schedule.createdAt) && Objects.equals(this.updatedAt, schedule.updatedAt); } @@ -571,7 +622,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, allTimeCoverage, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, syncLinearEnabled, includeShadowsInSlackNotifications, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, shiftReportEnabled, shiftReportDayOfWeek, shiftReportTimeOfDay, shiftReportTimeZone, createdAt, updatedAt); + return Objects.hash(name, description, allTimeCoverage, timeZone, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, syncLinearEnabled, includeShadowsInSlackNotifications, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, shiftReportEnabled, shiftReportDayOfWeek, shiftReportTimeOfDay, shiftReportTimeZone, businessHours, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -588,6 +639,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" allTimeCoverage: ").append(toIndentedString(allTimeCoverage)).append("\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); sb.append(" slackUserGroup: ").append(toIndentedString(slackUserGroup)).append("\n"); sb.append(" slackChannel: ").append(toIndentedString(slackChannel)).append("\n"); sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); @@ -600,6 +652,7 @@ public String toString() { sb.append(" shiftReportDayOfWeek: ").append(toIndentedString(shiftReportDayOfWeek)).append("\n"); sb.append(" shiftReportTimeOfDay: ").append(toIndentedString(shiftReportTimeOfDay)).append("\n"); sb.append(" shiftReportTimeZone: ").append(toIndentedString(shiftReportTimeZone)).append("\n"); + sb.append(" businessHours: ").append(toIndentedString(businessHours)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -627,6 +680,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("all_time_coverage"); + openapiFields.add("time_zone"); openapiFields.add("slack_user_group"); openapiFields.add("slack_channel"); openapiFields.add("owner_group_ids"); @@ -639,6 +693,7 @@ private String toIndentedString(Object o) { openapiFields.add("shift_report_day_of_week"); openapiFields.add("shift_report_time_of_day"); openapiFields.add("shift_report_time_zone"); + openapiFields.add("business_hours"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -684,6 +739,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + if ((jsonObj.get("time_zone") != null && !jsonObj.get("time_zone").isJsonNull()) && !jsonObj.get("time_zone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_zone").toString())); + } // validate the optional field `slack_user_group` if (jsonObj.get("slack_user_group") != null && !jsonObj.get("slack_user_group").isJsonNull()) { ScheduleSlackUserGroup.validateJsonElement(jsonObj.get("slack_user_group")); @@ -709,6 +767,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("shift_report_time_zone") != null && !jsonObj.get("shift_report_time_zone").isJsonNull()) && !jsonObj.get("shift_report_time_zone").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `shift_report_time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shift_report_time_zone").toString())); } + // validate the optional field `business_hours` + if (jsonObj.get("business_hours") != null && !jsonObj.get("business_hours").isJsonNull()) { + ScheduleBusinessHours.validateJsonElement(jsonObj.get("business_hours")); + } if (!jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); } diff --git a/src/main/java/com/rootly/client/model/ScheduleBusinessHours.java b/src/main/java/com/rootly/client/model/ScheduleBusinessHours.java new file mode 100644 index 00000000..05aa2f51 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ScheduleBusinessHours.java @@ -0,0 +1,273 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Controls shadow paging on the schedule. Null disables shadow paging. start_time and end_time are HH:MM 24-hour format strings. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ScheduleBusinessHours { + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nonnull + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nonnull + private String endTime; + + public static final String SERIALIZED_NAME_INCLUDE_WEEKENDS = "include_weekends"; + @SerializedName(SERIALIZED_NAME_INCLUDE_WEEKENDS) + @jakarta.annotation.Nonnull + private Boolean includeWeekends; + + public ScheduleBusinessHours() { + } + + public ScheduleBusinessHours startTime(@jakarta.annotation.Nonnull String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Get startTime + * @return startTime + */ + @jakarta.annotation.Nonnull + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nonnull String startTime) { + this.startTime = startTime; + } + + + public ScheduleBusinessHours endTime(@jakarta.annotation.Nonnull String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Get endTime + * @return endTime + */ + @jakarta.annotation.Nonnull + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nonnull String endTime) { + this.endTime = endTime; + } + + + public ScheduleBusinessHours includeWeekends(@jakarta.annotation.Nonnull Boolean includeWeekends) { + this.includeWeekends = includeWeekends; + return this; + } + + /** + * Get includeWeekends + * @return includeWeekends + */ + @jakarta.annotation.Nonnull + public Boolean getIncludeWeekends() { + return includeWeekends; + } + + public void setIncludeWeekends(@jakarta.annotation.Nonnull Boolean includeWeekends) { + this.includeWeekends = includeWeekends; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScheduleBusinessHours scheduleBusinessHours = (ScheduleBusinessHours) o; + return Objects.equals(this.startTime, scheduleBusinessHours.startTime) && + Objects.equals(this.endTime, scheduleBusinessHours.endTime) && + Objects.equals(this.includeWeekends, scheduleBusinessHours.includeWeekends); + } + + @Override + public int hashCode() { + return Objects.hash(startTime, endTime, includeWeekends); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScheduleBusinessHours {\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" includeWeekends: ").append(toIndentedString(includeWeekends)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + openapiFields.add("include_weekends"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("start_time"); + openapiRequiredFields.add("end_time"); + openapiRequiredFields.add("include_weekends"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ScheduleBusinessHours + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ScheduleBusinessHours.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ScheduleBusinessHours is not found in the empty JSON string", ScheduleBusinessHours.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ScheduleBusinessHours.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ScheduleBusinessHours` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ScheduleBusinessHours.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if (!jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ScheduleBusinessHours.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ScheduleBusinessHours' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ScheduleBusinessHours.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ScheduleBusinessHours value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ScheduleBusinessHours read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ScheduleBusinessHours given an JSON string + * + * @param jsonString JSON string + * @return An instance of ScheduleBusinessHours + * @throws IOException if the JSON string is invalid with respect to ScheduleBusinessHours + */ + public static ScheduleBusinessHours fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ScheduleBusinessHours.class); + } + + /** + * Convert an instance of ScheduleBusinessHours to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ScheduleList.java b/src/main/java/com/rootly/client/model/ScheduleList.java index 4ccb35ed..50b9e1e9 100644 --- a/src/main/java/com/rootly/client/model/ScheduleList.java +++ b/src/main/java/com/rootly/client/model/ScheduleList.java @@ -54,7 +54,7 @@ /** * ScheduleList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleListDataInner.java b/src/main/java/com/rootly/client/model/ScheduleListDataInner.java index 98dd0afa..900c72d1 100644 --- a/src/main/java/com/rootly/client/model/ScheduleListDataInner.java +++ b/src/main/java/com/rootly/client/model/ScheduleListDataInner.java @@ -49,7 +49,7 @@ /** * ScheduleListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleResponse.java b/src/main/java/com/rootly/client/model/ScheduleResponse.java index 1fe385bf..cd08bdd3 100644 --- a/src/main/java/com/rootly/client/model/ScheduleResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleResponse.java @@ -52,7 +52,7 @@ /** * ScheduleResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleResponseData.java b/src/main/java/com/rootly/client/model/ScheduleResponseData.java index d137e0ce..ac5fe4ad 100644 --- a/src/main/java/com/rootly/client/model/ScheduleResponseData.java +++ b/src/main/java/com/rootly/client/model/ScheduleResponseData.java @@ -49,7 +49,7 @@ /** * ScheduleResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotation.java b/src/main/java/com/rootly/client/model/ScheduleRotation.java index dffadf7d..4c74dc99 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotation.java @@ -19,8 +19,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; +import com.rootly.client.model.ScheduleRotationActiveTimeAttributesInner; import java.io.IOException; import java.time.OffsetDateTime; import java.util.ArrayList; @@ -54,7 +54,7 @@ /** * ScheduleRotation */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotation { public static final String SERIALIZED_NAME_SCHEDULE_ID = "schedule_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ID) @@ -268,7 +268,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_ACTIVE_TIME_ATTRIBUTES = "active_time_attributes"; @SerializedName(SERIALIZED_NAME_ACTIVE_TIME_ATTRIBUTES) @jakarta.annotation.Nullable - private List activeTimeAttributes = new ArrayList<>(); + private List activeTimeAttributes = new ArrayList<>(); public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; @SerializedName(SERIALIZED_NAME_TIME_ZONE) @@ -442,12 +442,12 @@ public void setActiveTimeType(@jakarta.annotation.Nullable List activeTimeAttributes) { + public ScheduleRotation activeTimeAttributes(@jakarta.annotation.Nullable List activeTimeAttributes) { this.activeTimeAttributes = activeTimeAttributes; return this; } - public ScheduleRotation addActiveTimeAttributesItem(NewScheduleRotationDataAttributesActiveTimeAttributesInner activeTimeAttributesItem) { + public ScheduleRotation addActiveTimeAttributesItem(ScheduleRotationActiveTimeAttributesInner activeTimeAttributesItem) { if (this.activeTimeAttributes == null) { this.activeTimeAttributes = new ArrayList<>(); } @@ -460,11 +460,11 @@ public ScheduleRotation addActiveTimeAttributesItem(NewScheduleRotationDataAttri * @return activeTimeAttributes */ @jakarta.annotation.Nullable - public List getActiveTimeAttributes() { + public List getActiveTimeAttributes() { return activeTimeAttributes; } - public void setActiveTimeAttributes(@jakarta.annotation.Nullable List activeTimeAttributes) { + public void setActiveTimeAttributes(@jakarta.annotation.Nullable List activeTimeAttributes) { this.activeTimeAttributes = activeTimeAttributes; } @@ -475,7 +475,7 @@ public ScheduleRotation timeZone(@jakarta.annotation.Nullable String timeZone) { } /** - * A valid IANA time zone name. + * A valid IANA time zone name. Organizations with one timezone per schedule manage this on the schedule; a value differing from the schedule's is rejected. * @return timeZone */ @jakarta.annotation.Nullable @@ -701,7 +701,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `active_time_attributes` (array) for (int i = 0; i < jsonArrayactiveTimeAttributes.size(); i++) { - NewScheduleRotationDataAttributesActiveTimeAttributesInner.validateJsonElement(jsonArrayactiveTimeAttributes.get(i)); + ScheduleRotationActiveTimeAttributesInner.validateJsonElement(jsonArrayactiveTimeAttributes.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java index a5f13a27..8e0c9b26 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java @@ -19,7 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner; +import com.rootly.client.model.ScheduleRotationActiveDayActiveTimeAttributesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -51,7 +51,7 @@ /** * ScheduleRotationActiveDay */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationActiveDay { public static final String SERIALIZED_NAME_SCHEDULE_ROTATION_ID = "schedule_rotation_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ROTATION_ID) @@ -128,7 +128,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_ACTIVE_TIME_ATTRIBUTES = "active_time_attributes"; @SerializedName(SERIALIZED_NAME_ACTIVE_TIME_ATTRIBUTES) @jakarta.annotation.Nonnull - private List activeTimeAttributes = new ArrayList<>(); + private List activeTimeAttributes = new ArrayList<>(); public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @@ -181,12 +181,12 @@ public void setDayName(@jakarta.annotation.Nonnull DayNameEnum dayName) { } - public ScheduleRotationActiveDay activeTimeAttributes(@jakarta.annotation.Nonnull List activeTimeAttributes) { + public ScheduleRotationActiveDay activeTimeAttributes(@jakarta.annotation.Nonnull List activeTimeAttributes) { this.activeTimeAttributes = activeTimeAttributes; return this; } - public ScheduleRotationActiveDay addActiveTimeAttributesItem(NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner activeTimeAttributesItem) { + public ScheduleRotationActiveDay addActiveTimeAttributesItem(ScheduleRotationActiveDayActiveTimeAttributesInner activeTimeAttributesItem) { if (this.activeTimeAttributes == null) { this.activeTimeAttributes = new ArrayList<>(); } @@ -199,11 +199,11 @@ public ScheduleRotationActiveDay addActiveTimeAttributesItem(NewScheduleRotation * @return activeTimeAttributes */ @jakarta.annotation.Nonnull - public List getActiveTimeAttributes() { + public List getActiveTimeAttributes() { return activeTimeAttributes; } - public void setActiveTimeAttributes(@jakarta.annotation.Nonnull List activeTimeAttributes) { + public void setActiveTimeAttributes(@jakarta.annotation.Nonnull List activeTimeAttributes) { this.activeTimeAttributes = activeTimeAttributes; } @@ -358,7 +358,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti JsonArray jsonArrayactiveTimeAttributes = jsonObj.getAsJsonArray("active_time_attributes"); // validate the required field `active_time_attributes` (array) for (int i = 0; i < jsonArrayactiveTimeAttributes.size(); i++) { - NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.validateJsonElement(jsonArrayactiveTimeAttributes.get(i)); + ScheduleRotationActiveDayActiveTimeAttributesInner.validateJsonElement(jsonArrayactiveTimeAttributes.get(i)); }; if (!jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInner.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInner.java new file mode 100644 index 00000000..a69c9a0f --- /dev/null +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInner.java @@ -0,0 +1,236 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ScheduleRotationActiveDayActiveTimeAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ScheduleRotationActiveDayActiveTimeAttributesInner { + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nullable + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nullable + private String endTime; + + public ScheduleRotationActiveDayActiveTimeAttributesInner() { + } + + public ScheduleRotationActiveDayActiveTimeAttributesInner startTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Start time for schedule rotation active time + * @return startTime + */ + @jakarta.annotation.Nullable + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nullable String startTime) { + this.startTime = startTime; + } + + + public ScheduleRotationActiveDayActiveTimeAttributesInner endTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + return this; + } + + /** + * End time for schedule rotation active time + * @return endTime + */ + @jakarta.annotation.Nullable + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nullable String endTime) { + this.endTime = endTime; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScheduleRotationActiveDayActiveTimeAttributesInner scheduleRotationActiveDayActiveTimeAttributesInner = (ScheduleRotationActiveDayActiveTimeAttributesInner) o; + return Objects.equals(this.startTime, scheduleRotationActiveDayActiveTimeAttributesInner.startTime) && + Objects.equals(this.endTime, scheduleRotationActiveDayActiveTimeAttributesInner.endTime); + } + + @Override + public int hashCode() { + return Objects.hash(startTime, endTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScheduleRotationActiveDayActiveTimeAttributesInner {\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ScheduleRotationActiveDayActiveTimeAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ScheduleRotationActiveDayActiveTimeAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ScheduleRotationActiveDayActiveTimeAttributesInner is not found in the empty JSON string", ScheduleRotationActiveDayActiveTimeAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ScheduleRotationActiveDayActiveTimeAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ScheduleRotationActiveDayActiveTimeAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("start_time") != null && !jsonObj.get("start_time").isJsonNull()) && !jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if ((jsonObj.get("end_time") != null && !jsonObj.get("end_time").isJsonNull()) && !jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ScheduleRotationActiveDayActiveTimeAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ScheduleRotationActiveDayActiveTimeAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ScheduleRotationActiveDayActiveTimeAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ScheduleRotationActiveDayActiveTimeAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ScheduleRotationActiveDayActiveTimeAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ScheduleRotationActiveDayActiveTimeAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of ScheduleRotationActiveDayActiveTimeAttributesInner + * @throws IOException if the JSON string is invalid with respect to ScheduleRotationActiveDayActiveTimeAttributesInner + */ + public static ScheduleRotationActiveDayActiveTimeAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ScheduleRotationActiveDayActiveTimeAttributesInner.class); + } + + /** + * Convert an instance of ScheduleRotationActiveDayActiveTimeAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java index 0387ac28..c660eb0b 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java @@ -54,7 +54,7 @@ /** * ScheduleRotationActiveDayList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationActiveDayList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java index 4d62fded..9c2577eb 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java @@ -49,7 +49,7 @@ /** * ScheduleRotationActiveDayListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationActiveDayListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java index cc179e26..9d3e1b2a 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java @@ -52,7 +52,7 @@ /** * ScheduleRotationActiveDayResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationActiveDayResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java index 93402d10..a3b2b9ac 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java @@ -49,7 +49,7 @@ /** * ScheduleRotationActiveDayResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationActiveDayResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInner.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInner.java new file mode 100644 index 00000000..a690001e --- /dev/null +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInner.java @@ -0,0 +1,245 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * ScheduleRotationActiveTimeAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ScheduleRotationActiveTimeAttributesInner { + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @jakarta.annotation.Nonnull + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @jakarta.annotation.Nonnull + private String endTime; + + public ScheduleRotationActiveTimeAttributesInner() { + } + + public ScheduleRotationActiveTimeAttributesInner startTime(@jakarta.annotation.Nonnull String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Start time for schedule rotation active time + * @return startTime + */ + @jakarta.annotation.Nonnull + public String getStartTime() { + return startTime; + } + + public void setStartTime(@jakarta.annotation.Nonnull String startTime) { + this.startTime = startTime; + } + + + public ScheduleRotationActiveTimeAttributesInner endTime(@jakarta.annotation.Nonnull String endTime) { + this.endTime = endTime; + return this; + } + + /** + * End time for schedule rotation active time + * @return endTime + */ + @jakarta.annotation.Nonnull + public String getEndTime() { + return endTime; + } + + public void setEndTime(@jakarta.annotation.Nonnull String endTime) { + this.endTime = endTime; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScheduleRotationActiveTimeAttributesInner scheduleRotationActiveTimeAttributesInner = (ScheduleRotationActiveTimeAttributesInner) o; + return Objects.equals(this.startTime, scheduleRotationActiveTimeAttributesInner.startTime) && + Objects.equals(this.endTime, scheduleRotationActiveTimeAttributesInner.endTime); + } + + @Override + public int hashCode() { + return Objects.hash(startTime, endTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScheduleRotationActiveTimeAttributesInner {\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("start_time"); + openapiRequiredFields.add("end_time"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ScheduleRotationActiveTimeAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ScheduleRotationActiveTimeAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ScheduleRotationActiveTimeAttributesInner is not found in the empty JSON string", ScheduleRotationActiveTimeAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ScheduleRotationActiveTimeAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ScheduleRotationActiveTimeAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ScheduleRotationActiveTimeAttributesInner.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("start_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `start_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("start_time").toString())); + } + if (!jsonObj.get("end_time").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `end_time` to be a primitive type in the JSON string but got `%s`", jsonObj.get("end_time").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ScheduleRotationActiveTimeAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ScheduleRotationActiveTimeAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ScheduleRotationActiveTimeAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ScheduleRotationActiveTimeAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ScheduleRotationActiveTimeAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ScheduleRotationActiveTimeAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of ScheduleRotationActiveTimeAttributesInner + * @throws IOException if the JSON string is invalid with respect to ScheduleRotationActiveTimeAttributesInner + */ + public static ScheduleRotationActiveTimeAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ScheduleRotationActiveTimeAttributesInner.class); + } + + /** + * Convert an instance of ScheduleRotationActiveTimeAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationList.java b/src/main/java/com/rootly/client/model/ScheduleRotationList.java index 638c03c4..85e2e152 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationList.java @@ -54,7 +54,7 @@ /** * ScheduleRotationList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java b/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java index 8477277a..cfa51dfa 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java @@ -52,7 +52,7 @@ /** * ScheduleRotationResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java b/src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java index d826ab68..1f153535 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java @@ -49,7 +49,7 @@ /** * ScheduleRotationResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationUser.java b/src/main/java/com/rootly/client/model/ScheduleRotationUser.java index 4c8477cb..fdd3c9f3 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUser.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUser.java @@ -48,7 +48,7 @@ /** * ScheduleRotationUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationUser { public static final String SERIALIZED_NAME_SCHEDULE_ROTATION_ID = "schedule_rotation_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ROTATION_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java b/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java index 1eecaeaf..d86fb36d 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java @@ -54,7 +54,7 @@ /** * ScheduleRotationUserList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationUserList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java b/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java index 5c0e2998..eda09bf4 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java @@ -49,7 +49,7 @@ /** * ScheduleRotationUserListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationUserListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java b/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java index 0fa83779..061c3baf 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java @@ -52,7 +52,7 @@ /** * ScheduleRotationUserResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationUserResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ScheduleSlackChannel.java b/src/main/java/com/rootly/client/model/ScheduleSlackChannel.java index d21a36e8..c6e7ac75 100644 --- a/src/main/java/com/rootly/client/model/ScheduleSlackChannel.java +++ b/src/main/java/com/rootly/client/model/ScheduleSlackChannel.java @@ -48,7 +48,7 @@ /** * Synced slack channel of the schedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleSlackChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java b/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java index aa579c71..4ee194f4 100644 --- a/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java +++ b/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java @@ -48,7 +48,7 @@ /** * Synced slack group of the schedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleSlackUserGroup { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Secret.java b/src/main/java/com/rootly/client/model/Secret.java index 08d95217..68354cd3 100644 --- a/src/main/java/com/rootly/client/model/Secret.java +++ b/src/main/java/com/rootly/client/model/Secret.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -49,7 +51,7 @@ /** * Secret */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Secret { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -76,6 +78,11 @@ public class Secret { @jakarta.annotation.Nullable private Integer hashicorpVaultVersion; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @jakarta.annotation.Nonnull @@ -184,6 +191,33 @@ public void setHashicorpVaultVersion(@jakarta.annotation.Nullable Integer hashic } + public Secret ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public Secret addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams whose members can see and pick this secret; their team admins can manage it. Empty means only users with the org Secrets permission can. Ignored unless team scoping is enabled for the organization. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + public Secret createdAt(@jakarta.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -237,6 +271,7 @@ public boolean equals(Object o) { Objects.equals(this.hashicorpVaultMount, secret.hashicorpVaultMount) && Objects.equals(this.hashicorpVaultPath, secret.hashicorpVaultPath) && Objects.equals(this.hashicorpVaultVersion, secret.hashicorpVaultVersion) && + Objects.equals(this.ownerGroupIds, secret.ownerGroupIds) && Objects.equals(this.createdAt, secret.createdAt) && Objects.equals(this.updatedAt, secret.updatedAt); } @@ -247,7 +282,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, secret, hashicorpVaultMount, hashicorpVaultPath, hashicorpVaultVersion, createdAt, updatedAt); + return Objects.hash(name, secret, hashicorpVaultMount, hashicorpVaultPath, hashicorpVaultVersion, ownerGroupIds, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -266,6 +301,7 @@ public String toString() { sb.append(" hashicorpVaultMount: ").append(toIndentedString(hashicorpVaultMount)).append("\n"); sb.append(" hashicorpVaultPath: ").append(toIndentedString(hashicorpVaultPath)).append("\n"); sb.append(" hashicorpVaultVersion: ").append(toIndentedString(hashicorpVaultVersion)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -295,6 +331,7 @@ private String toIndentedString(Object o) { openapiFields.add("hashicorp_vault_mount"); openapiFields.add("hashicorp_vault_path"); openapiFields.add("hashicorp_vault_version"); + openapiFields.add("owner_group_ids"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -345,6 +382,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("hashicorp_vault_path") != null && !jsonObj.get("hashicorp_vault_path").isJsonNull()) && !jsonObj.get("hashicorp_vault_path").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `hashicorp_vault_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("hashicorp_vault_path").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } if (!jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); } diff --git a/src/main/java/com/rootly/client/model/SecretList.java b/src/main/java/com/rootly/client/model/SecretList.java index 1a7cc351..d6be0d18 100644 --- a/src/main/java/com/rootly/client/model/SecretList.java +++ b/src/main/java/com/rootly/client/model/SecretList.java @@ -53,7 +53,7 @@ /** * SecretList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SecretList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SecretResponse.java b/src/main/java/com/rootly/client/model/SecretResponse.java index 82b0fa68..0fa00346 100644 --- a/src/main/java/com/rootly/client/model/SecretResponse.java +++ b/src/main/java/com/rootly/client/model/SecretResponse.java @@ -49,7 +49,7 @@ /** * SecretResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SecretResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SecretResponseData.java b/src/main/java/com/rootly/client/model/SecretResponseData.java index ecb6d814..21b093f0 100644 --- a/src/main/java/com/rootly/client/model/SecretResponseData.java +++ b/src/main/java/com/rootly/client/model/SecretResponseData.java @@ -49,7 +49,7 @@ /** * SecretResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SecretResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java b/src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java index 61825cf5..4f2408b9 100644 --- a/src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java @@ -51,7 +51,7 @@ /** * SendDashboardReportTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendDashboardReportTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendEmailTaskParams.java b/src/main/java/com/rootly/client/model/SendEmailTaskParams.java index 6ec8e1c6..9e8641ac 100644 --- a/src/main/java/com/rootly/client/model/SendEmailTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendEmailTaskParams.java @@ -51,7 +51,7 @@ /** * SendEmailTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendEmailTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendGoogleChatAttachmentsTaskParams.java b/src/main/java/com/rootly/client/model/SendGoogleChatAttachmentsTaskParams.java index bac8219b..1ce4d726 100644 --- a/src/main/java/com/rootly/client/model/SendGoogleChatAttachmentsTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendGoogleChatAttachmentsTaskParams.java @@ -51,7 +51,7 @@ /** * SendGoogleChatAttachmentsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendGoogleChatAttachmentsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendGoogleChatMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendGoogleChatMessageTaskParams.java index 2e0b37f3..38928379 100644 --- a/src/main/java/com/rootly/client/model/SendGoogleChatMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendGoogleChatMessageTaskParams.java @@ -52,7 +52,7 @@ /** * SendGoogleChatMessageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendGoogleChatMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java index 879e05c2..3da21150 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java @@ -51,7 +51,7 @@ /** * SendMicrosoftTeamsBlocksTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsBlocksTaskParams { public static final String SERIALIZED_NAME_CHANNELS = "channels"; @SerializedName(SERIALIZED_NAME_CHANNELS) diff --git a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java index 0240dbda..73513ef6 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java @@ -51,7 +51,7 @@ /** * SendMicrosoftTeamsChatMessageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsChatMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java index cd23907b..8fad5d31 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java @@ -51,7 +51,7 @@ /** * SendMicrosoftTeamsMessageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsMessageTaskParams { public static final String SERIALIZED_NAME_CHANNELS = "channels"; @SerializedName(SERIALIZED_NAME_CHANNELS) diff --git a/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java b/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java index b90f606f..db938b66 100644 --- a/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackBlocksTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(SendSlackBlocksTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java index 9164b9d2..67777b4a 100644 --- a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java @@ -63,7 +63,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackMessageTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(SendSlackMessageTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParamsAnyOf.java b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParamsAnyOf.java index 6670e5e8..3a180920 100644 --- a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParamsAnyOf.java +++ b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParamsAnyOf.java @@ -51,7 +51,7 @@ /** * SendSlackMessageTaskParamsAnyOf */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackMessageTaskParamsAnyOf { public static final String SERIALIZED_NAME_CHANNELS = "channels"; @SerializedName(SERIALIZED_NAME_CHANNELS) diff --git a/src/main/java/com/rootly/client/model/SendSmsTaskParams.java b/src/main/java/com/rootly/client/model/SendSmsTaskParams.java index a3a5f307..3d349db7 100644 --- a/src/main/java/com/rootly/client/model/SendSmsTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSmsTaskParams.java @@ -50,7 +50,7 @@ /** * SendSmsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSmsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java index e4c679b7..b433ff8d 100644 --- a/src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java @@ -50,7 +50,7 @@ /** * SendWhatsappMessageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendWhatsappMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/Service.java b/src/main/java/com/rootly/client/model/Service.java index 8d6560c0..600357ba 100644 --- a/src/main/java/com/rootly/client/model/Service.java +++ b/src/main/java/com/rootly/client/model/Service.java @@ -19,16 +19,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; -import com.rootly.client.model.ServiceAlertBroadcastChannel; -import com.rootly.client.model.ServiceIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -56,997 +50,194 @@ /** * Service */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Service { - public static final String SERIALIZED_NAME_NAME = "name"; - @SerializedName(SERIALIZED_NAME_NAME) - @jakarta.annotation.Nonnull - private String name; - - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @jakarta.annotation.Nullable - private String slug; - - /** - * How this service is managed (provenance): web, api, terraform, etc. Read-only. - */ - @JsonAdapter(ManagedByEnum.Adapter.class) - public enum ManagedByEnum { - WEB("web"), - - ADMIN_WEB("admin_web"), - - API("api"), - - TERRAFORM("terraform"), - - PULUMI("pulumi"), - - BACKSTAGE("backstage"), - - CATALOG_SYNC("catalog_sync"); - - private String value; - - ManagedByEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static ManagedByEnum fromValue(String value) { - for (ManagedByEnum b : ManagedByEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - - public static class Adapter extends TypeAdapter { - @Override - public void write(final JsonWriter jsonWriter, final ManagedByEnum enumeration) throws IOException { - jsonWriter.value(enumeration.getValue()); - } - - @Override - public ManagedByEnum read(final JsonReader jsonReader) throws IOException { - String value = jsonReader.nextString(); - return ManagedByEnum.fromValue(value); - } - } - - public static void validateJsonElement(JsonElement jsonElement) throws IOException { - String value = jsonElement.getAsString(); - ManagedByEnum.fromValue(value); - } - } - - public static final String SERIALIZED_NAME_MANAGED_BY = "managed_by"; - @SerializedName(SERIALIZED_NAME_MANAGED_BY) - @jakarta.annotation.Nullable - private ManagedByEnum managedBy; - - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; - @SerializedName(SERIALIZED_NAME_DESCRIPTION) - @jakarta.annotation.Nullable - private String description; - - public static final String SERIALIZED_NAME_PUBLIC_DESCRIPTION = "public_description"; - @SerializedName(SERIALIZED_NAME_PUBLIC_DESCRIPTION) - @jakarta.annotation.Nullable - private String publicDescription; - - public static final String SERIALIZED_NAME_NOTIFY_EMAILS = "notify_emails"; - @SerializedName(SERIALIZED_NAME_NOTIFY_EMAILS) - @jakarta.annotation.Nullable - private List notifyEmails; - - public static final String SERIALIZED_NAME_COLOR = "color"; - @SerializedName(SERIALIZED_NAME_COLOR) - @jakarta.annotation.Nullable - private String color; - - public static final String SERIALIZED_NAME_POSITION = "position"; - @SerializedName(SERIALIZED_NAME_POSITION) - @jakarta.annotation.Nullable - private Integer position; - - public static final String SERIALIZED_NAME_BACKSTAGE_ID = "backstage_id"; - @SerializedName(SERIALIZED_NAME_BACKSTAGE_ID) - @jakarta.annotation.Nullable - private String backstageId; - - public static final String SERIALIZED_NAME_EXTERNAL_ID = "external_id"; - @SerializedName(SERIALIZED_NAME_EXTERNAL_ID) - @jakarta.annotation.Nullable - private String externalId; - - public static final String SERIALIZED_NAME_PAGERDUTY_ID = "pagerduty_id"; - @SerializedName(SERIALIZED_NAME_PAGERDUTY_ID) - @jakarta.annotation.Nullable - private String pagerdutyId; - - public static final String SERIALIZED_NAME_OPSGENIE_ID = "opsgenie_id"; - @SerializedName(SERIALIZED_NAME_OPSGENIE_ID) - @jakarta.annotation.Nullable - private String opsgenieId; - - public static final String SERIALIZED_NAME_CORTEX_ID = "cortex_id"; - @SerializedName(SERIALIZED_NAME_CORTEX_ID) - @jakarta.annotation.Nullable - private String cortexId; - - public static final String SERIALIZED_NAME_SERVICE_NOW_CI_SYS_ID = "service_now_ci_sys_id"; - @SerializedName(SERIALIZED_NAME_SERVICE_NOW_CI_SYS_ID) - @jakarta.annotation.Nullable - private String serviceNowCiSysId; - - public static final String SERIALIZED_NAME_GITHUB_REPOSITORY_NAME = "github_repository_name"; - @SerializedName(SERIALIZED_NAME_GITHUB_REPOSITORY_NAME) - @jakarta.annotation.Nullable - private String githubRepositoryName; - - public static final String SERIALIZED_NAME_GITHUB_REPOSITORY_BRANCH = "github_repository_branch"; - @SerializedName(SERIALIZED_NAME_GITHUB_REPOSITORY_BRANCH) - @jakarta.annotation.Nullable - private String githubRepositoryBranch; - - public static final String SERIALIZED_NAME_GITLAB_REPOSITORY_NAME = "gitlab_repository_name"; - @SerializedName(SERIALIZED_NAME_GITLAB_REPOSITORY_NAME) - @jakarta.annotation.Nullable - private String gitlabRepositoryName; - - public static final String SERIALIZED_NAME_GITLAB_REPOSITORY_BRANCH = "gitlab_repository_branch"; - @SerializedName(SERIALIZED_NAME_GITLAB_REPOSITORY_BRANCH) - @jakarta.annotation.Nullable - private String gitlabRepositoryBranch; - - public static final String SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME = "kubernetes_deployment_name"; - @SerializedName(SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME) - @jakarta.annotation.Nullable - private String kubernetesDeploymentName; - - public static final String SERIALIZED_NAME_ENVIRONMENT_IDS = "environment_ids"; - @SerializedName(SERIALIZED_NAME_ENVIRONMENT_IDS) - @jakarta.annotation.Nullable - private List environmentIds; - - public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; - @SerializedName(SERIALIZED_NAME_SERVICE_IDS) - @jakarta.annotation.Nullable - private List serviceIds; - - public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) - @jakarta.annotation.Nullable - private List ownerGroupIds; - - public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) - @jakarta.annotation.Nullable - private List ownerUserIds; - - public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; - @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) - @jakarta.annotation.Nullable - private String alertUrgencyId; - - public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; - @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) - @jakarta.annotation.Nullable - private String escalationPolicyId; - - public static final String SERIALIZED_NAME_ALERTS_EMAIL_ENABLED = "alerts_email_enabled"; - @SerializedName(SERIALIZED_NAME_ALERTS_EMAIL_ENABLED) - @jakarta.annotation.Nullable - private Boolean alertsEmailEnabled; - - public static final String SERIALIZED_NAME_ALERTS_EMAIL_ADDRESS = "alerts_email_address"; - @SerializedName(SERIALIZED_NAME_ALERTS_EMAIL_ADDRESS) - @jakarta.annotation.Nullable - private String alertsEmailAddress; - - public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; - @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) - @jakarta.annotation.Nullable - private List slackChannels; - - public static final String SERIALIZED_NAME_SLACK_ALIASES = "slack_aliases"; - @SerializedName(SERIALIZED_NAME_SLACK_ALIASES) - @jakarta.annotation.Nullable - private List slackAliases; - - public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; - @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) - @jakarta.annotation.Nullable - private Boolean alertBroadcastEnabled; - - public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; - @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) - @jakarta.annotation.Nullable - private ServiceAlertBroadcastChannel alertBroadcastChannel; - - public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; - @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) - @jakarta.annotation.Nullable - private Boolean incidentBroadcastEnabled; - - public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; - @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) - @jakarta.annotation.Nullable - private ServiceIncidentBroadcastChannel incidentBroadcastChannel; - - public static final String SERIALIZED_NAME_PROPERTIES = "properties"; - @SerializedName(SERIALIZED_NAME_PROPERTIES) - @jakarta.annotation.Nullable - private List properties; - - public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; - @SerializedName(SERIALIZED_NAME_CREATED_AT) - @jakarta.annotation.Nonnull - private String createdAt; - - public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; - @SerializedName(SERIALIZED_NAME_UPDATED_AT) - @jakarta.annotation.Nonnull - private String updatedAt; - - public Service() { - } - - public Service( - String slug - ) { - this(); - this.slug = slug; - } - - public Service name(@jakarta.annotation.Nonnull String name) { - this.name = name; - return this; - } - - /** - * The name of the service - * @return name - */ - @jakarta.annotation.Nonnull - public String getName() { - return name; - } - - public void setName(@jakarta.annotation.Nonnull String name) { - this.name = name; - } - - - /** - * The slug of the service - * @return slug - */ - @jakarta.annotation.Nullable - public String getSlug() { - return slug; - } - - - - public Service managedBy(@jakarta.annotation.Nullable ManagedByEnum managedBy) { - this.managedBy = managedBy; - return this; - } - - /** - * How this service is managed (provenance): web, api, terraform, etc. Read-only. - * @return managedBy - */ - @jakarta.annotation.Nullable - public ManagedByEnum getManagedBy() { - return managedBy; - } - - public void setManagedBy(@jakarta.annotation.Nullable ManagedByEnum managedBy) { - this.managedBy = managedBy; - } - - - public Service description(@jakarta.annotation.Nullable String description) { - this.description = description; - return this; - } - - /** - * The description of the service - * @return description - */ - @jakarta.annotation.Nullable - public String getDescription() { - return description; - } - - public void setDescription(@jakarta.annotation.Nullable String description) { - this.description = description; - } - - - public Service publicDescription(@jakarta.annotation.Nullable String publicDescription) { - this.publicDescription = publicDescription; - return this; - } - - /** - * The status page description of the service - * @return publicDescription - */ - @jakarta.annotation.Nullable - public String getPublicDescription() { - return publicDescription; - } - - public void setPublicDescription(@jakarta.annotation.Nullable String publicDescription) { - this.publicDescription = publicDescription; - } - - - public Service notifyEmails(@jakarta.annotation.Nullable List notifyEmails) { - this.notifyEmails = notifyEmails; - return this; - } - - public Service addNotifyEmailsItem(String notifyEmailsItem) { - if (this.notifyEmails == null) { - this.notifyEmails = new ArrayList<>(); - } - this.notifyEmails.add(notifyEmailsItem); - return this; - } - - /** - * Emails attached to the service - * @return notifyEmails - */ - @jakarta.annotation.Nullable - public List getNotifyEmails() { - return notifyEmails; - } - - public void setNotifyEmails(@jakarta.annotation.Nullable List notifyEmails) { - this.notifyEmails = notifyEmails; - } - - - public Service color(@jakarta.annotation.Nullable String color) { - this.color = color; - return this; - } - - /** - * The hex color of the service - * @return color - */ - @jakarta.annotation.Nullable - public String getColor() { - return color; - } - - public void setColor(@jakarta.annotation.Nullable String color) { - this.color = color; - } - - - public Service position(@jakarta.annotation.Nullable Integer position) { - this.position = position; - return this; - } - - /** - * Position of the service - * @return position - */ - @jakarta.annotation.Nullable - public Integer getPosition() { - return position; - } - - public void setPosition(@jakarta.annotation.Nullable Integer position) { - this.position = position; - } - - - public Service backstageId(@jakarta.annotation.Nullable String backstageId) { - this.backstageId = backstageId; - return this; - } - - /** - * The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name - * @return backstageId - */ - @jakarta.annotation.Nullable - public String getBackstageId() { - return backstageId; - } - - public void setBackstageId(@jakarta.annotation.Nullable String backstageId) { - this.backstageId = backstageId; - } - - - public Service externalId(@jakarta.annotation.Nullable String externalId) { - this.externalId = externalId; - return this; - } - - /** - * The external id associated to this service - * @return externalId - */ - @jakarta.annotation.Nullable - public String getExternalId() { - return externalId; - } - - public void setExternalId(@jakarta.annotation.Nullable String externalId) { - this.externalId = externalId; - } - - - public Service pagerdutyId(@jakarta.annotation.Nullable String pagerdutyId) { - this.pagerdutyId = pagerdutyId; - return this; - } - - /** - * The PagerDuty service id associated to this service - * @return pagerdutyId - */ - @jakarta.annotation.Nullable - public String getPagerdutyId() { - return pagerdutyId; - } - - public void setPagerdutyId(@jakarta.annotation.Nullable String pagerdutyId) { - this.pagerdutyId = pagerdutyId; - } - - - public Service opsgenieId(@jakarta.annotation.Nullable String opsgenieId) { - this.opsgenieId = opsgenieId; - return this; - } - - /** - * The Opsgenie service id associated to this service - * @return opsgenieId - */ - @jakarta.annotation.Nullable - public String getOpsgenieId() { - return opsgenieId; - } - - public void setOpsgenieId(@jakarta.annotation.Nullable String opsgenieId) { - this.opsgenieId = opsgenieId; - } - - - public Service cortexId(@jakarta.annotation.Nullable String cortexId) { - this.cortexId = cortexId; - return this; - } - - /** - * The Cortex group id associated to this service - * @return cortexId - */ - @jakarta.annotation.Nullable - public String getCortexId() { - return cortexId; - } - - public void setCortexId(@jakarta.annotation.Nullable String cortexId) { - this.cortexId = cortexId; - } - - - public Service serviceNowCiSysId(@jakarta.annotation.Nullable String serviceNowCiSysId) { - this.serviceNowCiSysId = serviceNowCiSysId; - return this; - } - - /** - * The Service Now CI sys id associated to this service - * @return serviceNowCiSysId - */ - @jakarta.annotation.Nullable - public String getServiceNowCiSysId() { - return serviceNowCiSysId; - } - - public void setServiceNowCiSysId(@jakarta.annotation.Nullable String serviceNowCiSysId) { - this.serviceNowCiSysId = serviceNowCiSysId; - } - - - public Service githubRepositoryName(@jakarta.annotation.Nullable String githubRepositoryName) { - this.githubRepositoryName = githubRepositoryName; - return this; - } - - /** - * The GitHub repository name associated to this service. eg: rootlyhq/my-service - * @return githubRepositoryName - */ - @jakarta.annotation.Nullable - public String getGithubRepositoryName() { - return githubRepositoryName; - } - - public void setGithubRepositoryName(@jakarta.annotation.Nullable String githubRepositoryName) { - this.githubRepositoryName = githubRepositoryName; - } - - - public Service githubRepositoryBranch(@jakarta.annotation.Nullable String githubRepositoryBranch) { - this.githubRepositoryBranch = githubRepositoryBranch; - return this; - } - - /** - * The GitHub repository branch associated to this service. eg: main - * @return githubRepositoryBranch - */ - @jakarta.annotation.Nullable - public String getGithubRepositoryBranch() { - return githubRepositoryBranch; - } - - public void setGithubRepositoryBranch(@jakarta.annotation.Nullable String githubRepositoryBranch) { - this.githubRepositoryBranch = githubRepositoryBranch; - } - - - public Service gitlabRepositoryName(@jakarta.annotation.Nullable String gitlabRepositoryName) { - this.gitlabRepositoryName = gitlabRepositoryName; - return this; - } - - /** - * The GitLab repository name associated to this service. eg: rootlyhq/my-service - * @return gitlabRepositoryName - */ - @jakarta.annotation.Nullable - public String getGitlabRepositoryName() { - return gitlabRepositoryName; - } - - public void setGitlabRepositoryName(@jakarta.annotation.Nullable String gitlabRepositoryName) { - this.gitlabRepositoryName = gitlabRepositoryName; - } - - - public Service gitlabRepositoryBranch(@jakarta.annotation.Nullable String gitlabRepositoryBranch) { - this.gitlabRepositoryBranch = gitlabRepositoryBranch; - return this; - } - - /** - * The GitLab repository branch associated to this service. eg: main - * @return gitlabRepositoryBranch - */ - @jakarta.annotation.Nullable - public String getGitlabRepositoryBranch() { - return gitlabRepositoryBranch; - } - - public void setGitlabRepositoryBranch(@jakarta.annotation.Nullable String gitlabRepositoryBranch) { - this.gitlabRepositoryBranch = gitlabRepositoryBranch; - } - - - public Service kubernetesDeploymentName(@jakarta.annotation.Nullable String kubernetesDeploymentName) { - this.kubernetesDeploymentName = kubernetesDeploymentName; - return this; - } - - /** - * The Kubernetes deployment name associated to this service. eg: namespace/deployment-name - * @return kubernetesDeploymentName - */ - @jakarta.annotation.Nullable - public String getKubernetesDeploymentName() { - return kubernetesDeploymentName; - } - - public void setKubernetesDeploymentName(@jakarta.annotation.Nullable String kubernetesDeploymentName) { - this.kubernetesDeploymentName = kubernetesDeploymentName; - } - - - public Service environmentIds(@jakarta.annotation.Nullable List environmentIds) { - this.environmentIds = environmentIds; - return this; - } - - public Service addEnvironmentIdsItem(String environmentIdsItem) { - if (this.environmentIds == null) { - this.environmentIds = new ArrayList<>(); - } - this.environmentIds.add(environmentIdsItem); - return this; - } - /** - * Environments associated with this service - * @return environmentIds + * The type of the escalation path rule */ - @jakarta.annotation.Nullable - public List getEnvironmentIds() { - return environmentIds; - } + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + SERVICE("service"); - public void setEnvironmentIds(@jakarta.annotation.Nullable List environmentIds) { - this.environmentIds = environmentIds; - } - - - public Service serviceIds(@jakarta.annotation.Nullable List serviceIds) { - this.serviceIds = serviceIds; - return this; - } + private String value; - public Service addServiceIdsItem(String serviceIdsItem) { - if (this.serviceIds == null) { - this.serviceIds = new ArrayList<>(); + RuleTypeEnum(String value) { + this.value = value; } - this.serviceIds.add(serviceIdsItem); - return this; - } - - /** - * Services dependent on this service - * @return serviceIds - */ - @jakarta.annotation.Nullable - public List getServiceIds() { - return serviceIds; - } - - public void setServiceIds(@jakarta.annotation.Nullable List serviceIds) { - this.serviceIds = serviceIds; - } - - - public Service ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { - this.ownerGroupIds = ownerGroupIds; - return this; - } - public Service addOwnerGroupIdsItem(String ownerGroupIdsItem) { - if (this.ownerGroupIds == null) { - this.ownerGroupIds = new ArrayList<>(); + public String getValue() { + return value; } - this.ownerGroupIds.add(ownerGroupIdsItem); - return this; - } - - /** - * Owner Teams associated with this service - * @return ownerGroupIds - */ - @jakarta.annotation.Nullable - public List getOwnerGroupIds() { - return ownerGroupIds; - } - - public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { - this.ownerGroupIds = ownerGroupIds; - } - - - public Service ownerUserIds(@jakarta.annotation.Nullable List ownerUserIds) { - this.ownerUserIds = ownerUserIds; - return this; - } - public Service addOwnerUserIdsItem(Integer ownerUserIdsItem) { - if (this.ownerUserIds == null) { - this.ownerUserIds = new ArrayList<>(); + @Override + public String toString() { + return String.valueOf(value); } - this.ownerUserIds.add(ownerUserIdsItem); - return this; - } - - /** - * Owner Users associated with this service - * @return ownerUserIds - */ - @jakarta.annotation.Nullable - public List getOwnerUserIds() { - return ownerUserIds; - } - - public void setOwnerUserIds(@jakarta.annotation.Nullable List ownerUserIds) { - this.ownerUserIds = ownerUserIds; - } - - - public Service alertUrgencyId(@jakarta.annotation.Nullable String alertUrgencyId) { - this.alertUrgencyId = alertUrgencyId; - return this; - } - - /** - * The alert urgency id of the service - * @return alertUrgencyId - */ - @jakarta.annotation.Nullable - public String getAlertUrgencyId() { - return alertUrgencyId; - } - - public void setAlertUrgencyId(@jakarta.annotation.Nullable String alertUrgencyId) { - this.alertUrgencyId = alertUrgencyId; - } - - - public Service escalationPolicyId(@jakarta.annotation.Nullable String escalationPolicyId) { - this.escalationPolicyId = escalationPolicyId; - return this; - } - - /** - * The escalation policy id of the service - * @return escalationPolicyId - */ - @jakarta.annotation.Nullable - public String getEscalationPolicyId() { - return escalationPolicyId; - } - - public void setEscalationPolicyId(@jakarta.annotation.Nullable String escalationPolicyId) { - this.escalationPolicyId = escalationPolicyId; - } + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } - public Service alertsEmailEnabled(@jakarta.annotation.Nullable Boolean alertsEmailEnabled) { - this.alertsEmailEnabled = alertsEmailEnabled; - return this; - } + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } - /** - * Enable alerts through email - * @return alertsEmailEnabled - */ - @jakarta.annotation.Nullable - public Boolean getAlertsEmailEnabled() { - return alertsEmailEnabled; - } + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } - public void setAlertsEmailEnabled(@jakarta.annotation.Nullable Boolean alertsEmailEnabled) { - this.alertsEmailEnabled = alertsEmailEnabled; + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } } + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) + @jakarta.annotation.Nonnull + private RuleTypeEnum ruleType; - public Service alertsEmailAddress(@jakarta.annotation.Nullable String alertsEmailAddress) { - this.alertsEmailAddress = alertsEmailAddress; - return this; - } + public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; + @SerializedName(SERIALIZED_NAME_SERVICE_IDS) + @jakarta.annotation.Nonnull + private List serviceIds = new ArrayList<>(); /** - * Email generated to send alerts to - * @return alertsEmailAddress + * How the alert's services should be matched. is and is_not take exactly one id */ - @jakarta.annotation.Nullable - public String getAlertsEmailAddress() { - return alertsEmailAddress; - } - - public void setAlertsEmailAddress(@jakarta.annotation.Nullable String alertsEmailAddress) { - this.alertsEmailAddress = alertsEmailAddress; - } - + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("is"), + + IS_NOT("is_not"), + + IS_ONE_OF("is_one_of"), + + IS_NOT_ONE_OF("is_not_one_of"); - public Service slackChannels(@jakarta.annotation.Nullable List slackChannels) { - this.slackChannels = slackChannels; - return this; - } + private String value; - public Service addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner slackChannelsItem) { - if (this.slackChannels == null) { - this.slackChannels = new ArrayList<>(); + OperatorEnum(String value) { + this.value = value; } - this.slackChannels.add(slackChannelsItem); - return this; - } - - /** - * Slack Channels associated with this service - * @return slackChannels - */ - @jakarta.annotation.Nullable - public List getSlackChannels() { - return slackChannels; - } - - public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { - this.slackChannels = slackChannels; - } - - public Service slackAliases(@jakarta.annotation.Nullable List slackAliases) { - this.slackAliases = slackAliases; - return this; - } - - public Service addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner slackAliasesItem) { - if (this.slackAliases == null) { - this.slackAliases = new ArrayList<>(); + public String getValue() { + return value; } - this.slackAliases.add(slackAliasesItem); - return this; - } - - /** - * Slack Aliases associated with this service - * @return slackAliases - */ - @jakarta.annotation.Nullable - public List getSlackAliases() { - return slackAliases; - } - public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { - this.slackAliases = slackAliases; - } - - - public Service alertBroadcastEnabled(@jakarta.annotation.Nullable Boolean alertBroadcastEnabled) { - this.alertBroadcastEnabled = alertBroadcastEnabled; - return this; - } - - /** - * Enable alerts to be broadcasted to a specific channel - * @return alertBroadcastEnabled - */ - @jakarta.annotation.Nullable - public Boolean getAlertBroadcastEnabled() { - return alertBroadcastEnabled; - } - - public void setAlertBroadcastEnabled(@jakarta.annotation.Nullable Boolean alertBroadcastEnabled) { - this.alertBroadcastEnabled = alertBroadcastEnabled; - } - - - public Service alertBroadcastChannel(@jakarta.annotation.Nullable ServiceAlertBroadcastChannel alertBroadcastChannel) { - this.alertBroadcastChannel = alertBroadcastChannel; - return this; - } + @Override + public String toString() { + return String.valueOf(value); + } - /** - * Get alertBroadcastChannel - * @return alertBroadcastChannel - */ - @jakarta.annotation.Nullable - public ServiceAlertBroadcastChannel getAlertBroadcastChannel() { - return alertBroadcastChannel; - } + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } - public void setAlertBroadcastChannel(@jakarta.annotation.Nullable ServiceAlertBroadcastChannel alertBroadcastChannel) { - this.alertBroadcastChannel = alertBroadcastChannel; - } + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperatorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + @Override + public OperatorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperatorEnum.fromValue(value); + } + } - public Service incidentBroadcastEnabled(@jakarta.annotation.Nullable Boolean incidentBroadcastEnabled) { - this.incidentBroadcastEnabled = incidentBroadcastEnabled; - return this; + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperatorEnum.fromValue(value); + } } - /** - * Enable incidents to be broadcasted to a specific channel - * @return incidentBroadcastEnabled - */ + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) @jakarta.annotation.Nullable - public Boolean getIncidentBroadcastEnabled() { - return incidentBroadcastEnabled; - } + private OperatorEnum operator = OperatorEnum.IS_ONE_OF; - public void setIncidentBroadcastEnabled(@jakarta.annotation.Nullable Boolean incidentBroadcastEnabled) { - this.incidentBroadcastEnabled = incidentBroadcastEnabled; + public Service() { } - - public Service incidentBroadcastChannel(@jakarta.annotation.Nullable ServiceIncidentBroadcastChannel incidentBroadcastChannel) { - this.incidentBroadcastChannel = incidentBroadcastChannel; + public Service ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; return this; } /** - * Get incidentBroadcastChannel - * @return incidentBroadcastChannel + * The type of the escalation path rule + * @return ruleType */ - @jakarta.annotation.Nullable - public ServiceIncidentBroadcastChannel getIncidentBroadcastChannel() { - return incidentBroadcastChannel; + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; } - public void setIncidentBroadcastChannel(@jakarta.annotation.Nullable ServiceIncidentBroadcastChannel incidentBroadcastChannel) { - this.incidentBroadcastChannel = incidentBroadcastChannel; + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; } - public Service properties(@jakarta.annotation.Nullable List properties) { - this.properties = properties; + public Service serviceIds(@jakarta.annotation.Nonnull List serviceIds) { + this.serviceIds = serviceIds; return this; } - public Service addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { - if (this.properties == null) { - this.properties = new ArrayList<>(); + public Service addServiceIdsItem(String serviceIdsItem) { + if (this.serviceIds == null) { + this.serviceIds = new ArrayList<>(); } - this.properties.add(propertiesItem); - return this; - } - - /** - * Array of property values for this service. - * @return properties - */ - @jakarta.annotation.Nullable - public List getProperties() { - return properties; - } - - public void setProperties(@jakarta.annotation.Nullable List properties) { - this.properties = properties; - } - - - public Service createdAt(@jakarta.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + this.serviceIds.add(serviceIdsItem); return this; } /** - * Date of creation - * @return createdAt + * Service ids for which this escalation path should be used + * @return serviceIds */ @jakarta.annotation.Nonnull - public String getCreatedAt() { - return createdAt; + public List getServiceIds() { + return serviceIds; } - public void setCreatedAt(@jakarta.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public void setServiceIds(@jakarta.annotation.Nonnull List serviceIds) { + this.serviceIds = serviceIds; } - public Service updatedAt(@jakarta.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public Service operator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; return this; } /** - * Date of last update - * @return updatedAt + * How the alert's services should be matched. is and is_not take exactly one id + * @return operator */ - @jakarta.annotation.Nonnull - public String getUpdatedAt() { - return updatedAt; + @jakarta.annotation.Nullable + public OperatorEnum getOperator() { + return operator; } - public void setUpdatedAt(@jakarta.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public void setOperator(@jakarta.annotation.Nullable OperatorEnum operator) { + this.operator = operator; } @@ -1060,100 +251,23 @@ public boolean equals(Object o) { return false; } Service service = (Service) o; - return Objects.equals(this.name, service.name) && - Objects.equals(this.slug, service.slug) && - Objects.equals(this.managedBy, service.managedBy) && - Objects.equals(this.description, service.description) && - Objects.equals(this.publicDescription, service.publicDescription) && - Objects.equals(this.notifyEmails, service.notifyEmails) && - Objects.equals(this.color, service.color) && - Objects.equals(this.position, service.position) && - Objects.equals(this.backstageId, service.backstageId) && - Objects.equals(this.externalId, service.externalId) && - Objects.equals(this.pagerdutyId, service.pagerdutyId) && - Objects.equals(this.opsgenieId, service.opsgenieId) && - Objects.equals(this.cortexId, service.cortexId) && - Objects.equals(this.serviceNowCiSysId, service.serviceNowCiSysId) && - Objects.equals(this.githubRepositoryName, service.githubRepositoryName) && - Objects.equals(this.githubRepositoryBranch, service.githubRepositoryBranch) && - Objects.equals(this.gitlabRepositoryName, service.gitlabRepositoryName) && - Objects.equals(this.gitlabRepositoryBranch, service.gitlabRepositoryBranch) && - Objects.equals(this.kubernetesDeploymentName, service.kubernetesDeploymentName) && - Objects.equals(this.environmentIds, service.environmentIds) && + return Objects.equals(this.ruleType, service.ruleType) && Objects.equals(this.serviceIds, service.serviceIds) && - Objects.equals(this.ownerGroupIds, service.ownerGroupIds) && - Objects.equals(this.ownerUserIds, service.ownerUserIds) && - Objects.equals(this.alertUrgencyId, service.alertUrgencyId) && - Objects.equals(this.escalationPolicyId, service.escalationPolicyId) && - Objects.equals(this.alertsEmailEnabled, service.alertsEmailEnabled) && - Objects.equals(this.alertsEmailAddress, service.alertsEmailAddress) && - Objects.equals(this.slackChannels, service.slackChannels) && - Objects.equals(this.slackAliases, service.slackAliases) && - Objects.equals(this.alertBroadcastEnabled, service.alertBroadcastEnabled) && - Objects.equals(this.alertBroadcastChannel, service.alertBroadcastChannel) && - Objects.equals(this.incidentBroadcastEnabled, service.incidentBroadcastEnabled) && - Objects.equals(this.incidentBroadcastChannel, service.incidentBroadcastChannel) && - Objects.equals(this.properties, service.properties) && - Objects.equals(this.createdAt, service.createdAt) && - Objects.equals(this.updatedAt, service.updatedAt); - } - - private static boolean equalsNullable(JsonNullable a, JsonNullable b) { - return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + Objects.equals(this.operator, service.operator); } @Override public int hashCode() { - return Objects.hash(name, slug, managedBy, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, cortexId, serviceNowCiSysId, githubRepositoryName, githubRepositoryBranch, gitlabRepositoryName, gitlabRepositoryBranch, kubernetesDeploymentName, environmentIds, serviceIds, ownerGroupIds, ownerUserIds, alertUrgencyId, escalationPolicyId, alertsEmailEnabled, alertsEmailAddress, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, properties, createdAt, updatedAt); - } - - private static int hashCodeNullable(JsonNullable a) { - if (a == null) { - return 1; - } - return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + return Objects.hash(ruleType, serviceIds, operator); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Service {\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); - sb.append(" managedBy: ").append(toIndentedString(managedBy)).append("\n"); - sb.append(" description: ").append(toIndentedString(description)).append("\n"); - sb.append(" publicDescription: ").append(toIndentedString(publicDescription)).append("\n"); - sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); - sb.append(" color: ").append(toIndentedString(color)).append("\n"); - sb.append(" position: ").append(toIndentedString(position)).append("\n"); - sb.append(" backstageId: ").append(toIndentedString(backstageId)).append("\n"); - sb.append(" externalId: ").append(toIndentedString(externalId)).append("\n"); - sb.append(" pagerdutyId: ").append(toIndentedString(pagerdutyId)).append("\n"); - sb.append(" opsgenieId: ").append(toIndentedString(opsgenieId)).append("\n"); - sb.append(" cortexId: ").append(toIndentedString(cortexId)).append("\n"); - sb.append(" serviceNowCiSysId: ").append(toIndentedString(serviceNowCiSysId)).append("\n"); - sb.append(" githubRepositoryName: ").append(toIndentedString(githubRepositoryName)).append("\n"); - sb.append(" githubRepositoryBranch: ").append(toIndentedString(githubRepositoryBranch)).append("\n"); - sb.append(" gitlabRepositoryName: ").append(toIndentedString(gitlabRepositoryName)).append("\n"); - sb.append(" gitlabRepositoryBranch: ").append(toIndentedString(gitlabRepositoryBranch)).append("\n"); - sb.append(" kubernetesDeploymentName: ").append(toIndentedString(kubernetesDeploymentName)).append("\n"); - sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); - sb.append(" ownerUserIds: ").append(toIndentedString(ownerUserIds)).append("\n"); - sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); - sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); - sb.append(" alertsEmailEnabled: ").append(toIndentedString(alertsEmailEnabled)).append("\n"); - sb.append(" alertsEmailAddress: ").append(toIndentedString(alertsEmailAddress)).append("\n"); - sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); - sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); - sb.append(" alertBroadcastEnabled: ").append(toIndentedString(alertBroadcastEnabled)).append("\n"); - sb.append(" alertBroadcastChannel: ").append(toIndentedString(alertBroadcastChannel)).append("\n"); - sb.append(" incidentBroadcastEnabled: ").append(toIndentedString(incidentBroadcastEnabled)).append("\n"); - sb.append(" incidentBroadcastChannel: ").append(toIndentedString(incidentBroadcastChannel)).append("\n"); - sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); - sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); - sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); sb.append("}"); return sb.toString(); } @@ -1176,48 +290,14 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("name"); - openapiFields.add("slug"); - openapiFields.add("managed_by"); - openapiFields.add("description"); - openapiFields.add("public_description"); - openapiFields.add("notify_emails"); - openapiFields.add("color"); - openapiFields.add("position"); - openapiFields.add("backstage_id"); - openapiFields.add("external_id"); - openapiFields.add("pagerduty_id"); - openapiFields.add("opsgenie_id"); - openapiFields.add("cortex_id"); - openapiFields.add("service_now_ci_sys_id"); - openapiFields.add("github_repository_name"); - openapiFields.add("github_repository_branch"); - openapiFields.add("gitlab_repository_name"); - openapiFields.add("gitlab_repository_branch"); - openapiFields.add("kubernetes_deployment_name"); - openapiFields.add("environment_ids"); + openapiFields.add("rule_type"); openapiFields.add("service_ids"); - openapiFields.add("owner_group_ids"); - openapiFields.add("owner_user_ids"); - openapiFields.add("alert_urgency_id"); - openapiFields.add("escalation_policy_id"); - openapiFields.add("alerts_email_enabled"); - openapiFields.add("alerts_email_address"); - openapiFields.add("slack_channels"); - openapiFields.add("slack_aliases"); - openapiFields.add("alert_broadcast_enabled"); - openapiFields.add("alert_broadcast_channel"); - openapiFields.add("incident_broadcast_enabled"); - openapiFields.add("incident_broadcast_channel"); - openapiFields.add("properties"); - openapiFields.add("created_at"); - openapiFields.add("updated_at"); + openapiFields.add("operator"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); - openapiRequiredFields.add("name"); - openapiRequiredFields.add("created_at"); - openapiRequiredFields.add("updated_at"); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("service_ids"); } /** @@ -1248,145 +328,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - if (!jsonObj.get("name").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); - } - if ((jsonObj.get("slug") != null && !jsonObj.get("slug").isJsonNull()) && !jsonObj.get("slug").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `slug` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slug").toString())); - } - if ((jsonObj.get("managed_by") != null && !jsonObj.get("managed_by").isJsonNull()) && !jsonObj.get("managed_by").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `managed_by` to be a primitive type in the JSON string but got `%s`", jsonObj.get("managed_by").toString())); - } - // validate the optional field `managed_by` - if (jsonObj.get("managed_by") != null && !jsonObj.get("managed_by").isJsonNull()) { - ManagedByEnum.validateJsonElement(jsonObj.get("managed_by")); - } - if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); - } - if ((jsonObj.get("public_description") != null && !jsonObj.get("public_description").isJsonNull()) && !jsonObj.get("public_description").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `public_description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("public_description").toString())); - } - // ensure the optional json data is an array if present - if (jsonObj.get("notify_emails") != null && !jsonObj.get("notify_emails").isJsonNull() && !jsonObj.get("notify_emails").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `notify_emails` to be an array in the JSON string but got `%s`", jsonObj.get("notify_emails").toString())); - } - if ((jsonObj.get("color") != null && !jsonObj.get("color").isJsonNull()) && !jsonObj.get("color").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `color` to be a primitive type in the JSON string but got `%s`", jsonObj.get("color").toString())); - } - if ((jsonObj.get("backstage_id") != null && !jsonObj.get("backstage_id").isJsonNull()) && !jsonObj.get("backstage_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `backstage_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("backstage_id").toString())); - } - if ((jsonObj.get("external_id") != null && !jsonObj.get("external_id").isJsonNull()) && !jsonObj.get("external_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `external_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("external_id").toString())); - } - if ((jsonObj.get("pagerduty_id") != null && !jsonObj.get("pagerduty_id").isJsonNull()) && !jsonObj.get("pagerduty_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `pagerduty_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pagerduty_id").toString())); - } - if ((jsonObj.get("opsgenie_id") != null && !jsonObj.get("opsgenie_id").isJsonNull()) && !jsonObj.get("opsgenie_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `opsgenie_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("opsgenie_id").toString())); - } - if ((jsonObj.get("cortex_id") != null && !jsonObj.get("cortex_id").isJsonNull()) && !jsonObj.get("cortex_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `cortex_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cortex_id").toString())); - } - if ((jsonObj.get("service_now_ci_sys_id") != null && !jsonObj.get("service_now_ci_sys_id").isJsonNull()) && !jsonObj.get("service_now_ci_sys_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `service_now_ci_sys_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_ci_sys_id").toString())); - } - if ((jsonObj.get("github_repository_name") != null && !jsonObj.get("github_repository_name").isJsonNull()) && !jsonObj.get("github_repository_name").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `github_repository_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("github_repository_name").toString())); - } - if ((jsonObj.get("github_repository_branch") != null && !jsonObj.get("github_repository_branch").isJsonNull()) && !jsonObj.get("github_repository_branch").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `github_repository_branch` to be a primitive type in the JSON string but got `%s`", jsonObj.get("github_repository_branch").toString())); - } - if ((jsonObj.get("gitlab_repository_name") != null && !jsonObj.get("gitlab_repository_name").isJsonNull()) && !jsonObj.get("gitlab_repository_name").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `gitlab_repository_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("gitlab_repository_name").toString())); - } - if ((jsonObj.get("gitlab_repository_branch") != null && !jsonObj.get("gitlab_repository_branch").isJsonNull()) && !jsonObj.get("gitlab_repository_branch").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `gitlab_repository_branch` to be a primitive type in the JSON string but got `%s`", jsonObj.get("gitlab_repository_branch").toString())); - } - if ((jsonObj.get("kubernetes_deployment_name") != null && !jsonObj.get("kubernetes_deployment_name").isJsonNull()) && !jsonObj.get("kubernetes_deployment_name").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `kubernetes_deployment_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kubernetes_deployment_name").toString())); - } - // ensure the optional json data is an array if present - if (jsonObj.get("environment_ids") != null && !jsonObj.get("environment_ids").isJsonNull() && !jsonObj.get("environment_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("environment_ids").toString())); - } - // ensure the optional json data is an array if present - if (jsonObj.get("service_ids") != null && !jsonObj.get("service_ids").isJsonNull() && !jsonObj.get("service_ids").isJsonArray()) { + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); + } + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + // ensure the required json array is present + if (jsonObj.get("service_ids") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("service_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `service_ids` to be an array in the JSON string but got `%s`", jsonObj.get("service_ids").toString())); } - // ensure the optional json data is an array if present - if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); - } - // ensure the optional json data is an array if present - if (jsonObj.get("owner_user_ids") != null && !jsonObj.get("owner_user_ids").isJsonNull() && !jsonObj.get("owner_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owner_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_user_ids").toString())); - } - if ((jsonObj.get("alert_urgency_id") != null && !jsonObj.get("alert_urgency_id").isJsonNull()) && !jsonObj.get("alert_urgency_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `alert_urgency_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_urgency_id").toString())); - } - if ((jsonObj.get("escalation_policy_id") != null && !jsonObj.get("escalation_policy_id").isJsonNull()) && !jsonObj.get("escalation_policy_id").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `escalation_policy_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("escalation_policy_id").toString())); - } - if ((jsonObj.get("alerts_email_address") != null && !jsonObj.get("alerts_email_address").isJsonNull()) && !jsonObj.get("alerts_email_address").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `alerts_email_address` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alerts_email_address").toString())); - } - if (jsonObj.get("slack_channels") != null && !jsonObj.get("slack_channels").isJsonNull()) { - JsonArray jsonArrayslackChannels = jsonObj.getAsJsonArray("slack_channels"); - if (jsonArrayslackChannels != null) { - // ensure the json data is an array - if (!jsonObj.get("slack_channels").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `slack_channels` to be an array in the JSON string but got `%s`", jsonObj.get("slack_channels").toString())); - } - - // validate the optional field `slack_channels` (array) - for (int i = 0; i < jsonArrayslackChannels.size(); i++) { - NewEnvironmentDataAttributesSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); - }; - } - } - if (jsonObj.get("slack_aliases") != null && !jsonObj.get("slack_aliases").isJsonNull()) { - JsonArray jsonArrayslackAliases = jsonObj.getAsJsonArray("slack_aliases"); - if (jsonArrayslackAliases != null) { - // ensure the json data is an array - if (!jsonObj.get("slack_aliases").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `slack_aliases` to be an array in the JSON string but got `%s`", jsonObj.get("slack_aliases").toString())); - } - - // validate the optional field `slack_aliases` (array) - for (int i = 0; i < jsonArrayslackAliases.size(); i++) { - NewEnvironmentDataAttributesSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); - }; - } - } - // validate the optional field `alert_broadcast_channel` - if (jsonObj.get("alert_broadcast_channel") != null && !jsonObj.get("alert_broadcast_channel").isJsonNull()) { - ServiceAlertBroadcastChannel.validateJsonElement(jsonObj.get("alert_broadcast_channel")); - } - // validate the optional field `incident_broadcast_channel` - if (jsonObj.get("incident_broadcast_channel") != null && !jsonObj.get("incident_broadcast_channel").isJsonNull()) { - ServiceIncidentBroadcastChannel.validateJsonElement(jsonObj.get("incident_broadcast_channel")); - } - if (jsonObj.get("properties") != null && !jsonObj.get("properties").isJsonNull()) { - JsonArray jsonArrayproperties = jsonObj.getAsJsonArray("properties"); - if (jsonArrayproperties != null) { - // ensure the json data is an array - if (!jsonObj.get("properties").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `properties` to be an array in the JSON string but got `%s`", jsonObj.get("properties").toString())); - } - - // validate the optional field `properties` (array) - for (int i = 0; i < jsonArrayproperties.size(); i++) { - NewCauseDataAttributesPropertiesInner.validateJsonElement(jsonArrayproperties.get(i)); - }; - } - } - if (!jsonObj.get("created_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); + if ((jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) && !jsonObj.get("operator").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operator` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operator").toString())); } - if (!jsonObj.get("updated_at").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `updated_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("updated_at").toString())); + // validate the optional field `operator` + if (jsonObj.get("operator") != null && !jsonObj.get("operator").isJsonNull()) { + OperatorEnum.validateJsonElement(jsonObj.get("operator")); } } diff --git a/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java b/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java index 60d58433..54766ab7 100644 --- a/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java +++ b/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java @@ -48,7 +48,7 @@ /** * Slack channel to broadcast alerts to */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServiceAlertBroadcastChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java b/src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java index cfab21cc..dcbc85d1 100644 --- a/src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java +++ b/src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java @@ -48,7 +48,7 @@ /** * Slack channel to broadcast incidents to */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServiceIncidentBroadcastChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ServiceList.java b/src/main/java/com/rootly/client/model/ServiceList.java index 0a563d99..512f198f 100644 --- a/src/main/java/com/rootly/client/model/ServiceList.java +++ b/src/main/java/com/rootly/client/model/ServiceList.java @@ -54,7 +54,7 @@ /** * ServiceList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServiceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ServiceResponse.java b/src/main/java/com/rootly/client/model/ServiceResponse.java index 4d17e132..0925c9b3 100644 --- a/src/main/java/com/rootly/client/model/ServiceResponse.java +++ b/src/main/java/com/rootly/client/model/ServiceResponse.java @@ -52,7 +52,7 @@ /** * ServiceResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServiceResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ServiceResponseData.java b/src/main/java/com/rootly/client/model/ServiceResponseData.java index b1abc643..bd4c2ed1 100644 --- a/src/main/java/com/rootly/client/model/ServiceResponseData.java +++ b/src/main/java/com/rootly/client/model/ServiceResponseData.java @@ -49,7 +49,7 @@ /** * ServiceResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServiceResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Severity.java b/src/main/java/com/rootly/client/model/Severity.java index f04e381e..5ee9d19a 100644 --- a/src/main/java/com/rootly/client/model/Severity.java +++ b/src/main/java/com/rootly/client/model/Severity.java @@ -19,8 +19,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +53,7 @@ /** * Severity */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Severity { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -149,12 +149,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @jakarta.annotation.Nullable - private List slackChannels; + private List slackChannels; public static final String SERIALIZED_NAME_SLACK_ALIASES = "slack_aliases"; @SerializedName(SERIALIZED_NAME_SLACK_ALIASES) @jakarta.annotation.Nullable - private List slackAliases; + private List slackAliases; public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @@ -309,12 +309,12 @@ public void setNotifyEmails(@jakarta.annotation.Nullable List notifyEmai } - public Severity slackChannels(@jakarta.annotation.Nullable List slackChannels) { + public Severity slackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; } - public Severity addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner slackChannelsItem) { + public Severity addSlackChannelsItem(EnvironmentSlackChannelsInner slackChannelsItem) { if (this.slackChannels == null) { this.slackChannels = new ArrayList<>(); } @@ -327,21 +327,21 @@ public Severity addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsIn * @return slackChannels */ @jakarta.annotation.Nullable - public List getSlackChannels() { + public List getSlackChannels() { return slackChannels; } - public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { + public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; } - public Severity slackAliases(@jakarta.annotation.Nullable List slackAliases) { + public Severity slackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; return this; } - public Severity addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner slackAliasesItem) { + public Severity addSlackAliasesItem(EnvironmentSlackAliasesInner slackAliasesItem) { if (this.slackAliases == null) { this.slackAliases = new ArrayList<>(); } @@ -354,11 +354,11 @@ public Severity addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInne * @return slackAliases */ @jakarta.annotation.Nullable - public List getSlackAliases() { + public List getSlackAliases() { return slackAliases; } - public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { + public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; } @@ -557,7 +557,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_channels` (array) for (int i = 0; i < jsonArrayslackChannels.size(); i++) { - NewEnvironmentDataAttributesSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); + EnvironmentSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); }; } } @@ -571,7 +571,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_aliases` (array) for (int i = 0; i < jsonArrayslackAliases.size(); i++) { - NewEnvironmentDataAttributesSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); + EnvironmentSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/SeverityList.java b/src/main/java/com/rootly/client/model/SeverityList.java index dd5d7762..39c59620 100644 --- a/src/main/java/com/rootly/client/model/SeverityList.java +++ b/src/main/java/com/rootly/client/model/SeverityList.java @@ -54,7 +54,7 @@ /** * SeverityList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SeverityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SeverityResponse.java b/src/main/java/com/rootly/client/model/SeverityResponse.java index d63286ce..a3563261 100644 --- a/src/main/java/com/rootly/client/model/SeverityResponse.java +++ b/src/main/java/com/rootly/client/model/SeverityResponse.java @@ -52,7 +52,7 @@ /** * SeverityResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SeverityResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SeverityResponseData.java b/src/main/java/com/rootly/client/model/SeverityResponseData.java index f6678dba..74c0ebda 100644 --- a/src/main/java/com/rootly/client/model/SeverityResponseData.java +++ b/src/main/java/com/rootly/client/model/SeverityResponseData.java @@ -49,7 +49,7 @@ /** * SeverityResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SeverityResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Shift.java b/src/main/java/com/rootly/client/model/Shift.java index d3b01ff3..46311f4c 100644 --- a/src/main/java/com/rootly/client/model/Shift.java +++ b/src/main/java/com/rootly/client/model/Shift.java @@ -19,8 +19,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.OverriddenShift; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -49,7 +52,7 @@ /** * Shift */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Shift { public static final String SERIALIZED_NAME_SCHEDULE_ID = "schedule_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ID) @@ -86,6 +89,11 @@ public class Shift { @jakarta.annotation.Nullable private Integer userId; + public static final String SERIALIZED_NAME_OVERRIDDEN_SHIFTS = "overridden_shifts"; + @SerializedName(SERIALIZED_NAME_OVERRIDDEN_SHIFTS) + @jakarta.annotation.Nullable + private List overriddenShifts; + public Shift() { } @@ -222,6 +230,33 @@ public void setUserId(@jakarta.annotation.Nullable Integer userId) { } + public Shift overriddenShifts(@jakarta.annotation.Nullable List overriddenShifts) { + this.overriddenShifts = overriddenShifts; + return this; + } + + public Shift addOverriddenShiftsItem(OverriddenShift overriddenShiftsItem) { + if (this.overriddenShifts == null) { + this.overriddenShifts = new ArrayList<>(); + } + this.overriddenShifts.add(overriddenShiftsItem); + return this; + } + + /** + * For override shifts, the portions of the regular shifts this override replaces, clipped to the override window. Null for non-override shifts. Available when overridden shifts are enabled for the organization. + * @return overriddenShifts + */ + @jakarta.annotation.Nullable + public List getOverriddenShifts() { + return overriddenShifts; + } + + public void setOverriddenShifts(@jakarta.annotation.Nullable List overriddenShifts) { + this.overriddenShifts = overriddenShifts; + } + + @Override public boolean equals(Object o) { @@ -238,7 +273,8 @@ public boolean equals(Object o) { Objects.equals(this.endsAt, shift.endsAt) && Objects.equals(this.isOverride, shift.isOverride) && Objects.equals(this.isShadow, shift.isShadow) && - Objects.equals(this.userId, shift.userId); + Objects.equals(this.userId, shift.userId) && + Objects.equals(this.overriddenShifts, shift.overriddenShifts); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -247,7 +283,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(scheduleId, rotationId, startsAt, endsAt, isOverride, isShadow, userId); + return Objects.hash(scheduleId, rotationId, startsAt, endsAt, isOverride, isShadow, userId, overriddenShifts); } private static int hashCodeNullable(JsonNullable a) { @@ -268,6 +304,7 @@ public String toString() { sb.append(" isOverride: ").append(toIndentedString(isOverride)).append("\n"); sb.append(" isShadow: ").append(toIndentedString(isShadow)).append("\n"); sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" overriddenShifts: ").append(toIndentedString(overriddenShifts)).append("\n"); sb.append("}"); return sb.toString(); } @@ -297,6 +334,7 @@ private String toIndentedString(Object o) { openapiFields.add("is_override"); openapiFields.add("is_shadow"); openapiFields.add("user_id"); + openapiFields.add("overridden_shifts"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -348,6 +386,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("ends_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `ends_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("ends_at").toString())); } + if (jsonObj.get("overridden_shifts") != null && !jsonObj.get("overridden_shifts").isJsonNull()) { + JsonArray jsonArrayoverriddenShifts = jsonObj.getAsJsonArray("overridden_shifts"); + if (jsonArrayoverriddenShifts != null) { + // ensure the json data is an array + if (!jsonObj.get("overridden_shifts").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `overridden_shifts` to be an array in the JSON string but got `%s`", jsonObj.get("overridden_shifts").toString())); + } + + // validate the optional field `overridden_shifts` (array) + for (int i = 0; i < jsonArrayoverriddenShifts.size(); i++) { + OverriddenShift.validateJsonElement(jsonArrayoverriddenShifts.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ShiftCoverageRequest.java b/src/main/java/com/rootly/client/model/ShiftCoverageRequest.java index 3522937a..10b3f3ab 100644 --- a/src/main/java/com/rootly/client/model/ShiftCoverageRequest.java +++ b/src/main/java/com/rootly/client/model/ShiftCoverageRequest.java @@ -51,7 +51,7 @@ /** * ShiftCoverageRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftCoverageRequest { public static final String SERIALIZED_NAME_SCHEDULE_ID = "schedule_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ID) diff --git a/src/main/java/com/rootly/client/model/ShiftCoverageRequestList.java b/src/main/java/com/rootly/client/model/ShiftCoverageRequestList.java index d71bab81..f52604e2 100644 --- a/src/main/java/com/rootly/client/model/ShiftCoverageRequestList.java +++ b/src/main/java/com/rootly/client/model/ShiftCoverageRequestList.java @@ -54,7 +54,7 @@ /** * ShiftCoverageRequestList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftCoverageRequestList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponse.java b/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponse.java index 76edeb49..43bad01c 100644 --- a/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponse.java +++ b/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponse.java @@ -52,7 +52,7 @@ /** * ShiftCoverageRequestResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftCoverageRequestResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponseData.java b/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponseData.java index 47385d6a..a3ecf6fc 100644 --- a/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponseData.java +++ b/src/main/java/com/rootly/client/model/ShiftCoverageRequestResponseData.java @@ -49,7 +49,7 @@ /** * ShiftCoverageRequestResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftCoverageRequestResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ShiftList.java b/src/main/java/com/rootly/client/model/ShiftList.java index 5ef1e454..cdc8d530 100644 --- a/src/main/java/com/rootly/client/model/ShiftList.java +++ b/src/main/java/com/rootly/client/model/ShiftList.java @@ -53,7 +53,7 @@ /** * ShiftList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftListDataInner.java b/src/main/java/com/rootly/client/model/ShiftListDataInner.java index 5507b08d..edb94e87 100644 --- a/src/main/java/com/rootly/client/model/ShiftListDataInner.java +++ b/src/main/java/com/rootly/client/model/ShiftListDataInner.java @@ -50,7 +50,7 @@ /** * ShiftListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ShiftOverride.java b/src/main/java/com/rootly/client/model/ShiftOverride.java index 4f87a7dd..a4471e48 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverride.java +++ b/src/main/java/com/rootly/client/model/ShiftOverride.java @@ -48,7 +48,7 @@ /** * ShiftOverride */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftOverride { public static final String SERIALIZED_NAME_SHIFT_ID = "shift_id"; @SerializedName(SERIALIZED_NAME_SHIFT_ID) diff --git a/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java b/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java index 5fadbf6b..2b38fae6 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java +++ b/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java @@ -52,7 +52,7 @@ /** * ShiftOverrideResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftOverrideResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java b/src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java index b36e3623..b75da652 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java +++ b/src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java @@ -49,7 +49,7 @@ /** * ShiftOverrideResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftOverrideResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ShiftRelationships.java b/src/main/java/com/rootly/client/model/ShiftRelationships.java index 2d3e90f3..23713211 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationships.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationships.java @@ -51,7 +51,7 @@ /** * ShiftRelationships */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationships { public static final String SERIALIZED_NAME_SHIFT_OVERRIDE = "shift_override"; @SerializedName(SERIALIZED_NAME_SHIFT_OVERRIDE) diff --git a/src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java index 5c41b6b1..b1a91e29 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java @@ -50,7 +50,7 @@ /** * Assignee can be either a User or Schedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationshipsAssignee { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java index f57d9d18..a3750373 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java @@ -48,7 +48,7 @@ /** * ShiftRelationshipsAssigneeData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationshipsAssigneeData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java index 69cf7ab0..ace8f344 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java @@ -50,7 +50,7 @@ /** * ShiftRelationshipsShiftOverride */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationshipsShiftOverride { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java index f7a260e2..91e6aac7 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java @@ -48,7 +48,7 @@ /** * ShiftRelationshipsShiftOverrideData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationshipsShiftOverrideData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SimpleTriggerParams.java b/src/main/java/com/rootly/client/model/SimpleTriggerParams.java index 31bf3aa2..899be8f2 100644 --- a/src/main/java/com/rootly/client/model/SimpleTriggerParams.java +++ b/src/main/java/com/rootly/client/model/SimpleTriggerParams.java @@ -50,7 +50,7 @@ /** * SimpleTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SimpleTriggerParams { /** * Gets or Sets triggerType diff --git a/src/main/java/com/rootly/client/model/Sla.java b/src/main/java/com/rootly/client/model/Sla.java index 667be375..8c1c5b0d 100644 --- a/src/main/java/com/rootly/client/model/Sla.java +++ b/src/main/java/com/rootly/client/model/Sla.java @@ -54,7 +54,7 @@ /** * Sla */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Sla { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) diff --git a/src/main/java/com/rootly/client/model/SlaConditionsInner.java b/src/main/java/com/rootly/client/model/SlaConditionsInner.java index 601946a4..b886e51f 100644 --- a/src/main/java/com/rootly/client/model/SlaConditionsInner.java +++ b/src/main/java/com/rootly/client/model/SlaConditionsInner.java @@ -52,7 +52,7 @@ /** * SlaConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SlaConditionsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SlaList.java b/src/main/java/com/rootly/client/model/SlaList.java index ce819511..cebc1ecd 100644 --- a/src/main/java/com/rootly/client/model/SlaList.java +++ b/src/main/java/com/rootly/client/model/SlaList.java @@ -54,7 +54,7 @@ /** * SlaList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SlaList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java b/src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java index cb2da773..16ebc031 100644 --- a/src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java +++ b/src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java @@ -49,7 +49,7 @@ /** * SlaNotificationConfigurationsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SlaNotificationConfigurationsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SlaResponse.java b/src/main/java/com/rootly/client/model/SlaResponse.java index ad4a987d..0cfd0c74 100644 --- a/src/main/java/com/rootly/client/model/SlaResponse.java +++ b/src/main/java/com/rootly/client/model/SlaResponse.java @@ -52,7 +52,7 @@ /** * SlaResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SlaResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SlaResponseData.java b/src/main/java/com/rootly/client/model/SlaResponseData.java index 5d42fc44..bd1acfaa 100644 --- a/src/main/java/com/rootly/client/model/SlaResponseData.java +++ b/src/main/java/com/rootly/client/model/SlaResponseData.java @@ -49,7 +49,7 @@ /** * SlaResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SlaResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SlackChannel.java b/src/main/java/com/rootly/client/model/SlackChannel.java index b544b468..d7fa02f4 100644 --- a/src/main/java/com/rootly/client/model/SlackChannel.java +++ b/src/main/java/com/rootly/client/model/SlackChannel.java @@ -48,7 +48,7 @@ /** * SlackChannel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SlackChannel { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java b/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java index 654ba0b8..b479b25a 100644 --- a/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java @@ -51,7 +51,7 @@ /** * SnapshotDatadogGraphTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnapshotDatadogGraphTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java b/src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java index 1d2b61f3..1913244f 100644 --- a/src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java @@ -51,7 +51,7 @@ /** * SnapshotGrafanaDashboardTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnapshotGrafanaDashboardTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java b/src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java index 368db3b0..f9de12b4 100644 --- a/src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java @@ -51,7 +51,7 @@ /** * SnapshotLookerLookTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnapshotLookerLookTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java b/src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java index 197158d4..53933970 100644 --- a/src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java @@ -51,7 +51,7 @@ /** * SnapshotNewRelicGraphTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnapshotNewRelicGraphTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SnoozeAlert.java b/src/main/java/com/rootly/client/model/SnoozeAlert.java index 15327b8c..ca96bc95 100644 --- a/src/main/java/com/rootly/client/model/SnoozeAlert.java +++ b/src/main/java/com/rootly/client/model/SnoozeAlert.java @@ -49,7 +49,7 @@ /** * SnoozeAlert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnoozeAlert { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SnoozeAlertData.java b/src/main/java/com/rootly/client/model/SnoozeAlertData.java index 4a651659..3123b3e6 100644 --- a/src/main/java/com/rootly/client/model/SnoozeAlertData.java +++ b/src/main/java/com/rootly/client/model/SnoozeAlertData.java @@ -49,7 +49,7 @@ /** * SnoozeAlertData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnoozeAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java b/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java index 215f590a..a3cc8dc6 100644 --- a/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java @@ -19,8 +19,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import java.io.IOException; import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -48,13 +50,18 @@ /** * SnoozeAlertDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SnoozeAlertDataAttributes { public static final String SERIALIZED_NAME_DELAY_MINUTES = "delay_minutes"; @SerializedName(SERIALIZED_NAME_DELAY_MINUTES) @jakarta.annotation.Nonnull private Integer delayMinutes; + public static final String SERIALIZED_NAME_ACTOR = "actor"; + @SerializedName(SERIALIZED_NAME_ACTOR) + @jakarta.annotation.Nullable + private NewAlertDataAttributesActor actor; + public SnoozeAlertDataAttributes() { } @@ -79,6 +86,25 @@ public void setDelayMinutes(@jakarta.annotation.Nonnull Integer delayMinutes) { } + public SnoozeAlertDataAttributes actor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + return this; + } + + /** + * Get actor + * @return actor + */ + @jakarta.annotation.Nullable + public NewAlertDataAttributesActor getActor() { + return actor; + } + + public void setActor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + } + + @Override public boolean equals(Object o) { @@ -89,12 +115,24 @@ public boolean equals(Object o) { return false; } SnoozeAlertDataAttributes snoozeAlertDataAttributes = (SnoozeAlertDataAttributes) o; - return Objects.equals(this.delayMinutes, snoozeAlertDataAttributes.delayMinutes); + return Objects.equals(this.delayMinutes, snoozeAlertDataAttributes.delayMinutes) && + Objects.equals(this.actor, snoozeAlertDataAttributes.actor); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); } @Override public int hashCode() { - return Objects.hash(delayMinutes); + return Objects.hash(delayMinutes, actor); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -102,6 +140,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SnoozeAlertDataAttributes {\n"); sb.append(" delayMinutes: ").append(toIndentedString(delayMinutes)).append("\n"); + sb.append(" actor: ").append(toIndentedString(actor)).append("\n"); sb.append("}"); return sb.toString(); } @@ -125,6 +164,7 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("delay_minutes"); + openapiFields.add("actor"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -159,6 +199,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `actor` + if (jsonObj.get("actor") != null && !jsonObj.get("actor").isJsonNull()) { + NewAlertDataAttributesActor.validateJsonElement(jsonObj.get("actor")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/StartSessionRequest.java b/src/main/java/com/rootly/client/model/StartSessionRequest.java index 40fd3334..952698c1 100644 --- a/src/main/java/com/rootly/client/model/StartSessionRequest.java +++ b/src/main/java/com/rootly/client/model/StartSessionRequest.java @@ -49,7 +49,7 @@ /** * StartSessionRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StartSessionRequest { /** * Meeting platform diff --git a/src/main/java/com/rootly/client/model/StartSessionResponse.java b/src/main/java/com/rootly/client/model/StartSessionResponse.java index d4a27634..072f6d6f 100644 --- a/src/main/java/com/rootly/client/model/StartSessionResponse.java +++ b/src/main/java/com/rootly/client/model/StartSessionResponse.java @@ -49,7 +49,7 @@ /** * StartSessionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StartSessionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StartSessionResponseData.java b/src/main/java/com/rootly/client/model/StartSessionResponseData.java index 7ef30340..b32725f5 100644 --- a/src/main/java/com/rootly/client/model/StartSessionResponseData.java +++ b/src/main/java/com/rootly/client/model/StartSessionResponseData.java @@ -49,7 +49,7 @@ /** * StartSessionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StartSessionResponseData { public static final String SERIALIZED_NAME_SESSION_ID = "session_id"; @SerializedName(SERIALIZED_NAME_SESSION_ID) diff --git a/src/main/java/com/rootly/client/model/Status.java b/src/main/java/com/rootly/client/model/Status.java index 659af3e6..d830297b 100644 --- a/src/main/java/com/rootly/client/model/Status.java +++ b/src/main/java/com/rootly/client/model/Status.java @@ -49,7 +49,7 @@ /** * Status */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Status { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/StatusList.java b/src/main/java/com/rootly/client/model/StatusList.java index d5e179f4..4b2a21cf 100644 --- a/src/main/java/com/rootly/client/model/StatusList.java +++ b/src/main/java/com/rootly/client/model/StatusList.java @@ -54,7 +54,7 @@ /** * StatusList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPage.java b/src/main/java/com/rootly/client/model/StatusPage.java index 3f2b4750..9869d461 100644 --- a/src/main/java/com/rootly/client/model/StatusPage.java +++ b/src/main/java/com/rootly/client/model/StatusPage.java @@ -53,7 +53,7 @@ /** * StatusPage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPage { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/StatusPageAnnouncement.java b/src/main/java/com/rootly/client/model/StatusPageAnnouncement.java index 32900313..a76af3ed 100644 --- a/src/main/java/com/rootly/client/model/StatusPageAnnouncement.java +++ b/src/main/java/com/rootly/client/model/StatusPageAnnouncement.java @@ -49,7 +49,7 @@ /** * StatusPageAnnouncement */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageAnnouncement { public static final String SERIALIZED_NAME_STATUS_PAGE_ID = "status_page_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageAnnouncementList.java b/src/main/java/com/rootly/client/model/StatusPageAnnouncementList.java index a5005d54..d7260718 100644 --- a/src/main/java/com/rootly/client/model/StatusPageAnnouncementList.java +++ b/src/main/java/com/rootly/client/model/StatusPageAnnouncementList.java @@ -54,7 +54,7 @@ /** * StatusPageAnnouncementList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageAnnouncementList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponse.java b/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponse.java index 9a12b582..ca99701e 100644 --- a/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponse.java @@ -52,7 +52,7 @@ /** * StatusPageAnnouncementResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageAnnouncementResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponseData.java b/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponseData.java index 091ab427..38261afd 100644 --- a/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageAnnouncementResponseData.java @@ -49,7 +49,7 @@ /** * StatusPageAnnouncementResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageAnnouncementResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponent.java b/src/main/java/com/rootly/client/model/StatusPageComponent.java index d2aaab44..56cae768 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponent.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponent.java @@ -50,7 +50,7 @@ /** * StatusPageComponent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponent { public static final String SERIALIZED_NAME_STATUS_PAGE_ID = "status_page_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentGroup.java b/src/main/java/com/rootly/client/model/StatusPageComponentGroup.java index 79c00a5e..47178fa6 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentGroup.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentGroup.java @@ -50,7 +50,7 @@ /** * StatusPageComponentGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentGroup { public static final String SERIALIZED_NAME_STATUS_PAGE_ID = "status_page_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentGroupList.java b/src/main/java/com/rootly/client/model/StatusPageComponentGroupList.java index c1f18aee..58e3df28 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentGroupList.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentGroupList.java @@ -54,7 +54,7 @@ /** * StatusPageComponentGroupList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentGroupList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponse.java b/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponse.java index 66c25315..b7a2799a 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponse.java @@ -52,7 +52,7 @@ /** * StatusPageComponentGroupResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentGroupResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponseData.java b/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponseData.java index 8d72cbb1..963f592c 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentGroupResponseData.java @@ -49,7 +49,7 @@ /** * StatusPageComponentGroupResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentGroupResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentList.java b/src/main/java/com/rootly/client/model/StatusPageComponentList.java index 4ebe104d..e0c1fe53 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentList.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentList.java @@ -54,7 +54,7 @@ /** * StatusPageComponentList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentResponse.java b/src/main/java/com/rootly/client/model/StatusPageComponentResponse.java index 5110566b..6099e2a7 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentResponse.java @@ -52,7 +52,7 @@ /** * StatusPageComponentResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageComponentResponseData.java b/src/main/java/com/rootly/client/model/StatusPageComponentResponseData.java index c1a4b65b..86e20a27 100644 --- a/src/main/java/com/rootly/client/model/StatusPageComponentResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageComponentResponseData.java @@ -49,7 +49,7 @@ /** * StatusPageComponentResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageComponentResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageList.java b/src/main/java/com/rootly/client/model/StatusPageList.java index 7e8d7b81..b3d96ea5 100644 --- a/src/main/java/com/rootly/client/model/StatusPageList.java +++ b/src/main/java/com/rootly/client/model/StatusPageList.java @@ -54,7 +54,7 @@ /** * StatusPageList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageResponse.java b/src/main/java/com/rootly/client/model/StatusPageResponse.java index 979f82fd..6f3d8d9f 100644 --- a/src/main/java/com/rootly/client/model/StatusPageResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageResponse.java @@ -52,7 +52,7 @@ /** * StatusPageResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageResponseData.java b/src/main/java/com/rootly/client/model/StatusPageResponseData.java index a95fd641..516459b9 100644 --- a/src/main/java/com/rootly/client/model/StatusPageResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageResponseData.java @@ -49,7 +49,7 @@ /** * StatusPageResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageTeam.java b/src/main/java/com/rootly/client/model/StatusPageTeam.java new file mode 100644 index 00000000..f70aa6c6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusPageTeam.java @@ -0,0 +1,388 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * StatusPageTeam + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusPageTeam { + public static final String SERIALIZED_NAME_STATUS_PAGE_ID = "status_page_id"; + @SerializedName(SERIALIZED_NAME_STATUS_PAGE_ID) + @jakarta.annotation.Nonnull + private String statusPageId; + + public static final String SERIALIZED_NAME_GROUP_ID = "group_id"; + @SerializedName(SERIALIZED_NAME_GROUP_ID) + @jakarta.annotation.Nonnull + private UUID groupId; + + /** + * Access level granted to members of the team + */ + @JsonAdapter(PermissionLevelEnum.Adapter.class) + public enum PermissionLevelEnum { + EDIT_AND_PUBLISH("edit_and_publish"), + + PUBLISH_ONLY("publish_only"); + + private String value; + + PermissionLevelEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PermissionLevelEnum fromValue(String value) { + for (PermissionLevelEnum b : PermissionLevelEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PermissionLevelEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PermissionLevelEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PermissionLevelEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PermissionLevelEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PERMISSION_LEVEL = "permission_level"; + @SerializedName(SERIALIZED_NAME_PERMISSION_LEVEL) + @jakarta.annotation.Nonnull + private PermissionLevelEnum permissionLevel; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @jakarta.annotation.Nonnull + private OffsetDateTime updatedAt; + + public StatusPageTeam() { + } + + public StatusPageTeam statusPageId(@jakarta.annotation.Nonnull String statusPageId) { + this.statusPageId = statusPageId; + return this; + } + + /** + * ID of the status page the team is assigned to + * @return statusPageId + */ + @jakarta.annotation.Nonnull + public String getStatusPageId() { + return statusPageId; + } + + public void setStatusPageId(@jakarta.annotation.Nonnull String statusPageId) { + this.statusPageId = statusPageId; + } + + + public StatusPageTeam groupId(@jakarta.annotation.Nonnull UUID groupId) { + this.groupId = groupId; + return this; + } + + /** + * ID of the team granted access to the status page + * @return groupId + */ + @jakarta.annotation.Nonnull + public UUID getGroupId() { + return groupId; + } + + public void setGroupId(@jakarta.annotation.Nonnull UUID groupId) { + this.groupId = groupId; + } + + + public StatusPageTeam permissionLevel(@jakarta.annotation.Nonnull PermissionLevelEnum permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + /** + * Access level granted to members of the team + * @return permissionLevel + */ + @jakarta.annotation.Nonnull + public PermissionLevelEnum getPermissionLevel() { + return permissionLevel; + } + + public void setPermissionLevel(@jakarta.annotation.Nonnull PermissionLevelEnum permissionLevel) { + this.permissionLevel = permissionLevel; + } + + + public StatusPageTeam createdAt(@jakarta.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@jakarta.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public StatusPageTeam updatedAt(@jakarta.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @jakarta.annotation.Nonnull + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@jakarta.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusPageTeam statusPageTeam = (StatusPageTeam) o; + return Objects.equals(this.statusPageId, statusPageTeam.statusPageId) && + Objects.equals(this.groupId, statusPageTeam.groupId) && + Objects.equals(this.permissionLevel, statusPageTeam.permissionLevel) && + Objects.equals(this.createdAt, statusPageTeam.createdAt) && + Objects.equals(this.updatedAt, statusPageTeam.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(statusPageId, groupId, permissionLevel, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusPageTeam {\n"); + sb.append(" statusPageId: ").append(toIndentedString(statusPageId)).append("\n"); + sb.append(" groupId: ").append(toIndentedString(groupId)).append("\n"); + sb.append(" permissionLevel: ").append(toIndentedString(permissionLevel)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("status_page_id"); + openapiFields.add("group_id"); + openapiFields.add("permission_level"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("status_page_id"); + openapiRequiredFields.add("group_id"); + openapiRequiredFields.add("permission_level"); + openapiRequiredFields.add("created_at"); + openapiRequiredFields.add("updated_at"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to StatusPageTeam + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusPageTeam.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusPageTeam is not found in the empty JSON string", StatusPageTeam.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusPageTeam.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusPageTeam` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusPageTeam.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("status_page_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status_page_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status_page_id").toString())); + } + if (!jsonObj.get("group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_id").toString())); + } + if (!jsonObj.get("permission_level").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `permission_level` to be a primitive type in the JSON string but got `%s`", jsonObj.get("permission_level").toString())); + } + // validate the required field `permission_level` + PermissionLevelEnum.validateJsonElement(jsonObj.get("permission_level")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusPageTeam.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusPageTeam' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusPageTeam.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusPageTeam value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusPageTeam read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusPageTeam given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusPageTeam + * @throws IOException if the JSON string is invalid with respect to StatusPageTeam + */ + public static StatusPageTeam fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusPageTeam.class); + } + + /** + * Convert an instance of StatusPageTeam to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/StatusPageTeamList.java b/src/main/java/com/rootly/client/model/StatusPageTeamList.java new file mode 100644 index 00000000..f6751489 --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusPageTeamList.java @@ -0,0 +1,344 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.StatusPageTeamResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * StatusPageTeamList + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusPageTeamList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @jakarta.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @jakarta.annotation.Nonnull + private Meta meta; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public StatusPageTeamList() { + } + + public StatusPageTeamList data(@jakarta.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public StatusPageTeamList addDataItem(StatusPageTeamResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull List data) { + this.data = data; + } + + + public StatusPageTeamList links(@jakarta.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @jakarta.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@jakarta.annotation.Nonnull Links links) { + this.links = links; + } + + + public StatusPageTeamList meta(@jakarta.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @jakarta.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@jakarta.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + public StatusPageTeamList included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public StatusPageTeamList addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusPageTeamList statusPageTeamList = (StatusPageTeamList) o; + return Objects.equals(this.data, statusPageTeamList.data) && + Objects.equals(this.links, statusPageTeamList.links) && + Objects.equals(this.meta, statusPageTeamList.meta) && + Objects.equals(this.included, statusPageTeamList.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusPageTeamList {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" links: ").append(toIndentedString(links)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("links"); + openapiFields.add("meta"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to StatusPageTeamList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusPageTeamList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusPageTeamList is not found in the empty JSON string", StatusPageTeamList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusPageTeamList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusPageTeamList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusPageTeamList.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the json data is an array + if (!jsonObj.get("data").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `data` to be an array in the JSON string but got `%s`", jsonObj.get("data").toString())); + } + + JsonArray jsonArraydata = jsonObj.getAsJsonArray("data"); + // validate the required field `data` (array) + for (int i = 0; i < jsonArraydata.size(); i++) { + StatusPageTeamResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusPageTeamList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusPageTeamList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusPageTeamList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusPageTeamList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusPageTeamList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusPageTeamList given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusPageTeamList + * @throws IOException if the JSON string is invalid with respect to StatusPageTeamList + */ + public static StatusPageTeamList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusPageTeamList.class); + } + + /** + * Convert an instance of StatusPageTeamList to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/StatusPageTeamResponse.java b/src/main/java/com/rootly/client/model/StatusPageTeamResponse.java new file mode 100644 index 00000000..3966b9d6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusPageTeamResponse.java @@ -0,0 +1,266 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.StatusPageTeamResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * StatusPageTeamResponse + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusPageTeamResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private StatusPageTeamResponseData data; + + public static final String SERIALIZED_NAME_INCLUDED = "included"; + @SerializedName(SERIALIZED_NAME_INCLUDED) + @jakarta.annotation.Nullable + private List included = new ArrayList<>(); + + public StatusPageTeamResponse() { + } + + public StatusPageTeamResponse data(@jakarta.annotation.Nonnull StatusPageTeamResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public StatusPageTeamResponseData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull StatusPageTeamResponseData data) { + this.data = data; + } + + + public StatusPageTeamResponse included(@jakarta.annotation.Nullable List included) { + this.included = included; + return this; + } + + public StatusPageTeamResponse addIncludedItem(JsonapiIncludedResource includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + return this; + } + + /** + * Get included + * @return included + */ + @jakarta.annotation.Nullable + public List getIncluded() { + return included; + } + + public void setIncluded(@jakarta.annotation.Nullable List included) { + this.included = included; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusPageTeamResponse statusPageTeamResponse = (StatusPageTeamResponse) o; + return Objects.equals(this.data, statusPageTeamResponse.data) && + Objects.equals(this.included, statusPageTeamResponse.included); + } + + @Override + public int hashCode() { + return Objects.hash(data, included); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusPageTeamResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + openapiFields.add("included"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to StatusPageTeamResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusPageTeamResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusPageTeamResponse is not found in the empty JSON string", StatusPageTeamResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusPageTeamResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusPageTeamResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusPageTeamResponse.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + StatusPageTeamResponseData.validateJsonElement(jsonObj.get("data")); + if (jsonObj.get("included") != null && !jsonObj.get("included").isJsonNull()) { + JsonArray jsonArrayincluded = jsonObj.getAsJsonArray("included"); + if (jsonArrayincluded != null) { + // ensure the json data is an array + if (!jsonObj.get("included").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `included` to be an array in the JSON string but got `%s`", jsonObj.get("included").toString())); + } + + // validate the optional field `included` (array) + for (int i = 0; i < jsonArrayincluded.size(); i++) { + JsonapiIncludedResource.validateJsonElement(jsonArrayincluded.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusPageTeamResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusPageTeamResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusPageTeamResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusPageTeamResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusPageTeamResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusPageTeamResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusPageTeamResponse + * @throws IOException if the JSON string is invalid with respect to StatusPageTeamResponse + */ + public static StatusPageTeamResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusPageTeamResponse.class); + } + + /** + * Convert an instance of StatusPageTeamResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/StatusPageTeamResponseData.java b/src/main/java/com/rootly/client/model/StatusPageTeamResponseData.java new file mode 100644 index 00000000..b3f27e5b --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusPageTeamResponseData.java @@ -0,0 +1,328 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.StatusPageTeam; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * StatusPageTeamResponseData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusPageTeamResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + STATUS_PAGE_GROUPS("status_page_groups"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private StatusPageTeam attributes; + + public StatusPageTeamResponseData() { + } + + public StatusPageTeamResponseData id(@jakarta.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the status page team assignment + * @return id + */ + @jakarta.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nonnull String id) { + this.id = id; + } + + + public StatusPageTeamResponseData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public StatusPageTeamResponseData attributes(@jakarta.annotation.Nonnull StatusPageTeam attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public StatusPageTeam getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull StatusPageTeam attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusPageTeamResponseData statusPageTeamResponseData = (StatusPageTeamResponseData) o; + return Objects.equals(this.id, statusPageTeamResponseData.id) && + Objects.equals(this.type, statusPageTeamResponseData.type) && + Objects.equals(this.attributes, statusPageTeamResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusPageTeamResponseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to StatusPageTeamResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusPageTeamResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusPageTeamResponseData is not found in the empty JSON string", StatusPageTeamResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusPageTeamResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusPageTeamResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusPageTeamResponseData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + StatusPageTeam.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusPageTeamResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusPageTeamResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusPageTeamResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusPageTeamResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusPageTeamResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusPageTeamResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusPageTeamResponseData + * @throws IOException if the JSON string is invalid with respect to StatusPageTeamResponseData + */ + public static StatusPageTeamResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusPageTeamResponseData.class); + } + + /** + * Convert an instance of StatusPageTeamResponseData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplate.java b/src/main/java/com/rootly/client/model/StatusPageTemplate.java index e6a17dc1..42635f6a 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplate.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplate.java @@ -49,7 +49,7 @@ /** * StatusPageTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageTemplate { public static final String SERIALIZED_NAME_STATUS_PAGE_ID = "status_page_id"; @SerializedName(SERIALIZED_NAME_STATUS_PAGE_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplateList.java b/src/main/java/com/rootly/client/model/StatusPageTemplateList.java index 83ec5c1a..d604e396 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateList.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateList.java @@ -54,7 +54,7 @@ /** * StatusPageTemplateList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageTemplateList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java b/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java index 7e4e4ac9..2d4476d3 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java @@ -49,7 +49,7 @@ /** * StatusPageTemplateListDataInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageTemplateListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java b/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java index e6c79613..1cd26406 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java @@ -52,7 +52,7 @@ /** * StatusPageTemplateResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageTemplateResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java b/src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java index bd77b074..0028955c 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java @@ -49,7 +49,7 @@ /** * StatusPageTemplateResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageTemplateResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/StatusResponse.java b/src/main/java/com/rootly/client/model/StatusResponse.java index ef9a9880..5ad7eee5 100644 --- a/src/main/java/com/rootly/client/model/StatusResponse.java +++ b/src/main/java/com/rootly/client/model/StatusResponse.java @@ -52,7 +52,7 @@ /** * StatusResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/StatusResponseData.java b/src/main/java/com/rootly/client/model/StatusResponseData.java index 170c93a2..406b52c4 100644 --- a/src/main/java/com/rootly/client/model/StatusResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusResponseData.java @@ -49,7 +49,7 @@ /** * StatusResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/SubStatus.java b/src/main/java/com/rootly/client/model/SubStatus.java index 7d2c69e0..b68630e4 100644 --- a/src/main/java/com/rootly/client/model/SubStatus.java +++ b/src/main/java/com/rootly/client/model/SubStatus.java @@ -49,7 +49,7 @@ /** * SubStatus */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SubStatus { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/SubStatusList.java b/src/main/java/com/rootly/client/model/SubStatusList.java index 8d3e8b0f..ae88a7c5 100644 --- a/src/main/java/com/rootly/client/model/SubStatusList.java +++ b/src/main/java/com/rootly/client/model/SubStatusList.java @@ -54,7 +54,7 @@ /** * SubStatusList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SubStatusList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SubStatusResponse.java b/src/main/java/com/rootly/client/model/SubStatusResponse.java index 95f348b7..60212e38 100644 --- a/src/main/java/com/rootly/client/model/SubStatusResponse.java +++ b/src/main/java/com/rootly/client/model/SubStatusResponse.java @@ -52,7 +52,7 @@ /** * SubStatusResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SubStatusResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/SubStatusResponseData.java b/src/main/java/com/rootly/client/model/SubStatusResponseData.java index 5c70f41a..5c3d817e 100644 --- a/src/main/java/com/rootly/client/model/SubStatusResponseData.java +++ b/src/main/java/com/rootly/client/model/SubStatusResponseData.java @@ -49,7 +49,7 @@ /** * SubStatusResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SubStatusResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Team.java b/src/main/java/com/rootly/client/model/Team.java index 97ed9d20..f0f8b372 100644 --- a/src/main/java/com/rootly/client/model/Team.java +++ b/src/main/java/com/rootly/client/model/Team.java @@ -19,9 +19,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import com.rootly.client.model.ServiceAlertBroadcastChannel; import com.rootly.client.model.ServiceIncidentBroadcastChannel; import java.io.IOException; @@ -56,7 +56,7 @@ /** * Team */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Team { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -205,6 +205,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String serviceNowCiSysId; + public static final String SERIALIZED_NAME_SCIM_GROUP_ID = "scim_group_id"; + @SerializedName(SERIALIZED_NAME_SCIM_GROUP_ID) + @jakarta.annotation.Nullable + private String scimGroupId; + public static final String SERIALIZED_NAME_USER_IDS = "user_ids"; @SerializedName(SERIALIZED_NAME_USER_IDS) @jakarta.annotation.Nullable @@ -233,12 +238,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @jakarta.annotation.Nullable - private List slackChannels; + private List slackChannels; public static final String SERIALIZED_NAME_SLACK_ALIASES = "slack_aliases"; @SerializedName(SERIALIZED_NAME_SLACK_ALIASES) @jakarta.annotation.Nullable - private List slackAliases; + private List slackAliases; public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) @@ -326,6 +331,65 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private AutoAddMembersScopeEnum autoAddMembersScope; + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + */ + @JsonAdapter(ScheduleOverridePolicyEnum.Adapter.class) + public enum ScheduleOverridePolicyEnum { + EVERYONE("everyone"), + + MEMBERS("members"), + + ADMINS("admins"); + + private String value; + + ScheduleOverridePolicyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScheduleOverridePolicyEnum fromValue(String value) { + for (ScheduleOverridePolicyEnum b : ScheduleOverridePolicyEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScheduleOverridePolicyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScheduleOverridePolicyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY = "schedule_override_policy"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY) + @jakarta.annotation.Nullable + private ScheduleOverridePolicyEnum scheduleOverridePolicy; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; @SerializedName(SERIALIZED_NAME_PROPERTIES) @jakarta.annotation.Nullable @@ -674,6 +738,25 @@ public void setServiceNowCiSysId(@jakarta.annotation.Nullable String serviceNowC } + public Team scimGroupId(@jakarta.annotation.Nullable String scimGroupId) { + this.scimGroupId = scimGroupId; + return this; + } + + /** + * The SCIM group id linked to this team + * @return scimGroupId + */ + @jakarta.annotation.Nullable + public String getScimGroupId() { + return scimGroupId; + } + + public void setScimGroupId(@jakarta.annotation.Nullable String scimGroupId) { + this.scimGroupId = scimGroupId; + } + + public Team userIds(@jakarta.annotation.Nullable List userIds) { this.userIds = userIds; return this; @@ -785,12 +868,12 @@ public void setAlertUrgencyId(@jakarta.annotation.Nullable String alertUrgencyId } - public Team slackChannels(@jakarta.annotation.Nullable List slackChannels) { + public Team slackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; } - public Team addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner slackChannelsItem) { + public Team addSlackChannelsItem(EnvironmentSlackChannelsInner slackChannelsItem) { if (this.slackChannels == null) { this.slackChannels = new ArrayList<>(); } @@ -803,21 +886,21 @@ public Team addSlackChannelsItem(NewEnvironmentDataAttributesSlackChannelsInner * @return slackChannels */ @jakarta.annotation.Nullable - public List getSlackChannels() { + public List getSlackChannels() { return slackChannels; } - public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { + public void setSlackChannels(@jakarta.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; } - public Team slackAliases(@jakarta.annotation.Nullable List slackAliases) { + public Team slackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; return this; } - public Team addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner slackAliasesItem) { + public Team addSlackAliasesItem(EnvironmentSlackAliasesInner slackAliasesItem) { if (this.slackAliases == null) { this.slackAliases = new ArrayList<>(); } @@ -830,11 +913,11 @@ public Team addSlackAliasesItem(NewEnvironmentDataAttributesSlackAliasesInner sl * @return slackAliases */ @jakarta.annotation.Nullable - public List getSlackAliases() { + public List getSlackAliases() { return slackAliases; } - public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { + public void setSlackAliases(@jakarta.annotation.Nullable List slackAliases) { this.slackAliases = slackAliases; } @@ -953,6 +1036,25 @@ public void setAutoAddMembersScope(@jakarta.annotation.Nullable AutoAddMembersSc } + public Team scheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + return this; + } + + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + * @return scheduleOverridePolicy + */ + @jakarta.annotation.Nullable + public ScheduleOverridePolicyEnum getScheduleOverridePolicy() { + return scheduleOverridePolicy; + } + + public void setScheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + } + + public Team properties(@jakarta.annotation.Nullable List properties) { this.properties = properties; return this; @@ -1045,6 +1147,7 @@ public boolean equals(Object o) { Objects.equals(this.pagertreeId, team.pagertreeId) && Objects.equals(this.cortexId, team.cortexId) && Objects.equals(this.serviceNowCiSysId, team.serviceNowCiSysId) && + Objects.equals(this.scimGroupId, team.scimGroupId) && Objects.equals(this.userIds, team.userIds) && Objects.equals(this.adminIds, team.adminIds) && Objects.equals(this.alertsEmailEnabled, team.alertsEmailEnabled) && @@ -1058,6 +1161,7 @@ public boolean equals(Object o) { Objects.equals(this.incidentBroadcastChannel, team.incidentBroadcastChannel) && Objects.equals(this.autoAddMembersWhenAttached, team.autoAddMembersWhenAttached) && Objects.equals(this.autoAddMembersScope, team.autoAddMembersScope) && + Objects.equals(this.scheduleOverridePolicy, team.scheduleOverridePolicy) && Objects.equals(this.properties, team.properties) && Objects.equals(this.createdAt, team.createdAt) && Objects.equals(this.updatedAt, team.updatedAt); @@ -1069,7 +1173,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, managedBy, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertsEmailAddress, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, autoAddMembersScope, properties, createdAt, updatedAt); + return Objects.hash(name, slug, managedBy, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, scimGroupId, userIds, adminIds, alertsEmailEnabled, alertsEmailAddress, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, autoAddMembersScope, scheduleOverridePolicy, properties, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -1100,6 +1204,7 @@ public String toString() { sb.append(" pagertreeId: ").append(toIndentedString(pagertreeId)).append("\n"); sb.append(" cortexId: ").append(toIndentedString(cortexId)).append("\n"); sb.append(" serviceNowCiSysId: ").append(toIndentedString(serviceNowCiSysId)).append("\n"); + sb.append(" scimGroupId: ").append(toIndentedString(scimGroupId)).append("\n"); sb.append(" userIds: ").append(toIndentedString(userIds)).append("\n"); sb.append(" adminIds: ").append(toIndentedString(adminIds)).append("\n"); sb.append(" alertsEmailEnabled: ").append(toIndentedString(alertsEmailEnabled)).append("\n"); @@ -1113,6 +1218,7 @@ public String toString() { sb.append(" incidentBroadcastChannel: ").append(toIndentedString(incidentBroadcastChannel)).append("\n"); sb.append(" autoAddMembersWhenAttached: ").append(toIndentedString(autoAddMembersWhenAttached)).append("\n"); sb.append(" autoAddMembersScope: ").append(toIndentedString(autoAddMembersScope)).append("\n"); + sb.append(" scheduleOverridePolicy: ").append(toIndentedString(scheduleOverridePolicy)).append("\n"); sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); @@ -1155,6 +1261,7 @@ private String toIndentedString(Object o) { openapiFields.add("pagertree_id"); openapiFields.add("cortex_id"); openapiFields.add("service_now_ci_sys_id"); + openapiFields.add("scim_group_id"); openapiFields.add("user_ids"); openapiFields.add("admin_ids"); openapiFields.add("alerts_email_enabled"); @@ -1168,6 +1275,7 @@ private String toIndentedString(Object o) { openapiFields.add("incident_broadcast_channel"); openapiFields.add("auto_add_members_when_attached"); openapiFields.add("auto_add_members_scope"); + openapiFields.add("schedule_override_policy"); openapiFields.add("properties"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -1260,6 +1368,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("service_now_ci_sys_id") != null && !jsonObj.get("service_now_ci_sys_id").isJsonNull()) && !jsonObj.get("service_now_ci_sys_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `service_now_ci_sys_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_ci_sys_id").toString())); } + if ((jsonObj.get("scim_group_id") != null && !jsonObj.get("scim_group_id").isJsonNull()) && !jsonObj.get("scim_group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scim_group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scim_group_id").toString())); + } // ensure the optional json data is an array if present if (jsonObj.get("user_ids") != null && !jsonObj.get("user_ids").isJsonNull() && !jsonObj.get("user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("user_ids").toString())); @@ -1284,7 +1395,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_channels` (array) for (int i = 0; i < jsonArrayslackChannels.size(); i++) { - NewEnvironmentDataAttributesSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); + EnvironmentSlackChannelsInner.validateJsonElement(jsonArrayslackChannels.get(i)); }; } } @@ -1298,7 +1409,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `slack_aliases` (array) for (int i = 0; i < jsonArrayslackAliases.size(); i++) { - NewEnvironmentDataAttributesSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); + EnvironmentSlackAliasesInner.validateJsonElement(jsonArrayslackAliases.get(i)); }; } } @@ -1317,6 +1428,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("auto_add_members_scope") != null && !jsonObj.get("auto_add_members_scope").isJsonNull()) { AutoAddMembersScopeEnum.validateJsonElement(jsonObj.get("auto_add_members_scope")); } + if ((jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) && !jsonObj.get("schedule_override_policy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_override_policy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("schedule_override_policy").toString())); + } + // validate the optional field `schedule_override_policy` + if (jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) { + ScheduleOverridePolicyEnum.validateJsonElement(jsonObj.get("schedule_override_policy")); + } if (jsonObj.get("properties") != null && !jsonObj.get("properties").isJsonNull()) { JsonArray jsonArrayproperties = jsonObj.getAsJsonArray("properties"); if (jsonArrayproperties != null) { diff --git a/src/main/java/com/rootly/client/model/TeamList.java b/src/main/java/com/rootly/client/model/TeamList.java index 74c21bd3..af6c3729 100644 --- a/src/main/java/com/rootly/client/model/TeamList.java +++ b/src/main/java/com/rootly/client/model/TeamList.java @@ -54,7 +54,7 @@ /** * TeamList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TeamList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/TeamResponse.java b/src/main/java/com/rootly/client/model/TeamResponse.java index 301c5407..d4bf5da8 100644 --- a/src/main/java/com/rootly/client/model/TeamResponse.java +++ b/src/main/java/com/rootly/client/model/TeamResponse.java @@ -52,7 +52,7 @@ /** * TeamResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TeamResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/TeamResponseData.java b/src/main/java/com/rootly/client/model/TeamResponseData.java index 5299ed2a..7964fd1d 100644 --- a/src/main/java/com/rootly/client/model/TeamResponseData.java +++ b/src/main/java/com/rootly/client/model/TeamResponseData.java @@ -49,7 +49,7 @@ /** * TeamResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TeamResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/TiptapBlockSchema.java b/src/main/java/com/rootly/client/model/TiptapBlockSchema.java index 0bbe864b..26dec2d0 100644 --- a/src/main/java/com/rootly/client/model/TiptapBlockSchema.java +++ b/src/main/java/com/rootly/client/model/TiptapBlockSchema.java @@ -50,7 +50,7 @@ /** * TipTap block component schema for post mortem templates */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TiptapBlockSchema { public static final String SERIALIZED_NAME_FOLLOWUP_COMPONENT = "followup_component"; @SerializedName(SERIALIZED_NAME_FOLLOWUP_COMPONENT) diff --git a/src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java b/src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java index ded3373c..6c98d2b5 100644 --- a/src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java +++ b/src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java @@ -48,7 +48,7 @@ /** * Followup component block */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TiptapBlockSchemaFollowupComponent { public static final String SERIALIZED_NAME_HTML = "html"; @SerializedName(SERIALIZED_NAME_HTML) diff --git a/src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java b/src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java index cf37bb74..8f02ca78 100644 --- a/src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java +++ b/src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java @@ -48,7 +48,7 @@ /** * Timeline component block */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TiptapBlockSchemaTimelineComponent { public static final String SERIALIZED_NAME_HTML = "html"; @SerializedName(SERIALIZED_NAME_HTML) diff --git a/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java b/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java index 6056be47..7e535cd9 100644 --- a/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java +++ b/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java @@ -49,7 +49,7 @@ /** * TriggerWorkflowTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TriggerWorkflowTaskParams { /** * Gets or Sets taskType @@ -119,7 +119,9 @@ public enum KindEnum { PULSE("pulse"), - ALERT("alert"); + ALERT("alert"), + + PROBLEM("problem"); private String value; @@ -170,7 +172,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti private KindEnum kind = KindEnum.INCIDENT; /** - * [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\"] + * [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\", \"(problem) kind can only match [:id]\"] */ @JsonAdapter(AttributeToQueryByEnum.Adapter.class) public enum AttributeToQueryByEnum { @@ -322,7 +324,7 @@ public TriggerWorkflowTaskParams attributeToQueryBy(@jakarta.annotation.Nonnull } /** - * [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\"] + * [\"(incident) kind can only match [:id, :slug, :sequential_id, :pagerduty_incident_id, :opsgenie_incident_id, :victor_ops_incident_id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(action_item) kind can only match [:id, :jira_issue_id, :asana_task_id, :shortcut_task_id, :linear_issue_id, :zendesk_ticket_id, :motion_task_id, :trello_card_id, :airtable_record_id, :shortcut_story_id, :github_issue_id, :freshservice_ticket_id, :freshservice_task_id, :clickup_task_id]\", \"(post_mortem) kind can only match [:id]\", \"(pulse) kind can only match [:id]\", \"(alert) kind can only match [:id]\", \"(problem) kind can only match [:id]\"] * @return attributeToQueryBy */ @jakarta.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java b/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java index 7aa703a1..4ab03e45 100644 --- a/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java @@ -48,7 +48,7 @@ /** * TweetTwitterMessageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TweetTwitterMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UnassignRoleFromUser.java b/src/main/java/com/rootly/client/model/UnassignRoleFromUser.java index 4ddcd940..6f8dd4b1 100644 --- a/src/main/java/com/rootly/client/model/UnassignRoleFromUser.java +++ b/src/main/java/com/rootly/client/model/UnassignRoleFromUser.java @@ -49,7 +49,7 @@ /** * UnassignRoleFromUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UnassignRoleFromUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UnassignRoleFromUserData.java b/src/main/java/com/rootly/client/model/UnassignRoleFromUserData.java index e744eddc..886d6456 100644 --- a/src/main/java/com/rootly/client/model/UnassignRoleFromUserData.java +++ b/src/main/java/com/rootly/client/model/UnassignRoleFromUserData.java @@ -49,7 +49,7 @@ /** * UnassignRoleFromUserData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UnassignRoleFromUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java b/src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java index b08523b6..806d5029 100644 --- a/src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java @@ -48,7 +48,7 @@ /** * UnassignRoleFromUserDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UnassignRoleFromUserDataAttributes { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java b/src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java index 321b5fce..82f340e6 100644 --- a/src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java @@ -52,7 +52,7 @@ /** * UpdateActionItemTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateActionItemTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java b/src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java index a8b11241..a2e24ecb 100644 --- a/src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateAirtableTableRecordTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAirtableTableRecordTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateAlert.java b/src/main/java/com/rootly/client/model/UpdateAlert.java index 025d22b9..86fa120b 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlert.java +++ b/src/main/java/com/rootly/client/model/UpdateAlert.java @@ -49,7 +49,7 @@ /** * UpdateAlert */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlert { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertConfiguration.java b/src/main/java/com/rootly/client/model/UpdateAlertConfiguration.java new file mode 100644 index 00000000..2fa47b13 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertConfiguration.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateAlertConfiguration + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertConfiguration { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private UpdateAlertConfigurationData data; + + public UpdateAlertConfiguration() { + } + + public UpdateAlertConfiguration data(@jakarta.annotation.Nonnull UpdateAlertConfigurationData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public UpdateAlertConfigurationData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull UpdateAlertConfigurationData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertConfiguration updateAlertConfiguration = (UpdateAlertConfiguration) o; + return Objects.equals(this.data, updateAlertConfiguration.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertConfiguration {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateAlertConfiguration + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertConfiguration.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertConfiguration is not found in the empty JSON string", UpdateAlertConfiguration.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertConfiguration.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertConfiguration` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateAlertConfiguration.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + UpdateAlertConfigurationData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertConfiguration.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertConfiguration' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertConfiguration.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertConfiguration value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertConfiguration read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertConfiguration given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertConfiguration + * @throws IOException if the JSON string is invalid with respect to UpdateAlertConfiguration + */ + public static UpdateAlertConfiguration fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertConfiguration.class); + } + + /** + * Convert an instance of UpdateAlertConfiguration to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateAlertConfigurationData.java b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationData.java new file mode 100644 index 00000000..295b69f9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationData.java @@ -0,0 +1,327 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateAlertConfigurationData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertConfigurationData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_CONFIGURATIONS("alert_configurations"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private UpdateAlertConfigurationDataAttributes attributes; + + public UpdateAlertConfigurationData() { + } + + public UpdateAlertConfigurationData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. Each team has a single alert configuration, so no id is needed. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateAlertConfigurationData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateAlertConfigurationData attributes(@jakarta.annotation.Nonnull UpdateAlertConfigurationDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public UpdateAlertConfigurationDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull UpdateAlertConfigurationDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertConfigurationData updateAlertConfigurationData = (UpdateAlertConfigurationData) o; + return Objects.equals(this.id, updateAlertConfigurationData.id) && + Objects.equals(this.type, updateAlertConfigurationData.type) && + Objects.equals(this.attributes, updateAlertConfigurationData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertConfigurationData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateAlertConfigurationData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertConfigurationData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertConfigurationData is not found in the empty JSON string", UpdateAlertConfigurationData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertConfigurationData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertConfigurationData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateAlertConfigurationData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + UpdateAlertConfigurationDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertConfigurationData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertConfigurationData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertConfigurationData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertConfigurationData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertConfigurationData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertConfigurationData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertConfigurationData + * @throws IOException if the JSON string is invalid with respect to UpdateAlertConfigurationData + */ + public static UpdateAlertConfigurationData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertConfigurationData.class); + } + + /** + * Convert an instance of UpdateAlertConfigurationData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributes.java new file mode 100644 index 00000000..6afb78ce --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributes.java @@ -0,0 +1,379 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesAlertAcknowledgment; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Every attribute is optional and replaces its stored value. An attribute whose feature is not enabled for the team is refused with 403. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertConfigurationDataAttributes { + public static final String SERIALIZED_NAME_ALERT_ACKNOWLEDGMENT = "alert_acknowledgment"; + @SerializedName(SERIALIZED_NAME_ALERT_ACKNOWLEDGMENT) + @jakarta.annotation.Nullable + private UpdateAlertConfigurationDataAttributesAlertAcknowledgment alertAcknowledgment; + + /** + * Gets or Sets manualPagingFormSettings + */ + @JsonAdapter(ManualPagingFormSettingsEnum.Adapter.class) + public enum ManualPagingFormSettingsEnum { + USER("user"), + + TEAM("team"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + ESCALATION_POLICY("escalation_policy"); + + private String value; + + ManualPagingFormSettingsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ManualPagingFormSettingsEnum fromValue(String value) { + for (ManualPagingFormSettingsEnum b : ManualPagingFormSettingsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ManualPagingFormSettingsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ManualPagingFormSettingsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ManualPagingFormSettingsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ManualPagingFormSettingsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MANUAL_PAGING_FORM_SETTINGS = "manual_paging_form_settings"; + @SerializedName(SERIALIZED_NAME_MANUAL_PAGING_FORM_SETTINGS) + @jakarta.annotation.Nullable + private List manualPagingFormSettings = new ArrayList<>(); + + public static final String SERIALIZED_NAME_MANUAL_PAGING_URGENCY_IDS = "manual_paging_urgency_ids"; + @SerializedName(SERIALIZED_NAME_MANUAL_PAGING_URGENCY_IDS) + @jakarta.annotation.Nullable + private List manualPagingUrgencyIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_DEFAULT_USER_NOTIFICATION_SETTINGS = "default_user_notification_settings"; + @SerializedName(SERIALIZED_NAME_DEFAULT_USER_NOTIFICATION_SETTINGS) + @jakarta.annotation.Nullable + private UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings defaultUserNotificationSettings; + + public UpdateAlertConfigurationDataAttributes() { + } + + public UpdateAlertConfigurationDataAttributes alertAcknowledgment(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesAlertAcknowledgment alertAcknowledgment) { + this.alertAcknowledgment = alertAcknowledgment; + return this; + } + + /** + * Get alertAcknowledgment + * @return alertAcknowledgment + */ + @jakarta.annotation.Nullable + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment getAlertAcknowledgment() { + return alertAcknowledgment; + } + + public void setAlertAcknowledgment(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesAlertAcknowledgment alertAcknowledgment) { + this.alertAcknowledgment = alertAcknowledgment; + } + + + public UpdateAlertConfigurationDataAttributes manualPagingFormSettings(@jakarta.annotation.Nullable List manualPagingFormSettings) { + this.manualPagingFormSettings = manualPagingFormSettings; + return this; + } + + public UpdateAlertConfigurationDataAttributes addManualPagingFormSettingsItem(ManualPagingFormSettingsEnum manualPagingFormSettingsItem) { + if (this.manualPagingFormSettings == null) { + this.manualPagingFormSettings = new ArrayList<>(); + } + this.manualPagingFormSettings.add(manualPagingFormSettingsItem); + return this; + } + + /** + * Stored entity types for the manual paging form, as configured; at least one is required. The form itself may hide a type the team cannot use yet, such as functionality. + * @return manualPagingFormSettings + */ + @jakarta.annotation.Nullable + public List getManualPagingFormSettings() { + return manualPagingFormSettings; + } + + public void setManualPagingFormSettings(@jakarta.annotation.Nullable List manualPagingFormSettings) { + this.manualPagingFormSettings = manualPagingFormSettings; + } + + + public UpdateAlertConfigurationDataAttributes manualPagingUrgencyIds(@jakarta.annotation.Nullable List manualPagingUrgencyIds) { + this.manualPagingUrgencyIds = manualPagingUrgencyIds; + return this; + } + + public UpdateAlertConfigurationDataAttributes addManualPagingUrgencyIdsItem(UUID manualPagingUrgencyIdsItem) { + if (this.manualPagingUrgencyIds == null) { + this.manualPagingUrgencyIds = new ArrayList<>(); + } + this.manualPagingUrgencyIds.add(manualPagingUrgencyIdsItem); + return this; + } + + /** + * Alert urgency ids allowed when manually paging. Empty means all; deleted urgencies are left out. Present and accepted only while the manual-page-urgency-allowlist feature is on for the team. + * @return manualPagingUrgencyIds + */ + @jakarta.annotation.Nullable + public List getManualPagingUrgencyIds() { + return manualPagingUrgencyIds; + } + + public void setManualPagingUrgencyIds(@jakarta.annotation.Nullable List manualPagingUrgencyIds) { + this.manualPagingUrgencyIds = manualPagingUrgencyIds; + } + + + public UpdateAlertConfigurationDataAttributes defaultUserNotificationSettings(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings defaultUserNotificationSettings) { + this.defaultUserNotificationSettings = defaultUserNotificationSettings; + return this; + } + + /** + * Get defaultUserNotificationSettings + * @return defaultUserNotificationSettings + */ + @jakarta.annotation.Nullable + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings getDefaultUserNotificationSettings() { + return defaultUserNotificationSettings; + } + + public void setDefaultUserNotificationSettings(@jakarta.annotation.Nullable UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings defaultUserNotificationSettings) { + this.defaultUserNotificationSettings = defaultUserNotificationSettings; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertConfigurationDataAttributes updateAlertConfigurationDataAttributes = (UpdateAlertConfigurationDataAttributes) o; + return Objects.equals(this.alertAcknowledgment, updateAlertConfigurationDataAttributes.alertAcknowledgment) && + Objects.equals(this.manualPagingFormSettings, updateAlertConfigurationDataAttributes.manualPagingFormSettings) && + Objects.equals(this.manualPagingUrgencyIds, updateAlertConfigurationDataAttributes.manualPagingUrgencyIds) && + Objects.equals(this.defaultUserNotificationSettings, updateAlertConfigurationDataAttributes.defaultUserNotificationSettings); + } + + @Override + public int hashCode() { + return Objects.hash(alertAcknowledgment, manualPagingFormSettings, manualPagingUrgencyIds, defaultUserNotificationSettings); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertConfigurationDataAttributes {\n"); + sb.append(" alertAcknowledgment: ").append(toIndentedString(alertAcknowledgment)).append("\n"); + sb.append(" manualPagingFormSettings: ").append(toIndentedString(manualPagingFormSettings)).append("\n"); + sb.append(" manualPagingUrgencyIds: ").append(toIndentedString(manualPagingUrgencyIds)).append("\n"); + sb.append(" defaultUserNotificationSettings: ").append(toIndentedString(defaultUserNotificationSettings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("alert_acknowledgment"); + openapiFields.add("manual_paging_form_settings"); + openapiFields.add("manual_paging_urgency_ids"); + openapiFields.add("default_user_notification_settings"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateAlertConfigurationDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertConfigurationDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertConfigurationDataAttributes is not found in the empty JSON string", UpdateAlertConfigurationDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertConfigurationDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertConfigurationDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `alert_acknowledgment` + if (jsonObj.get("alert_acknowledgment") != null && !jsonObj.get("alert_acknowledgment").isJsonNull()) { + UpdateAlertConfigurationDataAttributesAlertAcknowledgment.validateJsonElement(jsonObj.get("alert_acknowledgment")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("manual_paging_form_settings") != null && !jsonObj.get("manual_paging_form_settings").isJsonNull() && !jsonObj.get("manual_paging_form_settings").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `manual_paging_form_settings` to be an array in the JSON string but got `%s`", jsonObj.get("manual_paging_form_settings").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("manual_paging_urgency_ids") != null && !jsonObj.get("manual_paging_urgency_ids").isJsonNull() && !jsonObj.get("manual_paging_urgency_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `manual_paging_urgency_ids` to be an array in the JSON string but got `%s`", jsonObj.get("manual_paging_urgency_ids").toString())); + } + // validate the optional field `default_user_notification_settings` + if (jsonObj.get("default_user_notification_settings") != null && !jsonObj.get("default_user_notification_settings").isJsonNull()) { + UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.validateJsonElement(jsonObj.get("default_user_notification_settings")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertConfigurationDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertConfigurationDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertConfigurationDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertConfigurationDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertConfigurationDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertConfigurationDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertConfigurationDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateAlertConfigurationDataAttributes + */ + public static UpdateAlertConfigurationDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertConfigurationDataAttributes.class); + } + + /** + * Convert an instance of UpdateAlertConfigurationDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.java b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.java new file mode 100644 index 00000000..f6ec60b5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgment.java @@ -0,0 +1,337 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Re-trigger behaviour for acknowledged alerts. Replaces the stored object as a whole. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertConfigurationDataAttributesAlertAcknowledgment { + public static final String SERIALIZED_NAME_TIMEOUT_ENABLED = "timeout_enabled"; + @SerializedName(SERIALIZED_NAME_TIMEOUT_ENABLED) + @jakarta.annotation.Nullable + private Boolean timeoutEnabled; + + /** + * Minutes before an acknowledged alert re-triggers. + */ + @JsonAdapter(TimeoutMinutesEnum.Adapter.class) + public enum TimeoutMinutesEnum { + NUMBER_10(10), + + NUMBER_20(20), + + NUMBER_30(30), + + NUMBER_40(40), + + NUMBER_50(50), + + NUMBER_60(60), + + NUMBER_90(90), + + NUMBER_120(120), + + NUMBER_180(180), + + NUMBER_240(240), + + NUMBER_300(300), + + NUMBER_360(360), + + NUMBER_720(720), + + NUMBER_1440(1440); + + private Integer value; + + TimeoutMinutesEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeoutMinutesEnum fromValue(Integer value) { + for (TimeoutMinutesEnum b : TimeoutMinutesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TimeoutMinutesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeoutMinutesEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return TimeoutMinutesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + TimeoutMinutesEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TIMEOUT_MINUTES = "timeout_minutes"; + @SerializedName(SERIALIZED_NAME_TIMEOUT_MINUTES) + @jakarta.annotation.Nullable + private TimeoutMinutesEnum timeoutMinutes; + + public static final String SERIALIZED_NAME_RETRIGGER_MANUAL_ALERTS = "retrigger_manual_alerts"; + @SerializedName(SERIALIZED_NAME_RETRIGGER_MANUAL_ALERTS) + @jakarta.annotation.Nullable + private Boolean retriggerManualAlerts; + + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment() { + } + + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment timeoutEnabled(@jakarta.annotation.Nullable Boolean timeoutEnabled) { + this.timeoutEnabled = timeoutEnabled; + return this; + } + + /** + * Re-trigger an acknowledged alert after the timeout. + * @return timeoutEnabled + */ + @jakarta.annotation.Nullable + public Boolean getTimeoutEnabled() { + return timeoutEnabled; + } + + public void setTimeoutEnabled(@jakarta.annotation.Nullable Boolean timeoutEnabled) { + this.timeoutEnabled = timeoutEnabled; + } + + + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment timeoutMinutes(@jakarta.annotation.Nullable TimeoutMinutesEnum timeoutMinutes) { + this.timeoutMinutes = timeoutMinutes; + return this; + } + + /** + * Minutes before an acknowledged alert re-triggers. + * @return timeoutMinutes + */ + @jakarta.annotation.Nullable + public TimeoutMinutesEnum getTimeoutMinutes() { + return timeoutMinutes; + } + + public void setTimeoutMinutes(@jakarta.annotation.Nullable TimeoutMinutesEnum timeoutMinutes) { + this.timeoutMinutes = timeoutMinutes; + } + + + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment retriggerManualAlerts(@jakarta.annotation.Nullable Boolean retriggerManualAlerts) { + this.retriggerManualAlerts = retriggerManualAlerts; + return this; + } + + /** + * Whether alerts created from a manual page also re-trigger. Changing it is rejected with 422 until the manual page re-trigger opt-out is enabled for the team. + * @return retriggerManualAlerts + */ + @jakarta.annotation.Nullable + public Boolean getRetriggerManualAlerts() { + return retriggerManualAlerts; + } + + public void setRetriggerManualAlerts(@jakarta.annotation.Nullable Boolean retriggerManualAlerts) { + this.retriggerManualAlerts = retriggerManualAlerts; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertConfigurationDataAttributesAlertAcknowledgment updateAlertConfigurationDataAttributesAlertAcknowledgment = (UpdateAlertConfigurationDataAttributesAlertAcknowledgment) o; + return Objects.equals(this.timeoutEnabled, updateAlertConfigurationDataAttributesAlertAcknowledgment.timeoutEnabled) && + Objects.equals(this.timeoutMinutes, updateAlertConfigurationDataAttributesAlertAcknowledgment.timeoutMinutes) && + Objects.equals(this.retriggerManualAlerts, updateAlertConfigurationDataAttributesAlertAcknowledgment.retriggerManualAlerts); + } + + @Override + public int hashCode() { + return Objects.hash(timeoutEnabled, timeoutMinutes, retriggerManualAlerts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertConfigurationDataAttributesAlertAcknowledgment {\n"); + sb.append(" timeoutEnabled: ").append(toIndentedString(timeoutEnabled)).append("\n"); + sb.append(" timeoutMinutes: ").append(toIndentedString(timeoutMinutes)).append("\n"); + sb.append(" retriggerManualAlerts: ").append(toIndentedString(retriggerManualAlerts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("timeout_enabled"); + openapiFields.add("timeout_minutes"); + openapiFields.add("retrigger_manual_alerts"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateAlertConfigurationDataAttributesAlertAcknowledgment + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertConfigurationDataAttributesAlertAcknowledgment.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertConfigurationDataAttributesAlertAcknowledgment is not found in the empty JSON string", UpdateAlertConfigurationDataAttributesAlertAcknowledgment.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertConfigurationDataAttributesAlertAcknowledgment.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertConfigurationDataAttributesAlertAcknowledgment` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `timeout_minutes` + if (jsonObj.get("timeout_minutes") != null && !jsonObj.get("timeout_minutes").isJsonNull()) { + TimeoutMinutesEnum.validateJsonElement(jsonObj.get("timeout_minutes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertConfigurationDataAttributesAlertAcknowledgment.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertConfigurationDataAttributesAlertAcknowledgment' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertConfigurationDataAttributesAlertAcknowledgment.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertConfigurationDataAttributesAlertAcknowledgment value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertConfigurationDataAttributesAlertAcknowledgment read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertConfigurationDataAttributesAlertAcknowledgment given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertConfigurationDataAttributesAlertAcknowledgment + * @throws IOException if the JSON string is invalid with respect to UpdateAlertConfigurationDataAttributesAlertAcknowledgment + */ + public static UpdateAlertConfigurationDataAttributesAlertAcknowledgment fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertConfigurationDataAttributesAlertAcknowledgment.class); + } + + /** + * Convert an instance of UpdateAlertConfigurationDataAttributesAlertAcknowledgment to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.java b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.java new file mode 100644 index 00000000..e0c655dc --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.java @@ -0,0 +1,368 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.Set; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Channel defaults for new users, per urgency level. Omitted levels keep the built-in defaults; existing users are never changed. Present and accepted only while org-default-notification-settings is on for the team. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings { + /** + * Gets or Sets audibleContactTypes + */ + @JsonAdapter(AudibleContactTypesEnum.Adapter.class) + public enum AudibleContactTypesEnum { + EMAIL("email"), + + DEVICE("device"), + + SMS("sms"), + + CALL("call"); + + private String value; + + AudibleContactTypesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AudibleContactTypesEnum fromValue(String value) { + for (AudibleContactTypesEnum b : AudibleContactTypesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AudibleContactTypesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AudibleContactTypesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AudibleContactTypesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AudibleContactTypesEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AUDIBLE_CONTACT_TYPES = "audible_contact_types"; + @SerializedName(SERIALIZED_NAME_AUDIBLE_CONTACT_TYPES) + @jakarta.annotation.Nullable + private Set audibleContactTypes = new LinkedHashSet<>(); + + /** + * Gets or Sets quietContactTypes + */ + @JsonAdapter(QuietContactTypesEnum.Adapter.class) + public enum QuietContactTypesEnum { + EMAIL("email"), + + NON_CRITICAL_DEVICE("non_critical_device"), + + SMS("sms"), + + CALL("call"); + + private String value; + + QuietContactTypesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static QuietContactTypesEnum fromValue(String value) { + for (QuietContactTypesEnum b : QuietContactTypesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final QuietContactTypesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public QuietContactTypesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return QuietContactTypesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + QuietContactTypesEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_QUIET_CONTACT_TYPES = "quiet_contact_types"; + @SerializedName(SERIALIZED_NAME_QUIET_CONTACT_TYPES) + @jakarta.annotation.Nullable + private Set quietContactTypes = new LinkedHashSet<>(); + + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings() { + } + + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings audibleContactTypes(@jakarta.annotation.Nullable Set audibleContactTypes) { + this.audibleContactTypes = audibleContactTypes; + return this; + } + + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings addAudibleContactTypesItem(AudibleContactTypesEnum audibleContactTypesItem) { + if (this.audibleContactTypes == null) { + this.audibleContactTypes = new LinkedHashSet<>(); + } + this.audibleContactTypes.add(audibleContactTypesItem); + return this; + } + + /** + * Channels enabled on a newly created user's audible notification rule. At least one channel is required. + * @return audibleContactTypes + */ + @jakarta.annotation.Nullable + public Set getAudibleContactTypes() { + return audibleContactTypes; + } + + public void setAudibleContactTypes(@jakarta.annotation.Nullable Set audibleContactTypes) { + this.audibleContactTypes = audibleContactTypes; + } + + + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings quietContactTypes(@jakarta.annotation.Nullable Set quietContactTypes) { + this.quietContactTypes = quietContactTypes; + return this; + } + + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings addQuietContactTypesItem(QuietContactTypesEnum quietContactTypesItem) { + if (this.quietContactTypes == null) { + this.quietContactTypes = new LinkedHashSet<>(); + } + this.quietContactTypes.add(quietContactTypesItem); + return this; + } + + /** + * Channels enabled on a newly created user's quiet notification rule. At least one channel is required. + * @return quietContactTypes + */ + @jakarta.annotation.Nullable + public Set getQuietContactTypes() { + return quietContactTypes; + } + + public void setQuietContactTypes(@jakarta.annotation.Nullable Set quietContactTypes) { + this.quietContactTypes = quietContactTypes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings updateAlertConfigurationDataAttributesDefaultUserNotificationSettings = (UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings) o; + return Objects.equals(this.audibleContactTypes, updateAlertConfigurationDataAttributesDefaultUserNotificationSettings.audibleContactTypes) && + Objects.equals(this.quietContactTypes, updateAlertConfigurationDataAttributesDefaultUserNotificationSettings.quietContactTypes); + } + + @Override + public int hashCode() { + return Objects.hash(audibleContactTypes, quietContactTypes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings {\n"); + sb.append(" audibleContactTypes: ").append(toIndentedString(audibleContactTypes)).append("\n"); + sb.append(" quietContactTypes: ").append(toIndentedString(quietContactTypes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("audible_contact_types"); + openapiFields.add("quiet_contact_types"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings is not found in the empty JSON string", UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the optional json data is an array if present + if (jsonObj.get("audible_contact_types") != null && !jsonObj.get("audible_contact_types").isJsonNull() && !jsonObj.get("audible_contact_types").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `audible_contact_types` to be an array in the JSON string but got `%s`", jsonObj.get("audible_contact_types").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("quiet_contact_types") != null && !jsonObj.get("quiet_contact_types").isJsonNull() && !jsonObj.get("quiet_contact_types").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `quiet_contact_types` to be an array in the JSON string but got `%s`", jsonObj.get("quiet_contact_types").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + * @throws IOException if the JSON string is invalid with respect to UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + */ + public static UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings.class); + } + + /** + * Convert an instance of UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateAlertData.java b/src/main/java/com/rootly/client/model/UpdateAlertData.java index 2602dd37..65364418 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertData.java @@ -49,8 +49,13 @@ /** * UpdateAlertData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertData() { } + public UpdateAlertData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertData updateAlertData = (UpdateAlertData) o; - return Objects.equals(this.type, updateAlertData.type) && + return Objects.equals(this.id, updateAlertData.id) && + Objects.equals(this.type, updateAlertData.type) && Objects.equals(this.attributes, updateAlertData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java index 77ec843f..350d56a1 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import java.io.IOException; @@ -54,8 +55,13 @@ /** * UpdateAlertDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertDataAttributes { + public static final String SERIALIZED_NAME_ACTOR = "actor"; + @SerializedName(SERIALIZED_NAME_ACTOR) + @jakarta.annotation.Nullable + private NewAlertDataAttributesActor actor; + /** * Whether the alert is marked as noise */ @@ -197,6 +203,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertDataAttributes() { } + public UpdateAlertDataAttributes actor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + return this; + } + + /** + * Get actor + * @return actor + */ + @jakarta.annotation.Nullable + public NewAlertDataAttributesActor getActor() { + return actor; + } + + public void setActor(@jakarta.annotation.Nullable NewAlertDataAttributesActor actor) { + this.actor = actor; + } + + public UpdateAlertDataAttributes noise(@jakarta.annotation.Nullable NoiseEnum noise) { this.noise = noise; return this; @@ -582,7 +607,8 @@ public boolean equals(Object o) { return false; } UpdateAlertDataAttributes updateAlertDataAttributes = (UpdateAlertDataAttributes) o; - return Objects.equals(this.noise, updateAlertDataAttributes.noise) && + return Objects.equals(this.actor, updateAlertDataAttributes.actor) && + Objects.equals(this.noise, updateAlertDataAttributes.noise) && Objects.equals(this.source, updateAlertDataAttributes.source) && Objects.equals(this.summary, updateAlertDataAttributes.summary) && Objects.equals(this.description, updateAlertDataAttributes.description) && @@ -607,7 +633,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(noise, source, summary, description, serviceIds, groupIds, functionalityIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, labels, data, deduplicationKey, alertFieldValuesAttributes); + return Objects.hash(actor, noise, source, summary, description, serviceIds, groupIds, functionalityIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, labels, data, deduplicationKey, alertFieldValuesAttributes); } private static int hashCodeNullable(JsonNullable a) { @@ -621,6 +647,7 @@ private static int hashCodeNullable(JsonNullable a) { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertDataAttributes {\n"); + sb.append(" actor: ").append(toIndentedString(actor)).append("\n"); sb.append(" noise: ").append(toIndentedString(noise)).append("\n"); sb.append(" source: ").append(toIndentedString(source)).append("\n"); sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); @@ -660,6 +687,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("actor"); openapiFields.add("noise"); openapiFields.add("source"); openapiFields.add("summary"); @@ -703,6 +731,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `actor` + if (jsonObj.get("actor") != null && !jsonObj.get("actor").isJsonNull()) { + NewAlertDataAttributesActor.validateJsonElement(jsonObj.get("actor")); + } if ((jsonObj.get("noise") != null && !jsonObj.get("noise").isJsonNull()) && !jsonObj.get("noise").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `noise` to be a primitive type in the JSON string but got `%s`", jsonObj.get("noise").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEvent.java b/src/main/java/com/rootly/client/model/UpdateAlertEvent.java index 0b34a621..75869a63 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEvent.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEvent.java @@ -49,7 +49,7 @@ /** * Update an alert event. Note: Only alert events with kind='note' can be updated. You cannot change the kind field. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertEvent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEventData.java b/src/main/java/com/rootly/client/model/UpdateAlertEventData.java index 625ae7ce..31e32d24 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEventData.java @@ -49,8 +49,13 @@ /** * UpdateAlertEventData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertEventData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertEventData() { } + public UpdateAlertEventData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertEventData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertEventData updateAlertEventData = (UpdateAlertEventData) o; - return Objects.equals(this.type, updateAlertEventData.type) && + return Objects.equals(this.id, updateAlertEventData.id) && + Objects.equals(this.type, updateAlertEventData.type) && Objects.equals(this.attributes, updateAlertEventData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertEventData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java index 7832bda1..e51df86f 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateAlertEventDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertEventDataAttributes { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertField.java b/src/main/java/com/rootly/client/model/UpdateAlertField.java index 8c04ad86..44f183b7 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertField.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertField.java @@ -49,7 +49,7 @@ /** * UpdateAlertField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java b/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java index bb08a9f8..5f4d3135 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java @@ -49,8 +49,13 @@ /** * UpdateAlertFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertFieldData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertFieldData() { } + public UpdateAlertFieldData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertFieldData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertFieldData updateAlertFieldData = (UpdateAlertFieldData) o; - return Objects.equals(this.type, updateAlertFieldData.type) && + return Objects.equals(this.id, updateAlertFieldData.id) && + Objects.equals(this.type, updateAlertFieldData.type) && Objects.equals(this.attributes, updateAlertFieldData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertFieldData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java index de35c247..b18cca30 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -49,7 +51,7 @@ /** * UpdateAlertFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertFieldDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -62,6 +64,11 @@ public class UpdateAlertFieldDataAttributes { @jakarta.annotation.Nullable private String name; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds; + public UpdateAlertFieldDataAttributes() { } @@ -107,6 +114,33 @@ public void setName(@jakarta.annotation.Nullable String name) { } + public UpdateAlertFieldDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public UpdateAlertFieldDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams that own the alert field. Callers with org-wide alert field permissions replace the full set. Callers without them may only add teams they administer, must leave at least one owner, and owners they do not administer are preserved. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + @Override public boolean equals(Object o) { @@ -118,7 +152,8 @@ public boolean equals(Object o) { } UpdateAlertFieldDataAttributes updateAlertFieldDataAttributes = (UpdateAlertFieldDataAttributes) o; return Objects.equals(this.slug, updateAlertFieldDataAttributes.slug) && - Objects.equals(this.name, updateAlertFieldDataAttributes.name); + Objects.equals(this.name, updateAlertFieldDataAttributes.name) && + Objects.equals(this.ownerGroupIds, updateAlertFieldDataAttributes.ownerGroupIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -127,7 +162,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name); + return Objects.hash(slug, name, ownerGroupIds); } private static int hashCodeNullable(JsonNullable a) { @@ -143,6 +178,7 @@ public String toString() { sb.append("class UpdateAlertFieldDataAttributes {\n"); sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -167,6 +203,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("slug"); openapiFields.add("name"); + openapiFields.add("owner_group_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -199,6 +236,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateAlertGroup.java b/src/main/java/com/rootly/client/model/UpdateAlertGroup.java index 9886cc7a..b458a7f6 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroup.java @@ -49,7 +49,7 @@ /** * UpdateAlertGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java b/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java index 9e49c901..609efa15 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java @@ -49,8 +49,13 @@ /** * UpdateAlertGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroupData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertGroupData() { } + public UpdateAlertGroupData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertGroupData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertGroupData updateAlertGroupData = (UpdateAlertGroupData) o; - return Objects.equals(this.type, updateAlertGroupData.type) && + return Objects.equals(this.id, updateAlertGroupData.id) && + Objects.equals(this.type, updateAlertGroupData.type) && Objects.equals(this.attributes, updateAlertGroupData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertGroupData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java index 221b4303..dd96b5b7 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -54,7 +55,7 @@ /** * UpdateAlertGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroupDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -77,6 +78,11 @@ public class UpdateAlertGroupDataAttributes { @jakarta.annotation.Nullable private Integer timeWindow; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_TARGETS = "targets"; @SerializedName(SERIALIZED_NAME_TARGETS) @jakarta.annotation.Nullable @@ -349,6 +355,33 @@ public void setTimeWindow(@jakarta.annotation.Nullable Integer timeWindow) { } + public UpdateAlertGroupDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public UpdateAlertGroupDataAttributes addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * Teams that own this alert group. Admins of an owning team can manage it, and an owned alert group can only target destinations that belong to its owning teams. Only available when owning teams for alert groups are enabled for the organization. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + public UpdateAlertGroupDataAttributes targets(@jakarta.annotation.Nullable List targets) { this.targets = targets; return this; @@ -513,6 +546,7 @@ public boolean equals(Object o) { Objects.equals(this.name, updateAlertGroupDataAttributes.name) && Objects.equals(this.description, updateAlertGroupDataAttributes.description) && Objects.equals(this.timeWindow, updateAlertGroupDataAttributes.timeWindow) && + Objects.equals(this.ownerGroupIds, updateAlertGroupDataAttributes.ownerGroupIds) && Objects.equals(this.targets, updateAlertGroupDataAttributes.targets) && Objects.equals(this.attributes, updateAlertGroupDataAttributes.attributes) && Objects.equals(this.groupByAlertTitle, updateAlertGroupDataAttributes.groupByAlertTitle) && @@ -527,7 +561,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, description, timeWindow, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType, conditions); + return Objects.hash(slug, name, description, timeWindow, ownerGroupIds, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType, conditions); } private static int hashCodeNullable(JsonNullable a) { @@ -545,6 +579,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" timeWindow: ").append(toIndentedString(timeWindow)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" targets: ").append(toIndentedString(targets)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" groupByAlertTitle: ").append(toIndentedString(groupByAlertTitle)).append("\n"); @@ -577,6 +612,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("time_window"); + openapiFields.add("owner_group_ids"); openapiFields.add("targets"); openapiFields.add("attributes"); openapiFields.add("group_by_alert_title"); @@ -618,6 +654,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } if (jsonObj.get("targets") != null && !jsonObj.get("targets").isJsonNull()) { JsonArray jsonArraytargets = jsonObj.getAsJsonArray("targets"); if (jsonArraytargets != null) { diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoute.java b/src/main/java/com/rootly/client/model/UpdateAlertRoute.java index 520246ed..62c21571 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoute.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoute.java @@ -49,7 +49,7 @@ /** * UpdateAlertRoute */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoute { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java b/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java index 461be129..88a2be03 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java @@ -49,8 +49,13 @@ /** * UpdateAlertRouteData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRouteData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertRouteData() { } + public UpdateAlertRouteData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertRouteData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertRouteData updateAlertRouteData = (UpdateAlertRouteData) o; - return Objects.equals(this.type, updateAlertRouteData.type) && + return Objects.equals(this.id, updateAlertRouteData.id) && + Objects.equals(this.type, updateAlertRouteData.type) && Objects.equals(this.attributes, updateAlertRouteData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertRouteData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java index c9754317..d901f00f 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateAlertRouteDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRouteDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java index 7d48e330..93a6091a 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java @@ -49,7 +49,7 @@ /** * UpdateAlertRoutingRule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java index 49df1daa..516f3cce 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java @@ -49,8 +49,13 @@ /** * UpdateAlertRoutingRuleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertRoutingRuleData() { } + public UpdateAlertRoutingRuleData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertRoutingRuleData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertRoutingRuleData updateAlertRoutingRuleData = (UpdateAlertRoutingRuleData) o; - return Objects.equals(this.type, updateAlertRoutingRuleData.type) && + return Objects.equals(this.id, updateAlertRoutingRuleData.id) && + Objects.equals(this.type, updateAlertRoutingRuleData.type) && Objects.equals(this.attributes, updateAlertRoutingRuleData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertRoutingRuleData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java index 65d6d29b..d409b95a 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateAlertRoutingRuleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java index e000af6b..869e725b 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java @@ -52,7 +52,7 @@ /** * UpdateAlertRoutingRuleDataAttributesConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleDataAttributesConditionsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestination.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestination.java index 39458154..65aaa1d4 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestination.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestination.java @@ -49,7 +49,7 @@ /** * UpdateAlertRoutingRuleDataAttributesDestination */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleDataAttributesDestination { /** * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. diff --git a/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java b/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java index 8bfc3f80..a7d213ff 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java @@ -49,7 +49,7 @@ /** * UpdateAlertUrgency */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgency { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java index 892b06b2..eda56615 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java @@ -49,8 +49,13 @@ /** * UpdateAlertUrgencyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgencyData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertUrgencyData() { } + public UpdateAlertUrgencyData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertUrgencyData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertUrgencyData updateAlertUrgencyData = (UpdateAlertUrgencyData) o; - return Objects.equals(this.type, updateAlertUrgencyData.type) && + return Objects.equals(this.id, updateAlertUrgencyData.id) && + Objects.equals(this.type, updateAlertUrgencyData.type) && Objects.equals(this.attributes, updateAlertUrgencyData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertUrgencyData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java index 83fd9428..8e4a6255 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateAlertUrgencyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgencyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,10 +66,88 @@ public class UpdateAlertUrgencyDataAttributes { @jakarta.annotation.Nullable private Integer position; + /** + * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, -1 = never. + */ + @JsonAdapter(RetriggerTimeoutMinutesEnum.Adapter.class) + public enum RetriggerTimeoutMinutesEnum { + NUMBER_MINUS_1(-1), + + NUMBER_10(10), + + NUMBER_20(20), + + NUMBER_30(30), + + NUMBER_40(40), + + NUMBER_50(50), + + NUMBER_60(60), + + NUMBER_90(90), + + NUMBER_120(120), + + NUMBER_180(180), + + NUMBER_240(240), + + NUMBER_300(300), + + NUMBER_360(360), + + NUMBER_720(720), + + NUMBER_1440(1440); + + private Integer value; + + RetriggerTimeoutMinutesEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RetriggerTimeoutMinutesEnum fromValue(Integer value) { + for (RetriggerTimeoutMinutesEnum b : RetriggerTimeoutMinutesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RetriggerTimeoutMinutesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RetriggerTimeoutMinutesEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES = "retrigger_timeout_minutes"; @SerializedName(SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES) @jakarta.annotation.Nullable - private Integer retriggerTimeoutMinutes; + private RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes; public UpdateAlertUrgencyDataAttributes() { } @@ -131,21 +209,21 @@ public void setPosition(@jakarta.annotation.Nullable Integer position) { } - public UpdateAlertUrgencyDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public UpdateAlertUrgencyDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; return this; } /** - * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, negative = never. + * Re-trigger acknowledged alerts of this urgency after N minutes; null inherits the workspace default, -1 = never. * @return retriggerTimeoutMinutes */ @jakarta.annotation.Nullable - public Integer getRetriggerTimeoutMinutes() { + public RetriggerTimeoutMinutesEnum getRetriggerTimeoutMinutes() { return retriggerTimeoutMinutes; } - public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; } @@ -248,6 +326,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + // validate the optional field `retrigger_timeout_minutes` + if (jsonObj.get("retrigger_timeout_minutes") != null && !jsonObj.get("retrigger_timeout_minutes").isJsonNull()) { + RetriggerTimeoutMinutesEnum.validateJsonElement(jsonObj.get("retrigger_timeout_minutes")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSource.java b/src/main/java/com/rootly/client/model/UpdateAlertsSource.java index a8e1a8c4..557f81f4 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSource.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSource.java @@ -49,7 +49,7 @@ /** * UpdateAlertsSource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSource { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java b/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java index 9f27e3b9..1b3e85fe 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java @@ -49,8 +49,13 @@ /** * UpdateAlertsSourceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSourceData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAlertsSourceData() { } + public UpdateAlertsSourceData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAlertsSourceData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAlertsSourceData updateAlertsSourceData = (UpdateAlertsSourceData) o; - return Objects.equals(this.type, updateAlertsSourceData.type) && + return Objects.equals(this.id, updateAlertsSourceData.id) && + Objects.equals(this.type, updateAlertsSourceData.type) && Objects.equals(this.attributes, updateAlertsSourceData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAlertsSourceData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java index 4de75b14..8dce202e 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java @@ -19,11 +19,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesSourceableAttributes; +import com.rootly.client.model.UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -56,7 +56,7 @@ /** * UpdateAlertsSourceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSourceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -272,7 +272,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES = "alert_source_fields_attributes"; @SerializedName(SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES) @jakarta.annotation.Nullable - private List alertSourceFieldsAttributes = new ArrayList<>(); + private List alertSourceFieldsAttributes = new ArrayList<>(); public UpdateAlertsSourceDataAttributes() { } @@ -540,12 +540,12 @@ public void setResolutionRuleAttributes(@jakarta.annotation.Nullable NewAlertsSo } - public UpdateAlertsSourceDataAttributes alertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { + public UpdateAlertsSourceDataAttributes alertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; return this; } - public UpdateAlertsSourceDataAttributes addAlertSourceFieldsAttributesItem(NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { + public UpdateAlertsSourceDataAttributes addAlertSourceFieldsAttributesItem(UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { if (this.alertSourceFieldsAttributes == null) { this.alertSourceFieldsAttributes = new ArrayList<>(); } @@ -558,11 +558,11 @@ public UpdateAlertsSourceDataAttributes addAlertSourceFieldsAttributesItem(NewAl * @return alertSourceFieldsAttributes */ @jakarta.annotation.Nullable - public List getAlertSourceFieldsAttributes() { + public List getAlertSourceFieldsAttributes() { return alertSourceFieldsAttributes; } - public void setAlertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { + public void setAlertSourceFieldsAttributes(@jakarta.annotation.Nullable List alertSourceFieldsAttributes) { this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; } @@ -755,7 +755,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `alert_source_fields_attributes` (array) for (int i = 0; i < jsonArrayalertSourceFieldsAttributes.size(); i++) { - NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); + UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java new file mode 100644 index 00000000..064ed138 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java @@ -0,0 +1,275 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner { + public static final String SERIALIZED_NAME_ALERT_FIELD_ID = "alert_field_id"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELD_ID) + @jakarta.annotation.Nullable + private String alertFieldId; + + public static final String SERIALIZED_NAME_TEMPLATE_BODY = "template_body"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_BODY) + @jakarta.annotation.Nullable + private String templateBody; + + public static final String SERIALIZED_NAME_DESTROY = "_destroy"; + @SerializedName(SERIALIZED_NAME_DESTROY) + @jakarta.annotation.Nullable + private Boolean destroy; + + public UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner() { + } + + public UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertFieldId(@jakarta.annotation.Nullable String alertFieldId) { + this.alertFieldId = alertFieldId; + return this; + } + + /** + * The ID of the alert field. Must be visible to the caller; unknown or hidden IDs return 404 + * @return alertFieldId + */ + @jakarta.annotation.Nullable + public String getAlertFieldId() { + return alertFieldId; + } + + public void setAlertFieldId(@jakarta.annotation.Nullable String alertFieldId) { + this.alertFieldId = alertFieldId; + } + + + public UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner templateBody(@jakarta.annotation.Nullable String templateBody) { + this.templateBody = templateBody; + return this; + } + + /** + * Liquid expression to extract a specific value from the alert's payload for evaluation + * @return templateBody + */ + @jakarta.annotation.Nullable + public String getTemplateBody() { + return templateBody; + } + + public void setTemplateBody(@jakarta.annotation.Nullable String templateBody) { + this.templateBody = templateBody; + } + + + public UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner destroy(@jakarta.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + return this; + } + + /** + * Set to true to unbind the alert field from the alert source. Built-in fields cannot be unbound (422) + * @return destroy + */ + @jakarta.annotation.Nullable + public Boolean getDestroy() { + return destroy; + } + + public void setDestroy(@jakarta.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner updateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner = (UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner) o; + return Objects.equals(this.alertFieldId, updateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.alertFieldId) && + Objects.equals(this.templateBody, updateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.templateBody) && + Objects.equals(this.destroy, updateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.destroy); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(alertFieldId, templateBody, destroy); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner {\n"); + sb.append(" alertFieldId: ").append(toIndentedString(alertFieldId)).append("\n"); + sb.append(" templateBody: ").append(toIndentedString(templateBody)).append("\n"); + sb.append(" destroy: ").append(toIndentedString(destroy)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("alert_field_id"); + openapiFields.add("template_body"); + openapiFields.add("_destroy"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner is not found in the empty JSON string", UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("alert_field_id") != null && !jsonObj.get("alert_field_id").isJsonNull()) && !jsonObj.get("alert_field_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_field_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_field_id").toString())); + } + if ((jsonObj.get("template_body") != null && !jsonObj.get("template_body").isJsonNull()) && !jsonObj.get("template_body").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `template_body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("template_body").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + * @throws IOException if the JSON string is invalid with respect to UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ + public static UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.class); + } + + /** + * Convert an instance of UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateApiKey.java b/src/main/java/com/rootly/client/model/UpdateApiKey.java index 5e47bd48..b9b75ec7 100644 --- a/src/main/java/com/rootly/client/model/UpdateApiKey.java +++ b/src/main/java/com/rootly/client/model/UpdateApiKey.java @@ -49,7 +49,7 @@ /** * UpdateApiKey */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateApiKey { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateApiKeyData.java b/src/main/java/com/rootly/client/model/UpdateApiKeyData.java index 4c5fcf54..b6076899 100644 --- a/src/main/java/com/rootly/client/model/UpdateApiKeyData.java +++ b/src/main/java/com/rootly/client/model/UpdateApiKeyData.java @@ -49,8 +49,13 @@ /** * UpdateApiKeyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateApiKeyData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateApiKeyData() { } + public UpdateApiKeyData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateApiKeyData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateApiKeyData updateApiKeyData = (UpdateApiKeyData) o; - return Objects.equals(this.type, updateApiKeyData.type) && + return Objects.equals(this.id, updateApiKeyData.id) && + Objects.equals(this.type, updateApiKeyData.type) && Objects.equals(this.attributes, updateApiKeyData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateApiKeyData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java index 9f077f63..a1c6c182 100644 --- a/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateApiKeyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateApiKeyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java index 7dcc46a3..e0dd5b1a 100644 --- a/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java @@ -52,7 +52,7 @@ /** * UpdateAsanaTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAsanaTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java b/src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java index 8dafe3a6..779f806d 100644 --- a/src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateAttachedAlertsTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAttachedAlertsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateAuthorization.java b/src/main/java/com/rootly/client/model/UpdateAuthorization.java index ecdcbe76..5b7e5bdd 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorization.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorization.java @@ -49,7 +49,7 @@ /** * UpdateAuthorization */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAuthorization { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java b/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java index e98fc8da..18a73958 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java @@ -49,8 +49,13 @@ /** * UpdateAuthorizationData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAuthorizationData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateAuthorizationData() { } + public UpdateAuthorizationData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateAuthorizationData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateAuthorizationData updateAuthorizationData = (UpdateAuthorizationData) o; - return Objects.equals(this.type, updateAuthorizationData.type) && + return Objects.equals(this.id, updateAuthorizationData.id) && + Objects.equals(this.type, updateAuthorizationData.type) && Objects.equals(this.attributes, updateAuthorizationData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateAuthorizationData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java index e8ce1e9b..e74324b8 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateAuthorizationDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAuthorizationDataAttributes { /** * Gets or Sets permissions diff --git a/src/main/java/com/rootly/client/model/UpdateCatalog.java b/src/main/java/com/rootly/client/model/UpdateCatalog.java index be8ee19b..f8eafd3a 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalog.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalog.java @@ -49,7 +49,7 @@ /** * UpdateCatalog */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalog { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.java b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.java index ee28a015..ebb76d62 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.java @@ -49,7 +49,7 @@ /** * UpdateCatalogChecklistTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogChecklistTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java index 77aefa9e..41350a60 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java @@ -49,8 +49,13 @@ /** * UpdateCatalogChecklistTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogChecklistTemplateData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCatalogChecklistTemplateData() { } + public UpdateCatalogChecklistTemplateData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCatalogChecklistTemplateData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCatalogChecklistTemplateData updateCatalogChecklistTemplateData = (UpdateCatalogChecklistTemplateData) o; - return Objects.equals(this.type, updateCatalogChecklistTemplateData.type) && + return Objects.equals(this.id, updateCatalogChecklistTemplateData.id) && + Objects.equals(this.type, updateCatalogChecklistTemplateData.type) && Objects.equals(this.attributes, updateCatalogChecklistTemplateData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogChecklistTemplateData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java index f79e9906..4734e21f 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateCatalogChecklistTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogChecklistTemplateDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogData.java b/src/main/java/com/rootly/client/model/UpdateCatalogData.java index 17779fd7..c72ef63c 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogData.java @@ -49,8 +49,13 @@ /** * UpdateCatalogData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCatalogData() { } + public UpdateCatalogData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCatalogData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCatalogData updateCatalogData = (UpdateCatalogData) o; - return Objects.equals(this.type, updateCatalogData.type) && + return Objects.equals(this.id, updateCatalogData.id) && + Objects.equals(this.type, updateCatalogData.type) && Objects.equals(this.attributes, updateCatalogData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java index 668bb61a..ac25f5a0 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateCatalogDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java index 03f8b314..fa153dba 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java @@ -49,7 +49,7 @@ /** * UpdateCatalogEntity */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntity { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java index 6d2dbe5d..a4b4fec1 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java @@ -49,8 +49,13 @@ /** * UpdateCatalogEntityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCatalogEntityData() { } + public UpdateCatalogEntityData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCatalogEntityData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCatalogEntityData updateCatalogEntityData = (UpdateCatalogEntityData) o; - return Objects.equals(this.type, updateCatalogEntityData.type) && + return Objects.equals(this.id, updateCatalogEntityData.id) && + Objects.equals(this.type, updateCatalogEntityData.type) && Objects.equals(this.attributes, updateCatalogEntityData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogEntityData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java index 85f156b8..89e914b1 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateCatalogEntityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java index 677fa790..97d3d3de 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java @@ -51,7 +51,7 @@ * @deprecated */ @Deprecated -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityProperty { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java index df495de9..61fd339a 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java @@ -49,8 +49,13 @@ /** * UpdateCatalogEntityPropertyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityPropertyData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCatalogEntityPropertyData() { } + public UpdateCatalogEntityPropertyData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCatalogEntityPropertyData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCatalogEntityPropertyData updateCatalogEntityPropertyData = (UpdateCatalogEntityPropertyData) o; - return Objects.equals(this.type, updateCatalogEntityPropertyData.type) && + return Objects.equals(this.id, updateCatalogEntityPropertyData.id) && + Objects.equals(this.type, updateCatalogEntityPropertyData.type) && Objects.equals(this.attributes, updateCatalogEntityPropertyData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogEntityPropertyData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java index 6deae144..6ecf6fe3 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateCatalogEntityPropertyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityPropertyDataAttributes { /** * Gets or Sets key diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogField.java b/src/main/java/com/rootly/client/model/UpdateCatalogField.java index cacc8704..faa74717 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogField.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogField.java @@ -49,7 +49,7 @@ /** * UpdateCatalogField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java b/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java index 3ec64c19..c72b241e 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java @@ -49,8 +49,13 @@ /** * UpdateCatalogFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogFieldData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCatalogFieldData() { } + public UpdateCatalogFieldData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCatalogFieldData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCatalogFieldData updateCatalogFieldData = (UpdateCatalogFieldData) o; - return Objects.equals(this.type, updateCatalogFieldData.type) && + return Objects.equals(this.id, updateCatalogFieldData.id) && + Objects.equals(this.type, updateCatalogFieldData.type) && Objects.equals(this.attributes, updateCatalogFieldData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogFieldData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java index 0c0c240e..eb87682c 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateCatalogFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogFieldDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java b/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java index 5e6d06b9..6da373eb 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java @@ -49,7 +49,7 @@ /** * UpdateCatalogProperty */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogProperty { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java index cf7bf192..229747db 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java @@ -49,8 +49,13 @@ /** * UpdateCatalogPropertyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogPropertyData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCatalogPropertyData() { } + public UpdateCatalogPropertyData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCatalogPropertyData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCatalogPropertyData updateCatalogPropertyData = (UpdateCatalogPropertyData) o; - return Objects.equals(this.type, updateCatalogPropertyData.type) && + return Objects.equals(this.id, updateCatalogPropertyData.id) && + Objects.equals(this.type, updateCatalogPropertyData.type) && Objects.equals(this.attributes, updateCatalogPropertyData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogPropertyData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java index 2f7e64f9..14c9e75d 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateCatalogPropertyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogPropertyDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateCause.java b/src/main/java/com/rootly/client/model/UpdateCause.java index ea9cb939..1416e11d 100644 --- a/src/main/java/com/rootly/client/model/UpdateCause.java +++ b/src/main/java/com/rootly/client/model/UpdateCause.java @@ -49,7 +49,7 @@ /** * UpdateCause */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCause { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCauseData.java b/src/main/java/com/rootly/client/model/UpdateCauseData.java index 7a366008..a8dc6905 100644 --- a/src/main/java/com/rootly/client/model/UpdateCauseData.java +++ b/src/main/java/com/rootly/client/model/UpdateCauseData.java @@ -49,8 +49,13 @@ /** * UpdateCauseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCauseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCauseData() { } + public UpdateCauseData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCauseData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCauseData updateCauseData = (UpdateCauseData) o; - return Objects.equals(this.type, updateCauseData.type) && + return Objects.equals(this.id, updateCauseData.id) && + Objects.equals(this.type, updateCauseData.type) && Objects.equals(this.attributes, updateCauseData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCauseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java index 64ba9153..66b40867 100644 --- a/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateCauseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCauseDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java index 2c502559..0761baa9 100644 --- a/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java @@ -50,7 +50,7 @@ /** * UpdateClickupTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateClickupTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java index 3e502959..e19293a6 100644 --- a/src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateCodaPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCodaPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.java index 91206356..79b08553 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java index 40670b82..bc3dd382 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java @@ -49,8 +49,13 @@ /** * UpdateCommunicationsGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsGroupData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCommunicationsGroupData() { } + public UpdateCommunicationsGroupData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCommunicationsGroupData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCommunicationsGroupData updateCommunicationsGroupData = (UpdateCommunicationsGroupData) o; - return Objects.equals(this.type, updateCommunicationsGroupData.type) && + return Objects.equals(this.id, updateCommunicationsGroupData.id) && + Objects.equals(this.type, updateCommunicationsGroupData.type) && Objects.equals(this.attributes, updateCommunicationsGroupData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCommunicationsGroupData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java index 08024621..7fbb4ca8 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateCommunicationsGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java index ba96e79d..db5ed8c2 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java index 37521d8e..3a702a1b 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java @@ -51,7 +51,7 @@ /** * UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java index 4ed44c04..1b967d51 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsStage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsStage { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java index d1266ba0..f16ce144 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java @@ -49,8 +49,13 @@ /** * UpdateCommunicationsStageData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsStageData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCommunicationsStageData() { } + public UpdateCommunicationsStageData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCommunicationsStageData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCommunicationsStageData updateCommunicationsStageData = (UpdateCommunicationsStageData) o; - return Objects.equals(this.type, updateCommunicationsStageData.type) && + return Objects.equals(this.id, updateCommunicationsStageData.id) && + Objects.equals(this.type, updateCommunicationsStageData.type) && Objects.equals(this.attributes, updateCommunicationsStageData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCommunicationsStageData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java index dbe11b9b..754854cb 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsStageDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsStageDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java index 7effa816..7637f740 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java index 15344374..b36b6da3 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java @@ -49,8 +49,13 @@ /** * UpdateCommunicationsTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTemplateData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCommunicationsTemplateData() { } + public UpdateCommunicationsTemplateData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCommunicationsTemplateData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCommunicationsTemplateData updateCommunicationsTemplateData = (UpdateCommunicationsTemplateData) o; - return Objects.equals(this.type, updateCommunicationsTemplateData.type) && + return Objects.equals(this.id, updateCommunicationsTemplateData.id) && + Objects.equals(this.type, updateCommunicationsTemplateData.type) && Objects.equals(this.attributes, updateCommunicationsTemplateData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCommunicationsTemplateData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java index 5745932e..c3a58034 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateCommunicationsTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java index 8d535db5..f79819a7 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsType.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsType.java index fd91efd5..5b6f4894 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsType.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsType.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsType { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java index 4711adc8..84123485 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java @@ -49,8 +49,13 @@ /** * UpdateCommunicationsTypeData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTypeData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCommunicationsTypeData() { } + public UpdateCommunicationsTypeData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCommunicationsTypeData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCommunicationsTypeData updateCommunicationsTypeData = (UpdateCommunicationsTypeData) o; - return Objects.equals(this.type, updateCommunicationsTypeData.type) && + return Objects.equals(this.id, updateCommunicationsTypeData.id) && + Objects.equals(this.type, updateCommunicationsTypeData.type) && Objects.equals(this.attributes, updateCommunicationsTypeData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCommunicationsTypeData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java index 6905632f..5b01e1be 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsTypeDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTypeDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java index 0cd5862d..f70eb2bc 100644 --- a/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java @@ -50,7 +50,7 @@ /** * UpdateConfluencePageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateConfluencePageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java index b673c996..c53843f7 100644 --- a/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java @@ -48,7 +48,7 @@ /** * The Confluence template to use */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateConfluencePageTaskParamsTemplate { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateCustomField.java b/src/main/java/com/rootly/client/model/UpdateCustomField.java index 9c69173a..3436c232 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomField.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomField.java @@ -49,7 +49,7 @@ /** * UpdateCustomField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java index 1a49d86d..f9acbbc3 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java @@ -49,8 +49,13 @@ /** * UpdateCustomFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCustomFieldData() { } + public UpdateCustomFieldData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCustomFieldData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCustomFieldData updateCustomFieldData = (UpdateCustomFieldData) o; - return Objects.equals(this.type, updateCustomFieldData.type) && + return Objects.equals(this.id, updateCustomFieldData.id) && + Objects.equals(this.type, updateCustomFieldData.type) && Objects.equals(this.attributes, updateCustomFieldData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCustomFieldData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java index 2810b4a1..f71483c6 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateCustomFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldDataAttributes { public static final String SERIALIZED_NAME_LABEL = "label"; @SerializedName(SERIALIZED_NAME_LABEL) diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java index 68d99f28..2275d3c0 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java @@ -49,7 +49,7 @@ /** * UpdateCustomFieldOption */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldOption { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java index 4082a27b..4f3a513c 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java @@ -49,8 +49,13 @@ /** * UpdateCustomFieldOptionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldOptionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCustomFieldOptionData() { } + public UpdateCustomFieldOptionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCustomFieldOptionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCustomFieldOptionData updateCustomFieldOptionData = (UpdateCustomFieldOptionData) o; - return Objects.equals(this.type, updateCustomFieldOptionData.type) && + return Objects.equals(this.id, updateCustomFieldOptionData.id) && + Objects.equals(this.type, updateCustomFieldOptionData.type) && Objects.equals(this.attributes, updateCustomFieldOptionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCustomFieldOptionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java index e2c03417..58cb59b4 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateCustomFieldOptionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldOptionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) diff --git a/src/main/java/com/rootly/client/model/UpdateCustomForm.java b/src/main/java/com/rootly/client/model/UpdateCustomForm.java index c3ce3f7b..0754313e 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomForm.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomForm.java @@ -49,7 +49,7 @@ /** * UpdateCustomForm */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomForm { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFormData.java b/src/main/java/com/rootly/client/model/UpdateCustomFormData.java index cc83a53c..163a1df1 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFormData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFormData.java @@ -49,8 +49,13 @@ /** * UpdateCustomFormData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFormData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateCustomFormData() { } + public UpdateCustomFormData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateCustomFormData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateCustomFormData updateCustomFormData = (UpdateCustomFormData) o; - return Objects.equals(this.type, updateCustomFormData.type) && + return Objects.equals(this.id, updateCustomFormData.id) && + Objects.equals(this.type, updateCustomFormData.type) && Objects.equals(this.attributes, updateCustomFormData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCustomFormData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java index c18b9c35..fd553a43 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateCustomFormDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFormDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateDashboard.java b/src/main/java/com/rootly/client/model/UpdateDashboard.java index dceeee65..d67caeb6 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboard.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboard.java @@ -49,7 +49,7 @@ /** * UpdateDashboard */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboard { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardData.java b/src/main/java/com/rootly/client/model/UpdateDashboardData.java index 69c97763..b3570959 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardData.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardData.java @@ -49,8 +49,13 @@ /** * UpdateDashboardData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateDashboardData() { } + public UpdateDashboardData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateDashboardData type(@jakarta.annotation.Nullable TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateDashboardData updateDashboardData = (UpdateDashboardData) o; - return Objects.equals(this.type, updateDashboardData.type) && + return Objects.equals(this.id, updateDashboardData.id) && + Objects.equals(this.type, updateDashboardData.type) && Objects.equals(this.attributes, updateDashboardData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateDashboardData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -227,6 +254,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java index b8dc38d0..da9d7f30 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateDashboardDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardPanel.java b/src/main/java/com/rootly/client/model/UpdateDashboardPanel.java index 3d32e022..6e8c98b8 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanel.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanel.java @@ -49,7 +49,7 @@ /** * UpdateDashboardPanel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardPanel { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java b/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java index 46dce13d..80df3a79 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java @@ -49,8 +49,13 @@ /** * UpdateDashboardPanelData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardPanelData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateDashboardPanelData() { } + public UpdateDashboardPanelData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateDashboardPanelData type(@jakarta.annotation.Nullable TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateDashboardPanelData updateDashboardPanelData = (UpdateDashboardPanelData) o; - return Objects.equals(this.type, updateDashboardPanelData.type) && + return Objects.equals(this.id, updateDashboardPanelData.id) && + Objects.equals(this.type, updateDashboardPanelData.type) && Objects.equals(this.attributes, updateDashboardPanelData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateDashboardPanelData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -227,6 +254,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java index e92e0990..d5ead7f1 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateDashboardPanelDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardPanelDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java index cebd8811..ee39249c 100644 --- a/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateDatadogNotebookTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDatadogNotebookTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java index 9df7463b..f6c6b94f 100644 --- a/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java @@ -48,7 +48,7 @@ /** * The Datadog notebook template to use */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDatadogNotebookTaskParamsTemplate { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java index 4471a2e9..fdbabb28 100644 --- a/src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateDropboxPaperPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDropboxPaperPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnector.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnector.java index b56ef8b7..62cfcbae 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnector.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnector.java @@ -49,7 +49,7 @@ /** * UpdateEdgeConnector */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnector { public static final String SERIALIZED_NAME_EDGE_CONNECTOR = "edge_connector"; @SerializedName(SERIALIZED_NAME_EDGE_CONNECTOR) diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java index 03ea2c57..80e5da53 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java @@ -49,7 +49,7 @@ /** * UpdateEdgeConnectorAction */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorAction { public static final String SERIALIZED_NAME_ACTION = "action"; @SerializedName(SERIALIZED_NAME_ACTION) diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java index d3c9d7db..a462e1e0 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java @@ -49,7 +49,7 @@ /** * UpdateEdgeConnectorActionRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorActionRequest { public static final String SERIALIZED_NAME_ACTION = "action"; @SerializedName(SERIALIZED_NAME_ACTION) diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java index 6a16a22e..05b95212 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java @@ -48,7 +48,7 @@ /** * UpdateEdgeConnectorActionRequestAction */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorActionRequestAction { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnector.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnector.java index b9dc7d33..96cc26da 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnector.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnector.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -50,7 +51,7 @@ /** * UpdateEdgeConnectorEdgeConnector */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorEdgeConnector { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -124,6 +125,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subscriptions = new ArrayList<>(); + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public UpdateEdgeConnectorEdgeConnector() { } @@ -211,6 +217,33 @@ public void setSubscriptions(@jakarta.annotation.Nullable List subscript } + public UpdateEdgeConnectorEdgeConnector ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public UpdateEdgeConnectorEdgeConnector addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * Get ownerGroupIds + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + @Override public boolean equals(Object o) { @@ -224,12 +257,13 @@ public boolean equals(Object o) { return Objects.equals(this.name, updateEdgeConnectorEdgeConnector.name) && Objects.equals(this.description, updateEdgeConnectorEdgeConnector.description) && Objects.equals(this.status, updateEdgeConnectorEdgeConnector.status) && - Objects.equals(this.subscriptions, updateEdgeConnectorEdgeConnector.subscriptions); + Objects.equals(this.subscriptions, updateEdgeConnectorEdgeConnector.subscriptions) && + Objects.equals(this.ownerGroupIds, updateEdgeConnectorEdgeConnector.ownerGroupIds); } @Override public int hashCode() { - return Objects.hash(name, description, status, subscriptions); + return Objects.hash(name, description, status, subscriptions, ownerGroupIds); } @Override @@ -240,6 +274,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" subscriptions: ").append(toIndentedString(subscriptions)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -266,6 +301,7 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("status"); openapiFields.add("subscriptions"); + openapiFields.add("owner_group_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -309,6 +345,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("subscriptions") != null && !jsonObj.get("subscriptions").isJsonNull() && !jsonObj.get("subscriptions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `subscriptions` to be an array in the JSON string but got `%s`", jsonObj.get("subscriptions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java index 31c47d06..d75b6518 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java @@ -49,7 +49,7 @@ /** * UpdateEdgeConnectorRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorRequest { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java index 38e12344..4b6fa675 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java @@ -49,7 +49,7 @@ /** * UpdateEdgeConnectorRequestData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorRequestData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java index 26e771b3..bcc883f0 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -50,7 +51,7 @@ /** * UpdateEdgeConnectorRequestDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorRequestDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -124,6 +125,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subscriptions = new ArrayList<>(); + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_FILTERS = "filters"; @SerializedName(SERIALIZED_NAME_FILTERS) @jakarta.annotation.Nullable @@ -216,6 +222,33 @@ public void setSubscriptions(@jakarta.annotation.Nullable List subscript } + public UpdateEdgeConnectorRequestDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public UpdateEdgeConnectorRequestDataAttributes addOwnerGroupIdsItem(UUID ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams (groups) that own this connector + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + public UpdateEdgeConnectorRequestDataAttributes filters(@jakarta.annotation.Nullable Object filters) { this.filters = filters; return this; @@ -249,12 +282,13 @@ public boolean equals(Object o) { Objects.equals(this.description, updateEdgeConnectorRequestDataAttributes.description) && Objects.equals(this.status, updateEdgeConnectorRequestDataAttributes.status) && Objects.equals(this.subscriptions, updateEdgeConnectorRequestDataAttributes.subscriptions) && + Objects.equals(this.ownerGroupIds, updateEdgeConnectorRequestDataAttributes.ownerGroupIds) && Objects.equals(this.filters, updateEdgeConnectorRequestDataAttributes.filters); } @Override public int hashCode() { - return Objects.hash(name, description, status, subscriptions, filters); + return Objects.hash(name, description, status, subscriptions, ownerGroupIds, filters); } @Override @@ -265,6 +299,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" subscriptions: ").append(toIndentedString(subscriptions)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); sb.append("}"); return sb.toString(); @@ -292,6 +327,7 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("status"); openapiFields.add("subscriptions"); + openapiFields.add("owner_group_ids"); openapiFields.add("filters"); // a set of required properties/fields (JSON key names) @@ -336,6 +372,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("subscriptions") != null && !jsonObj.get("subscriptions").isJsonNull() && !jsonObj.get("subscriptions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `subscriptions` to be an array in the JSON string but got `%s`", jsonObj.get("subscriptions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateEnvironment.java b/src/main/java/com/rootly/client/model/UpdateEnvironment.java index 3c8a2994..537eec87 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironment.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironment.java @@ -49,7 +49,7 @@ /** * UpdateEnvironment */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironment { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java b/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java index 187f014d..2f50fc78 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java @@ -49,8 +49,13 @@ /** * UpdateEnvironmentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironmentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateEnvironmentData() { } + public UpdateEnvironmentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateEnvironmentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateEnvironmentData updateEnvironmentData = (UpdateEnvironmentData) o; - return Objects.equals(this.type, updateEnvironmentData.type) && + return Objects.equals(this.id, updateEnvironmentData.id) && + Objects.equals(this.type, updateEnvironmentData.type) && Objects.equals(this.attributes, updateEnvironmentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateEnvironmentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java index 7e3236bb..d6b101fe 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdateEnvironmentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironmentDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java index 2c0d9c81..fbb66ea7 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicy */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicy { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java index 55744db9..745d174b 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java @@ -49,8 +49,13 @@ /** * UpdateEscalationPolicyData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateEscalationPolicyData() { } + public UpdateEscalationPolicyData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateEscalationPolicyData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateEscalationPolicyData updateEscalationPolicyData = (UpdateEscalationPolicyData) o; - return Objects.equals(this.type, updateEscalationPolicyData.type) && + return Objects.equals(this.id, updateEscalationPolicyData.id) && + Objects.equals(this.type, updateEscalationPolicyData.type) && Objects.equals(this.attributes, updateEscalationPolicyData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateEscalationPolicyData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java index dabc5854..25e1e57e 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateEscalationPolicyDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevel.java index a47cec71..87a6c51e 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevel.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyLevel */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevel { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java index 185df8dd..a3bba4fb 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java @@ -49,8 +49,13 @@ /** * UpdateEscalationPolicyLevelData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevelData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateEscalationPolicyLevelData() { } + public UpdateEscalationPolicyLevelData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateEscalationPolicyLevelData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateEscalationPolicyLevelData updateEscalationPolicyLevelData = (UpdateEscalationPolicyLevelData) o; - return Objects.equals(this.type, updateEscalationPolicyLevelData.type) && + return Objects.equals(this.id, updateEscalationPolicyLevelData.id) && + Objects.equals(this.type, updateEscalationPolicyLevelData.type) && Objects.equals(this.attributes, updateEscalationPolicyLevelData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateEscalationPolicyLevelData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java index ea444bc9..0a70f372 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateEscalationPolicyLevelDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevelDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java index 68891521..fb9bd0fd 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java index 244029a7..81e26598 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyPath */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPath { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java index e4fd5f81..d6d72efe 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java @@ -49,8 +49,13 @@ /** * UpdateEscalationPolicyPathData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateEscalationPolicyPathData() { } + public UpdateEscalationPolicyPathData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateEscalationPolicyPathData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateEscalationPolicyPathData updateEscalationPolicyPathData = (UpdateEscalationPolicyPathData) o; - return Objects.equals(this.type, updateEscalationPolicyPathData.type) && + return Objects.equals(this.id, updateEscalationPolicyPathData.id) && + Objects.equals(this.type, updateEscalationPolicyPathData.type) && Objects.equals(this.attributes, updateEscalationPolicyPathData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateEscalationPolicyPathData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java index 52c70433..c0f9a80e 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * UpdateEscalationPolicyPathDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -318,16 +319,156 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private Integer initialDelay; + /** + * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. + */ + @JsonAdapter(RetriggerTimeoutMinutesEnum.Adapter.class) + public enum RetriggerTimeoutMinutesEnum { + NUMBER_MINUS_1(-1), + + NUMBER_10(10), + + NUMBER_20(20), + + NUMBER_30(30), + + NUMBER_40(40), + + NUMBER_50(50), + + NUMBER_60(60), + + NUMBER_90(90), + + NUMBER_120(120), + + NUMBER_180(180), + + NUMBER_240(240), + + NUMBER_300(300), + + NUMBER_360(360), + + NUMBER_720(720), + + NUMBER_1440(1440); + + private Integer value; + + RetriggerTimeoutMinutesEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RetriggerTimeoutMinutesEnum fromValue(Integer value) { + for (RetriggerTimeoutMinutesEnum b : RetriggerTimeoutMinutesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RetriggerTimeoutMinutesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RetriggerTimeoutMinutesEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + RetriggerTimeoutMinutesEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES = "retrigger_timeout_minutes"; @SerializedName(SERIALIZED_NAME_RETRIGGER_TIMEOUT_MINUTES) @jakarta.annotation.Nullable - private Integer retriggerTimeoutMinutes; + private RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes; public static final String SERIALIZED_NAME_RULES = "rules"; @SerializedName(SERIALIZED_NAME_RULES) @jakarta.annotation.Nullable private List rules = new ArrayList<>(); + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE_RULES = "notification_type_rules"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE_RULES) + @jakarta.annotation.Nullable + private List notificationTypeRules = new ArrayList<>(); + + /** + * Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. + */ + @JsonAdapter(NotificationTypeFallbackEnum.Adapter.class) + public enum NotificationTypeFallbackEnum { + AUDIBLE("audible"), + + QUIET("quiet"); + + private String value; + + NotificationTypeFallbackEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static NotificationTypeFallbackEnum fromValue(String value) { + for (NotificationTypeFallbackEnum b : NotificationTypeFallbackEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final NotificationTypeFallbackEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public NotificationTypeFallbackEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return NotificationTypeFallbackEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + NotificationTypeFallbackEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_NOTIFICATION_TYPE_FALLBACK = "notification_type_fallback"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE_FALLBACK) + @jakarta.annotation.Nullable + private NotificationTypeFallbackEnum notificationTypeFallback = NotificationTypeFallbackEnum.AUDIBLE; + /** * Time zone used for time restrictions. */ @@ -477,6 +618,10 @@ public enum TimeRestrictionTimeZoneEnum { ATLANTIC_CAPE_VERDE("Atlantic/Cape_Verde"), + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + EDINBURGH("Edinburgh"), EUROPE_LONDON("Europe/London"), @@ -523,10 +668,6 @@ public enum TimeRestrictionTimeZoneEnum { EUROPE_BUDAPEST("Europe/Budapest"), - CASABLANCA("Casablanca"), - - AFRICA_CASABLANCA("Africa/Casablanca"), - COPENHAGEN("Copenhagen"), EUROPE_COPENHAGEN("Europe/Copenhagen"), @@ -615,7 +756,7 @@ public enum TimeRestrictionTimeZoneEnum { KYIV("Kyiv"), - EUROPE_KIEV("Europe/Kiev"), + EUROPE_KYIV("Europe/Kyiv"), PRETORIA("Pretoria"), @@ -749,7 +890,7 @@ public enum TimeRestrictionTimeZoneEnum { RANGOON("Rangoon"), - ASIA_RANGOON("Asia/Rangoon"), + ASIA_YANGON("Asia/Yangon"), BANGKOK("Bangkok"), @@ -941,7 +1082,11 @@ public enum TimeRestrictionTimeZoneEnum { PACIFIC_KIRITIMATI("Pacific/Kiritimati"), - PACIFIC_NORFOLK("Pacific/Norfolk"); + PACIFIC_NORFOLK("Pacific/Norfolk"), + + ASIA_RANGOON("Asia/Rangoon"), + + EUROPE_KIEV("Europe/Kiev"); private String value; @@ -1208,21 +1353,21 @@ public void setInitialDelay(@jakarta.annotation.Nullable Integer initialDelay) { } - public UpdateEscalationPolicyPathDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public UpdateEscalationPolicyPathDataAttributes retriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; return this; } /** - * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, negative = never. + * Re-trigger acknowledged alerts on this path after N minutes; null inherits the urgency/workspace default, -1 = never. * @return retriggerTimeoutMinutes */ @jakarta.annotation.Nullable - public Integer getRetriggerTimeoutMinutes() { + public RetriggerTimeoutMinutesEnum getRetriggerTimeoutMinutes() { return retriggerTimeoutMinutes; } - public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable Integer retriggerTimeoutMinutes) { + public void setRetriggerTimeoutMinutes(@jakarta.annotation.Nullable RetriggerTimeoutMinutesEnum retriggerTimeoutMinutes) { this.retriggerTimeoutMinutes = retriggerTimeoutMinutes; } @@ -1254,6 +1399,52 @@ public void setRules(@jakarta.annotation.Nullable List notificationTypeRules) { + this.notificationTypeRules = notificationTypeRules; + return this; + } + + public UpdateEscalationPolicyPathDataAttributes addNotificationTypeRulesItem(NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner notificationTypeRulesItem) { + if (this.notificationTypeRules == null) { + this.notificationTypeRules = new ArrayList<>(); + } + this.notificationTypeRules.add(notificationTypeRulesItem); + return this; + } + + /** + * Rules deciding whether an alert pages audible or quiet, evaluated in order — the first matching rule's notification_type wins, otherwise notification_type_fallback applies. When present, the path's notification_type is aligned to notification_type_fallback. Only available when notification type conditions are enabled for the team. + * @return notificationTypeRules + */ + @jakarta.annotation.Nullable + public List getNotificationTypeRules() { + return notificationTypeRules; + } + + public void setNotificationTypeRules(@jakarta.annotation.Nullable List notificationTypeRules) { + this.notificationTypeRules = notificationTypeRules; + } + + + public UpdateEscalationPolicyPathDataAttributes notificationTypeFallback(@jakarta.annotation.Nullable NotificationTypeFallbackEnum notificationTypeFallback) { + this.notificationTypeFallback = notificationTypeFallback; + return this; + } + + /** + * Paged when no notification type rule matches. Considered only when notification_type_rules are present — the path's notification_type is aligned to it; without rules it is aligned to notification_type instead. Only available when notification type conditions are enabled for the team. + * @return notificationTypeFallback + */ + @jakarta.annotation.Nullable + public NotificationTypeFallbackEnum getNotificationTypeFallback() { + return notificationTypeFallback; + } + + public void setNotificationTypeFallback(@jakarta.annotation.Nullable NotificationTypeFallbackEnum notificationTypeFallback) { + this.notificationTypeFallback = notificationTypeFallback; + } + + public UpdateEscalationPolicyPathDataAttributes timeRestrictionTimeZone(@jakarta.annotation.Nullable TimeRestrictionTimeZoneEnum timeRestrictionTimeZone) { this.timeRestrictionTimeZone = timeRestrictionTimeZone; return this; @@ -1323,6 +1514,8 @@ public boolean equals(Object o) { Objects.equals(this.initialDelay, updateEscalationPolicyPathDataAttributes.initialDelay) && Objects.equals(this.retriggerTimeoutMinutes, updateEscalationPolicyPathDataAttributes.retriggerTimeoutMinutes) && Objects.equals(this.rules, updateEscalationPolicyPathDataAttributes.rules) && + Objects.equals(this.notificationTypeRules, updateEscalationPolicyPathDataAttributes.notificationTypeRules) && + Objects.equals(this.notificationTypeFallback, updateEscalationPolicyPathDataAttributes.notificationTypeFallback) && Objects.equals(this.timeRestrictionTimeZone, updateEscalationPolicyPathDataAttributes.timeRestrictionTimeZone) && Objects.equals(this.timeRestrictions, updateEscalationPolicyPathDataAttributes.timeRestrictions); } @@ -1333,7 +1526,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, notificationType, pathType, afterDeferralBehavior, afterDeferralPathId, _default, matchMode, position, repeat, repeatCount, initialDelay, retriggerTimeoutMinutes, rules, timeRestrictionTimeZone, timeRestrictions); + return Objects.hash(name, notificationType, pathType, afterDeferralBehavior, afterDeferralPathId, _default, matchMode, position, repeat, repeatCount, initialDelay, retriggerTimeoutMinutes, rules, notificationTypeRules, notificationTypeFallback, timeRestrictionTimeZone, timeRestrictions); } private static int hashCodeNullable(JsonNullable a) { @@ -1360,6 +1553,8 @@ public String toString() { sb.append(" initialDelay: ").append(toIndentedString(initialDelay)).append("\n"); sb.append(" retriggerTimeoutMinutes: ").append(toIndentedString(retriggerTimeoutMinutes)).append("\n"); sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" notificationTypeRules: ").append(toIndentedString(notificationTypeRules)).append("\n"); + sb.append(" notificationTypeFallback: ").append(toIndentedString(notificationTypeFallback)).append("\n"); sb.append(" timeRestrictionTimeZone: ").append(toIndentedString(timeRestrictionTimeZone)).append("\n"); sb.append(" timeRestrictions: ").append(toIndentedString(timeRestrictions)).append("\n"); sb.append("}"); @@ -1397,6 +1592,8 @@ private String toIndentedString(Object o) { openapiFields.add("initial_delay"); openapiFields.add("retrigger_timeout_minutes"); openapiFields.add("rules"); + openapiFields.add("notification_type_rules"); + openapiFields.add("notification_type_fallback"); openapiFields.add("time_restriction_time_zone"); openapiFields.add("time_restrictions"); @@ -1459,6 +1656,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("match_mode") != null && !jsonObj.get("match_mode").isJsonNull()) { MatchModeEnum.validateJsonElement(jsonObj.get("match_mode")); } + // validate the optional field `retrigger_timeout_minutes` + if (jsonObj.get("retrigger_timeout_minutes") != null && !jsonObj.get("retrigger_timeout_minutes").isJsonNull()) { + RetriggerTimeoutMinutesEnum.validateJsonElement(jsonObj.get("retrigger_timeout_minutes")); + } if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) { JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules"); if (jsonArrayrules != null) { @@ -1473,6 +1674,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if (jsonObj.get("notification_type_rules") != null && !jsonObj.get("notification_type_rules").isJsonNull()) { + JsonArray jsonArraynotificationTypeRules = jsonObj.getAsJsonArray("notification_type_rules"); + if (jsonArraynotificationTypeRules != null) { + // ensure the json data is an array + if (!jsonObj.get("notification_type_rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type_rules` to be an array in the JSON string but got `%s`", jsonObj.get("notification_type_rules").toString())); + } + + // validate the optional field `notification_type_rules` (array) + for (int i = 0; i < jsonArraynotificationTypeRules.size(); i++) { + NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner.validateJsonElement(jsonArraynotificationTypeRules.get(i)); + }; + } + } + if ((jsonObj.get("notification_type_fallback") != null && !jsonObj.get("notification_type_fallback").isJsonNull()) && !jsonObj.get("notification_type_fallback").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_type_fallback` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notification_type_fallback").toString())); + } + // validate the optional field `notification_type_fallback` + if (jsonObj.get("notification_type_fallback") != null && !jsonObj.get("notification_type_fallback").isJsonNull()) { + NotificationTypeFallbackEnum.validateJsonElement(jsonObj.get("notification_type_fallback")); + } if ((jsonObj.get("time_restriction_time_zone") != null && !jsonObj.get("time_restriction_time_zone").isJsonNull()) && !jsonObj.get("time_restriction_time_zone").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `time_restriction_time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_restriction_time_zone").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java index 1168c81e..c6fcc618 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java @@ -19,15 +19,15 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf2; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf3; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf4; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf6; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf7; +import com.rootly.client.model.AlertField; +import com.rootly.client.model.AlertSource; +import com.rootly.client.model.AlertUrgency; +import com.rootly.client.model.DeferralWindow; +import com.rootly.client.model.DeferralWindowTimeBlocksInner; +import com.rootly.client.model.JSONPath; +import com.rootly.client.model.RelatedIncidents; +import com.rootly.client.model.Service; +import com.rootly.client.model.WorkingHours; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -69,7 +69,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributesRulesInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(UpdateEscalationPolicyPathDataAttributesRulesInner.class.getName()); @@ -81,14 +81,14 @@ public TypeAdapter create(Gson gson, TypeToken type) { return null; // this class only serializes 'UpdateEscalationPolicyPathDataAttributesRulesInner' and its subtypes } final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf6 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf7 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.class)); + final TypeAdapter adapterAlertUrgency = gson.getDelegateAdapter(this, TypeToken.get(AlertUrgency.class)); + final TypeAdapter adapterWorkingHours = gson.getDelegateAdapter(this, TypeToken.get(WorkingHours.class)); + final TypeAdapter adapterJSONPath = gson.getDelegateAdapter(this, TypeToken.get(JSONPath.class)); + final TypeAdapter adapterAlertField = gson.getDelegateAdapter(this, TypeToken.get(AlertField.class)); + final TypeAdapter adapterService = gson.getDelegateAdapter(this, TypeToken.get(Service.class)); + final TypeAdapter adapterDeferralWindow = gson.getDelegateAdapter(this, TypeToken.get(DeferralWindow.class)); + final TypeAdapter adapterAlertSource = gson.getDelegateAdapter(this, TypeToken.get(AlertSource.class)); + final TypeAdapter adapterRelatedIncidents = gson.getDelegateAdapter(this, TypeToken.get(RelatedIncidents.class)); return (TypeAdapter) new TypeAdapter() { @Override @@ -98,55 +98,55 @@ public void write(JsonWriter out, UpdateEscalationPolicyPathDataAttributesRulesI return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf)value.getActualInstance()); + // check if the actual instance is of the type `AlertUrgency` + if (value.getActualInstance() instanceof AlertUrgency) { + JsonElement element = adapterAlertUrgency.toJsonTree((AlertUrgency)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)value.getActualInstance()); + // check if the actual instance is of the type `WorkingHours` + if (value.getActualInstance() instanceof WorkingHours) { + JsonElement element = adapterWorkingHours.toJsonTree((WorkingHours)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)value.getActualInstance()); + // check if the actual instance is of the type `JSONPath` + if (value.getActualInstance() instanceof JSONPath) { + JsonElement element = adapterJSONPath.toJsonTree((JSONPath)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)value.getActualInstance()); + // check if the actual instance is of the type `AlertField` + if (value.getActualInstance() instanceof AlertField) { + JsonElement element = adapterAlertField.toJsonTree((AlertField)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf4)value.getActualInstance()); + // check if the actual instance is of the type `Service` + if (value.getActualInstance() instanceof Service) { + JsonElement element = adapterService.toJsonTree((Service)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf5)value.getActualInstance()); + // check if the actual instance is of the type `DeferralWindow` + if (value.getActualInstance() instanceof DeferralWindow) { + JsonElement element = adapterDeferralWindow.toJsonTree((DeferralWindow)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf6) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf6.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf6)value.getActualInstance()); + // check if the actual instance is of the type `AlertSource` + if (value.getActualInstance() instanceof AlertSource) { + JsonElement element = adapterAlertSource.toJsonTree((AlertSource)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf7) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf7.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf7)value.getActualInstance()); + // check if the actual instance is of the type `RelatedIncidents` + if (value.getActualInstance() instanceof RelatedIncidents) { + JsonElement element = adapterRelatedIncidents.toJsonTree((RelatedIncidents)value.getActualInstance()); elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7"); + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours"); } @Override @@ -158,101 +158,101 @@ public UpdateEscalationPolicyPathDataAttributesRulesInner read(JsonReader in) th ArrayList errorMessages = new ArrayList<>(); TypeAdapter actualAdapter = elementAdapter; - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf + // deserialize AlertUrgency try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf; + AlertUrgency.validateJsonElement(jsonElement); + actualAdapter = adapterAlertUrgency; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'"); + log.log(Level.FINER, "Input data matches schema 'AlertUrgency'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'", e); + errorMessages.add(String.format("Deserialization for AlertUrgency failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AlertUrgency'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + // deserialize WorkingHours try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1; + WorkingHours.validateJsonElement(jsonElement); + actualAdapter = adapterWorkingHours; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1'"); + log.log(Level.FINER, "Input data matches schema 'WorkingHours'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1'", e); + errorMessages.add(String.format("Deserialization for WorkingHours failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'WorkingHours'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + // deserialize JSONPath try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2; + JSONPath.validateJsonElement(jsonElement); + actualAdapter = adapterJSONPath; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'"); + log.log(Level.FINER, "Input data matches schema 'JSONPath'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'", e); + errorMessages.add(String.format("Deserialization for JSONPath failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'JSONPath'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + // deserialize AlertField try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3; + AlertField.validateJsonElement(jsonElement); + actualAdapter = adapterAlertField; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3'"); + log.log(Level.FINER, "Input data matches schema 'AlertField'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3'", e); + errorMessages.add(String.format("Deserialization for AlertField failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AlertField'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + // deserialize Service try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4; + Service.validateJsonElement(jsonElement); + actualAdapter = adapterService; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4'"); + log.log(Level.FINER, "Input data matches schema 'Service'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4'", e); + errorMessages.add(String.format("Deserialization for Service failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'Service'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + // deserialize DeferralWindow try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5; + DeferralWindow.validateJsonElement(jsonElement); + actualAdapter = adapterDeferralWindow; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5'"); + log.log(Level.FINER, "Input data matches schema 'DeferralWindow'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5'", e); + errorMessages.add(String.format("Deserialization for DeferralWindow failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'DeferralWindow'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + // deserialize AlertSource try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf6; + AlertSource.validateJsonElement(jsonElement); + actualAdapter = adapterAlertSource; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf6'"); + log.log(Level.FINER, "Input data matches schema 'AlertSource'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf6'", e); + errorMessages.add(String.format("Deserialization for AlertSource failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AlertSource'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + // deserialize RelatedIncidents try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf7; + RelatedIncidents.validateJsonElement(jsonElement); + actualAdapter = adapterRelatedIncidents; match++; - log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf7'"); + log.log(Level.FINER, "Input data matches schema 'RelatedIncidents'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf7'", e); + errorMessages.add(String.format("Deserialization for RelatedIncidents failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'RelatedIncidents'", e); } if (match == 1) { @@ -280,14 +280,14 @@ public UpdateEscalationPolicyPathDataAttributesRulesInner(Object o) { } static { - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf", NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf1", NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf2", NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf3", NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf4", NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf5", NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf6", NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerOneOf7", NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.class); + schemas.put("AlertUrgency", AlertUrgency.class); + schemas.put("WorkingHours", WorkingHours.class); + schemas.put("JSONPath", JSONPath.class); + schemas.put("AlertField", AlertField.class); + schemas.put("Service", Service.class); + schemas.put("DeferralWindow", DeferralWindow.class); + schemas.put("AlertSource", AlertSource.class); + schemas.put("RelatedIncidents", RelatedIncidents.class); } @Override @@ -298,7 +298,7 @@ public Map> getSchemas() { /** * Set the instance that matches the oneOf child schema, check * the instance parameter is valid against the oneOf child schemas: - * NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + * AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours * * It could be an instance of the 'oneOf' schemas. */ @@ -309,54 +309,54 @@ public void setActualInstance(Object instance) { return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { + if (instance instanceof AlertUrgency) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { + if (instance instanceof WorkingHours) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { + if (instance instanceof JSONPath) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { + if (instance instanceof AlertField) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) { + if (instance instanceof Service) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) { + if (instance instanceof DeferralWindow) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf6) { + if (instance instanceof AlertSource) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf7) { + if (instance instanceof RelatedIncidents) { super.setActualInstance(instance); return; } - throw new RuntimeException("Invalid instance type. Must be NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7"); + throw new RuntimeException("Invalid instance type. Must be AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours"); } /** * Get the actual instance, which can be the following: - * NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + * AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours * - * @return The actual instance (NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7) + * @return The actual instance (AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours) */ @SuppressWarnings("unchecked") @Override @@ -365,91 +365,91 @@ public Object getActualInstance() { } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`, + * Get the actual instance of `AlertUrgency`. If the actual instance is not `AlertUrgency`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` + * @return The actual instance of `AlertUrgency` + * @throws ClassCastException if the instance is not `AlertUrgency` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf getNewEscalationPolicyPathDataAttributesRulesInnerOneOf() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf)super.getActualInstance(); + public AlertUrgency getAlertUrgency() throws ClassCastException { + return (AlertUrgency)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`, + * Get the actual instance of `WorkingHours`. If the actual instance is not `WorkingHours`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` + * @return The actual instance of `WorkingHours` + * @throws ClassCastException if the instance is not `WorkingHours` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf1() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)super.getActualInstance(); + public WorkingHours getWorkingHours() throws ClassCastException { + return (WorkingHours)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`, + * Get the actual instance of `JSONPath`. If the actual instance is not `JSONPath`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` + * @return The actual instance of `JSONPath` + * @throws ClassCastException if the instance is not `JSONPath` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf2() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)super.getActualInstance(); + public JSONPath getJSONPath() throws ClassCastException { + return (JSONPath)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`, + * Get the actual instance of `AlertField`. If the actual instance is not `AlertField`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + * @return The actual instance of `AlertField` + * @throws ClassCastException if the instance is not `AlertField` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf3() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)super.getActualInstance(); + public AlertField getAlertField() throws ClassCastException { + return (AlertField)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`, + * Get the actual instance of `Service`. If the actual instance is not `Service`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` + * @return The actual instance of `Service` + * @throws ClassCastException if the instance is not `Service` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf4() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf4)super.getActualInstance(); + public Service getService() throws ClassCastException { + return (Service)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`, + * Get the actual instance of `DeferralWindow`. If the actual instance is not `DeferralWindow`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` + * @return The actual instance of `DeferralWindow` + * @throws ClassCastException if the instance is not `DeferralWindow` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf5() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf5)super.getActualInstance(); + public DeferralWindow getDeferralWindow() throws ClassCastException { + return (DeferralWindow)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6`, + * Get the actual instance of `AlertSource`. If the actual instance is not `AlertSource`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf6` + * @return The actual instance of `AlertSource` + * @throws ClassCastException if the instance is not `AlertSource` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf6() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf6)super.getActualInstance(); + public AlertSource getAlertSource() throws ClassCastException { + return (AlertSource)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7`, + * Get the actual instance of `RelatedIncidents`. If the actual instance is not `RelatedIncidents`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf7` + * @return The actual instance of `RelatedIncidents` + * @throws ClassCastException if the instance is not `RelatedIncidents` */ - public NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf7() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf7)super.getActualInstance(); + public RelatedIncidents getRelatedIncidents() throws ClassCastException { + return (RelatedIncidents)super.getActualInstance(); } /** @@ -462,72 +462,72 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate oneOf schemas one by one int validCount = 0; ArrayList errorMessages = new ArrayList<>(); - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf + // validate the json string with AlertUrgency try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); + AlertUrgency.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for AlertUrgency failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + // validate the json string with WorkingHours try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); + WorkingHours.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for WorkingHours failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + // validate the json string with JSONPath try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); + JSONPath.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for JSONPath failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + // validate the json string with AlertField try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); + AlertField.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for AlertField failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + // validate the json string with Service try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); + Service.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for Service failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + // validate the json string with DeferralWindow try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); + DeferralWindow.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for DeferralWindow failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + // validate the json string with AlertSource try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf6.validateJsonElement(jsonElement); + AlertSource.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for AlertSource failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + // validate the json string with RelatedIncidents try { - NewEscalationPolicyPathDataAttributesRulesInnerOneOf7.validateJsonElement(jsonElement); + RelatedIncidents.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for RelatedIncidents failed with `%s`.", e.getMessage())); // continue to the next one } if (validCount != 1) { - throw new IOException(String.format("The JSON string is invalid for UpdateEscalationPolicyPathDataAttributesRulesInner with oneOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5, NewEscalationPolicyPathDataAttributesRulesInnerOneOf6, NewEscalationPolicyPathDataAttributesRulesInnerOneOf7. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); + throw new IOException(String.format("The JSON string is invalid for UpdateEscalationPolicyPathDataAttributesRulesInner with oneOf schemas: AlertField, AlertSource, AlertUrgency, DeferralWindow, JSONPath, RelatedIncidents, Service, WorkingHours. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); } } diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java index 70ef7089..48e56206 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java @@ -48,7 +48,7 @@ /** * UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner { /** * Gets or Sets startDay diff --git a/src/main/java/com/rootly/client/model/UpdateFormField.java b/src/main/java/com/rootly/client/model/UpdateFormField.java index d8249b71..48fd1dbe 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormField.java +++ b/src/main/java/com/rootly/client/model/UpdateFormField.java @@ -49,7 +49,7 @@ /** * UpdateFormField */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormField { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldData.java b/src/main/java/com/rootly/client/model/UpdateFormFieldData.java index a0e05590..5356fe18 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldData.java @@ -49,8 +49,13 @@ /** * UpdateFormFieldData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormFieldData() { } + public UpdateFormFieldData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormFieldData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormFieldData updateFormFieldData = (UpdateFormFieldData) o; - return Objects.equals(this.type, updateFormFieldData.type) && + return Objects.equals(this.id, updateFormFieldData.id) && + Objects.equals(this.type, updateFormFieldData.type) && Objects.equals(this.attributes, updateFormFieldData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormFieldData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java index 1e1b3142..11c767e4 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateFormFieldDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -74,6 +74,8 @@ public enum KindEnum { RESOLUTION_MESSAGE("resolution_message"), + CANCELLATION_MESSAGE("cancellation_message"), + SEVERITY("severity"), ENVIRONMENTS("environments"), diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java index 489ae075..8089c43b 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldOption */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldOption { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java index dfb26fc6..691b1eca 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java @@ -49,8 +49,13 @@ /** * UpdateFormFieldOptionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldOptionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormFieldOptionData() { } + public UpdateFormFieldOptionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormFieldOptionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormFieldOptionData updateFormFieldOptionData = (UpdateFormFieldOptionData) o; - return Objects.equals(this.type, updateFormFieldOptionData.type) && + return Objects.equals(this.id, updateFormFieldOptionData.id) && + Objects.equals(this.type, updateFormFieldOptionData.type) && Objects.equals(this.attributes, updateFormFieldOptionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormFieldOptionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java index 56a81634..972b0722 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateFormFieldOptionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldOptionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java index 1fc7e8c1..95d7648e 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacement */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacement { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementCondition.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementCondition.java index f07b2363..3d1b6943 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementCondition.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacementCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java index 382e2404..bee24648 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java @@ -49,8 +49,13 @@ /** * UpdateFormFieldPlacementConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementConditionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormFieldPlacementConditionData() { } + public UpdateFormFieldPlacementConditionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormFieldPlacementConditionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormFieldPlacementConditionData updateFormFieldPlacementConditionData = (UpdateFormFieldPlacementConditionData) o; - return Objects.equals(this.type, updateFormFieldPlacementConditionData.type) && + return Objects.equals(this.id, updateFormFieldPlacementConditionData.id) && + Objects.equals(this.type, updateFormFieldPlacementConditionData.type) && Objects.equals(this.attributes, updateFormFieldPlacementConditionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormFieldPlacementConditionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java index 55359665..ddd98b76 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateFormFieldPlacementConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementConditionDataAttributes { /** * The resource or attribute the condition applies. diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java index 6ed9feed..1aa109b0 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java @@ -49,8 +49,13 @@ /** * UpdateFormFieldPlacementData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormFieldPlacementData() { } + public UpdateFormFieldPlacementData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormFieldPlacementData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormFieldPlacementData updateFormFieldPlacementData = (UpdateFormFieldPlacementData) o; - return Objects.equals(this.type, updateFormFieldPlacementData.type) && + return Objects.equals(this.id, updateFormFieldPlacementData.id) && + Objects.equals(this.type, updateFormFieldPlacementData.type) && Objects.equals(this.attributes, updateFormFieldPlacementData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormFieldPlacementData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java index 19f17ba5..12adfd5c 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateFormFieldPlacementDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementDataAttributes { public static final String SERIALIZED_NAME_FORM_SET_ID = "form_set_id"; @SerializedName(SERIALIZED_NAME_FORM_SET_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java index 1be967e8..b7642144 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldPosition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPosition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java index 5b112774..d850ee2e 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java @@ -49,8 +49,13 @@ /** * UpdateFormFieldPositionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPositionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormFieldPositionData() { } + public UpdateFormFieldPositionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormFieldPositionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormFieldPositionData updateFormFieldPositionData = (UpdateFormFieldPositionData) o; - return Objects.equals(this.type, updateFormFieldPositionData.type) && + return Objects.equals(this.id, updateFormFieldPositionData.id) && + Objects.equals(this.type, updateFormFieldPositionData.type) && Objects.equals(this.attributes, updateFormFieldPositionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormFieldPositionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java index da543f6d..9375f943 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateFormFieldPositionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPositionDataAttributes { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateFormSet.java b/src/main/java/com/rootly/client/model/UpdateFormSet.java index 39f250aa..f6f725d0 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSet.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSet.java @@ -49,7 +49,7 @@ /** * UpdateFormSet */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSet { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetCondition.java b/src/main/java/com/rootly/client/model/UpdateFormSetCondition.java index 0666b24f..b4b947cf 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetCondition.java @@ -49,7 +49,7 @@ /** * UpdateFormSetCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java b/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java index 8ab0250a..be0ad38a 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java @@ -49,8 +49,13 @@ /** * UpdateFormSetConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetConditionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormSetConditionData() { } + public UpdateFormSetConditionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormSetConditionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormSetConditionData updateFormSetConditionData = (UpdateFormSetConditionData) o; - return Objects.equals(this.type, updateFormSetConditionData.type) && + return Objects.equals(this.id, updateFormSetConditionData.id) && + Objects.equals(this.type, updateFormSetConditionData.type) && Objects.equals(this.attributes, updateFormSetConditionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormSetConditionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java index 95517280..f4e3fe1a 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateFormSetConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetConditionDataAttributes { public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetData.java b/src/main/java/com/rootly/client/model/UpdateFormSetData.java index f9f8dc51..94f4dccc 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetData.java @@ -49,8 +49,13 @@ /** * UpdateFormSetData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFormSetData() { } + public UpdateFormSetData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFormSetData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFormSetData updateFormSetData = (UpdateFormSetData) o; - return Objects.equals(this.type, updateFormSetData.type) && + return Objects.equals(this.id, updateFormSetData.id) && + Objects.equals(this.type, updateFormSetData.type) && Objects.equals(this.attributes, updateFormSetData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFormSetData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java index 268519e2..e73c495a 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateFormSetDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionality.java b/src/main/java/com/rootly/client/model/UpdateFunctionality.java index c86b9e5e..e6b680d8 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionality.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionality.java @@ -49,7 +49,7 @@ /** * UpdateFunctionality */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionality { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java b/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java index b9c13cbe..c9df594c 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java @@ -49,8 +49,13 @@ /** * UpdateFunctionalityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionalityData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateFunctionalityData() { } + public UpdateFunctionalityData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateFunctionalityData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateFunctionalityData updateFunctionalityData = (UpdateFunctionalityData) o; - return Objects.equals(this.type, updateFunctionalityData.type) && + return Objects.equals(this.id, updateFunctionalityData.id) && + Objects.equals(this.type, updateFunctionalityData.type) && Objects.equals(this.attributes, updateFunctionalityData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateFunctionalityData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java index 18c0117b..ff74c6fd 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdateFunctionalityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionalityDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java index f5e5df1f..e682c465 100644 --- a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java @@ -54,7 +54,7 @@ /** * UpdateGithubIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGithubIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java index 61873441..ff6008c7 100644 --- a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java +++ b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java @@ -48,7 +48,7 @@ /** * The repository (used for loading labels and issue types) */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGithubIssueTaskParamsRepository { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java index a03a9242..5bd1ffaa 100644 --- a/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateGitlabIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGitlabIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java index 697eca12..9ff39a77 100644 --- a/src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java @@ -52,7 +52,7 @@ /** * UpdateGoogleCalendarEventTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGoogleCalendarEventTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateGoogleChatSpaceDescriptionTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGoogleChatSpaceDescriptionTaskParams.java index 36796268..c92ee22c 100644 --- a/src/main/java/com/rootly/client/model/UpdateGoogleChatSpaceDescriptionTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGoogleChatSpaceDescriptionTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateGoogleChatSpaceDescriptionTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGoogleChatSpaceDescriptionTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java index 603b1d7f..a456476a 100644 --- a/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateGoogleDocsPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGoogleDocsPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateHeartbeat.java b/src/main/java/com/rootly/client/model/UpdateHeartbeat.java index 344c5bf2..d9bb127a 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeat.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeat.java @@ -49,7 +49,7 @@ /** * UpdateHeartbeat */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateHeartbeat { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java b/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java index 01fa12fd..66215a98 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java @@ -49,8 +49,13 @@ /** * UpdateHeartbeatData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateHeartbeatData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateHeartbeatData() { } + public UpdateHeartbeatData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateHeartbeatData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateHeartbeatData updateHeartbeatData = (UpdateHeartbeatData) o; - return Objects.equals(this.type, updateHeartbeatData.type) && + return Objects.equals(this.id, updateHeartbeatData.id) && + Objects.equals(this.type, updateHeartbeatData.type) && Objects.equals(this.attributes, updateHeartbeatData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateHeartbeatData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java index c1942d58..19bac91e 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateHeartbeatDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateHeartbeatDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateIncident.java b/src/main/java/com/rootly/client/model/UpdateIncident.java index 30ddd2b1..e6400ea8 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncident.java +++ b/src/main/java/com/rootly/client/model/UpdateIncident.java @@ -49,7 +49,7 @@ /** * UpdateIncident */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncident { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentActionItem.java b/src/main/java/com/rootly/client/model/UpdateIncidentActionItem.java index b28ca030..54951461 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItem.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItem.java @@ -49,7 +49,7 @@ /** * UpdateIncidentActionItem */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentActionItem { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java index a305bcd8..6802a447 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentActionItemData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentActionItemData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentActionItemData() { } + public UpdateIncidentActionItemData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentActionItemData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentActionItemData updateIncidentActionItemData = (UpdateIncidentActionItemData) o; - return Objects.equals(this.type, updateIncidentActionItemData.type) && + return Objects.equals(this.id, updateIncidentActionItemData.id) && + Objects.equals(this.type, updateIncidentActionItemData.type) && Objects.equals(this.attributes, updateIncidentActionItemData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentActionItemData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java index 9810f175..e237d92d 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateIncidentActionItemDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentActionItemDataAttributes { public static final String SERIALIZED_NAME_SUMMARY = "summary"; @SerializedName(SERIALIZED_NAME_SUMMARY) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java index b76feb1b..e9e93e9b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java @@ -49,7 +49,7 @@ /** * UpdateIncidentCustomFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentCustomFieldSelection { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java index f1ed656b..42dc3655 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentCustomFieldSelectionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentCustomFieldSelectionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentCustomFieldSelectionData() { } + public UpdateIncidentCustomFieldSelectionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentCustomFieldSelectionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentCustomFieldSelectionData updateIncidentCustomFieldSelectionData = (UpdateIncidentCustomFieldSelectionData) o; - return Objects.equals(this.type, updateIncidentCustomFieldSelectionData.type) && + return Objects.equals(this.id, updateIncidentCustomFieldSelectionData.id) && + Objects.equals(this.type, updateIncidentCustomFieldSelectionData.type) && Objects.equals(this.attributes, updateIncidentCustomFieldSelectionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentCustomFieldSelectionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java index aa76860a..db2fc1a1 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateIncidentCustomFieldSelectionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentCustomFieldSelectionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentData.java b/src/main/java/com/rootly/client/model/UpdateIncidentData.java index bda58a8c..503664ee 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentData() { } + public UpdateIncidentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentData updateIncidentData = (UpdateIncidentData) o; - return Objects.equals(this.type, updateIncidentData.type) && + return Objects.equals(this.id, updateIncidentData.id) && + Objects.equals(this.type, updateIncidentData.type) && Objects.equals(this.attributes, updateIncidentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java index bde69c43..fa0aa6d7 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateIncidentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -324,6 +324,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String jiraIssueUrl; + public static final String SERIALIZED_NAME_LINEAR_ISSUE_KEY = "linear_issue_key"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_KEY) + @jakarta.annotation.Nullable + private String linearIssueKey; + + public static final String SERIALIZED_NAME_LINEAR_ISSUE_ID = "linear_issue_id"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_ID) + @jakarta.annotation.Nullable + private String linearIssueId; + + public static final String SERIALIZED_NAME_LINEAR_ISSUE_URL = "linear_issue_url"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_URL) + @jakarta.annotation.Nullable + private String linearIssueUrl; + public static final String SERIALIZED_NAME_SCHEDULED_FOR = "scheduled_for"; @SerializedName(SERIALIZED_NAME_SCHEDULED_FOR) @jakarta.annotation.Nullable @@ -969,6 +984,63 @@ public void setJiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { } + public UpdateIncidentDataAttributes linearIssueKey(@jakarta.annotation.Nullable String linearIssueKey) { + this.linearIssueKey = linearIssueKey; + return this; + } + + /** + * Linear issue key + * @return linearIssueKey + */ + @jakarta.annotation.Nullable + public String getLinearIssueKey() { + return linearIssueKey; + } + + public void setLinearIssueKey(@jakarta.annotation.Nullable String linearIssueKey) { + this.linearIssueKey = linearIssueKey; + } + + + public UpdateIncidentDataAttributes linearIssueId(@jakarta.annotation.Nullable String linearIssueId) { + this.linearIssueId = linearIssueId; + return this; + } + + /** + * Linear issue ID + * @return linearIssueId + */ + @jakarta.annotation.Nullable + public String getLinearIssueId() { + return linearIssueId; + } + + public void setLinearIssueId(@jakarta.annotation.Nullable String linearIssueId) { + this.linearIssueId = linearIssueId; + } + + + public UpdateIncidentDataAttributes linearIssueUrl(@jakarta.annotation.Nullable String linearIssueUrl) { + this.linearIssueUrl = linearIssueUrl; + return this; + } + + /** + * Linear issue URL + * @return linearIssueUrl + */ + @jakarta.annotation.Nullable + public String getLinearIssueUrl() { + return linearIssueUrl; + } + + public void setLinearIssueUrl(@jakarta.annotation.Nullable String linearIssueUrl) { + this.linearIssueUrl = linearIssueUrl; + } + + public UpdateIncidentDataAttributes scheduledFor(@jakarta.annotation.Nullable String scheduledFor) { this.scheduledFor = scheduledFor; return this; @@ -1253,6 +1325,9 @@ public boolean equals(Object o) { Objects.equals(this.jiraIssueKey, updateIncidentDataAttributes.jiraIssueKey) && Objects.equals(this.jiraIssueId, updateIncidentDataAttributes.jiraIssueId) && Objects.equals(this.jiraIssueUrl, updateIncidentDataAttributes.jiraIssueUrl) && + Objects.equals(this.linearIssueKey, updateIncidentDataAttributes.linearIssueKey) && + Objects.equals(this.linearIssueId, updateIncidentDataAttributes.linearIssueId) && + Objects.equals(this.linearIssueUrl, updateIncidentDataAttributes.linearIssueUrl) && Objects.equals(this.scheduledFor, updateIncidentDataAttributes.scheduledFor) && Objects.equals(this.scheduledUntil, updateIncidentDataAttributes.scheduledUntil) && Objects.equals(this.inTriageAt, updateIncidentDataAttributes.inTriageAt) && @@ -1274,7 +1349,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, kind, parentIncidentId, duplicateIncidentId, summary, status, _private, severityId, publicTitle, alertIds, environmentIds, incidentTypeIds, serviceIds, functionalityIds, mutedServiceIds, groupIds, causeIds, labels, slackChannelId, slackChannelName, slackChannelUrl, slackChannelArchived, googleDriveParentId, googleDriveUrl, jiraIssueKey, jiraIssueId, jiraIssueUrl, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt, mitigationMessage, resolutionMessage, cancellationMessage); + return Objects.hash(title, kind, parentIncidentId, duplicateIncidentId, summary, status, _private, severityId, publicTitle, alertIds, environmentIds, incidentTypeIds, serviceIds, functionalityIds, mutedServiceIds, groupIds, causeIds, labels, slackChannelId, slackChannelName, slackChannelUrl, slackChannelArchived, googleDriveParentId, googleDriveUrl, jiraIssueKey, jiraIssueId, jiraIssueUrl, linearIssueKey, linearIssueId, linearIssueUrl, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt, mitigationMessage, resolutionMessage, cancellationMessage); } private static int hashCodeNullable(JsonNullable a) { @@ -1315,6 +1390,9 @@ public String toString() { sb.append(" jiraIssueKey: ").append(toIndentedString(jiraIssueKey)).append("\n"); sb.append(" jiraIssueId: ").append(toIndentedString(jiraIssueId)).append("\n"); sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); + sb.append(" linearIssueKey: ").append(toIndentedString(linearIssueKey)).append("\n"); + sb.append(" linearIssueId: ").append(toIndentedString(linearIssueId)).append("\n"); + sb.append(" linearIssueUrl: ").append(toIndentedString(linearIssueUrl)).append("\n"); sb.append(" scheduledFor: ").append(toIndentedString(scheduledFor)).append("\n"); sb.append(" scheduledUntil: ").append(toIndentedString(scheduledUntil)).append("\n"); sb.append(" inTriageAt: ").append(toIndentedString(inTriageAt)).append("\n"); @@ -1377,6 +1455,9 @@ private String toIndentedString(Object o) { openapiFields.add("jira_issue_key"); openapiFields.add("jira_issue_id"); openapiFields.add("jira_issue_url"); + openapiFields.add("linear_issue_key"); + openapiFields.add("linear_issue_id"); + openapiFields.add("linear_issue_url"); openapiFields.add("scheduled_for"); openapiFields.add("scheduled_until"); openapiFields.add("in_triage_at"); @@ -1504,6 +1585,15 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("jira_issue_url") != null && !jsonObj.get("jira_issue_url").isJsonNull()) && !jsonObj.get("jira_issue_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `jira_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_url").toString())); } + if ((jsonObj.get("linear_issue_key") != null && !jsonObj.get("linear_issue_key").isJsonNull()) && !jsonObj.get("linear_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_key").toString())); + } + if ((jsonObj.get("linear_issue_id") != null && !jsonObj.get("linear_issue_id").isJsonNull()) && !jsonObj.get("linear_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_id").toString())); + } + if ((jsonObj.get("linear_issue_url") != null && !jsonObj.get("linear_issue_url").isJsonNull()) && !jsonObj.get("linear_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `linear_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("linear_issue_url").toString())); + } if ((jsonObj.get("scheduled_for") != null && !jsonObj.get("scheduled_for").isJsonNull()) && !jsonObj.get("scheduled_for").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `scheduled_for` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scheduled_for").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java b/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java index bebd347b..79a21c0a 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java @@ -49,7 +49,7 @@ /** * UpdateIncidentEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEvent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java index feec715c..61d6ac31 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentEventData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentEventData() { } + public UpdateIncidentEventData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentEventData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentEventData updateIncidentEventData = (UpdateIncidentEventData) o; - return Objects.equals(this.type, updateIncidentEventData.type) && + return Objects.equals(this.id, updateIncidentEventData.id) && + Objects.equals(this.type, updateIncidentEventData.type) && Objects.equals(this.attributes, updateIncidentEventData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentEventData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java index f69caec4..4732d398 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateIncidentEventDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionality.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionality.java index 90513f02..6009529a 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionality.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionality.java @@ -49,7 +49,7 @@ /** * UpdateIncidentEventFunctionality */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventFunctionality { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java index b1580c8d..dfd2251f 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentEventFunctionalityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventFunctionalityData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentEventFunctionalityData() { } + public UpdateIncidentEventFunctionalityData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentEventFunctionalityData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentEventFunctionalityData updateIncidentEventFunctionalityData = (UpdateIncidentEventFunctionalityData) o; - return Objects.equals(this.type, updateIncidentEventFunctionalityData.type) && + return Objects.equals(this.id, updateIncidentEventFunctionalityData.id) && + Objects.equals(this.type, updateIncidentEventFunctionalityData.type) && Objects.equals(this.attributes, updateIncidentEventFunctionalityData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentEventFunctionalityData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java index 19fd900a..56f567a9 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateIncidentEventFunctionalityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventFunctionalityDataAttributes { /** * The status of the affected functionality diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventService.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventService.java index ca2d4862..c8b34843 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventService.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventService.java @@ -49,7 +49,7 @@ /** * UpdateIncidentEventService */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventService { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java index bf273317..b7917092 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentEventServiceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventServiceData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentEventServiceData() { } + public UpdateIncidentEventServiceData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentEventServiceData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentEventServiceData updateIncidentEventServiceData = (UpdateIncidentEventServiceData) o; - return Objects.equals(this.type, updateIncidentEventServiceData.type) && + return Objects.equals(this.id, updateIncidentEventServiceData.id) && + Objects.equals(this.type, updateIncidentEventServiceData.type) && Objects.equals(this.attributes, updateIncidentEventServiceData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentEventServiceData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java index c1026cc6..8ac128c9 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateIncidentEventServiceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventServiceDataAttributes { /** * The status of the affected service diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFeedback.java b/src/main/java/com/rootly/client/model/UpdateIncidentFeedback.java index 4d8b36bb..8cc1ecbc 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedback.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedback.java @@ -49,7 +49,7 @@ /** * UpdateIncidentFeedback */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFeedback { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java index 3b7b074f..ae12f789 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentFeedbackData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFeedbackData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentFeedbackData() { } + public UpdateIncidentFeedbackData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentFeedbackData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentFeedbackData updateIncidentFeedbackData = (UpdateIncidentFeedbackData) o; - return Objects.equals(this.type, updateIncidentFeedbackData.type) && + return Objects.equals(this.id, updateIncidentFeedbackData.id) && + Objects.equals(this.type, updateIncidentFeedbackData.type) && Objects.equals(this.attributes, updateIncidentFeedbackData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentFeedbackData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java index fb93aca1..0f752639 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateIncidentFeedbackDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFeedbackDataAttributes { public static final String SERIALIZED_NAME_FEEDBACK = "feedback"; @SerializedName(SERIALIZED_NAME_FEEDBACK) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelection.java b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelection.java index 186ae963..f17aa5fa 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelection.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelection.java @@ -49,7 +49,7 @@ /** * UpdateIncidentFormFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFormFieldSelection { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java index c1e34be0..715987af 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentFormFieldSelectionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFormFieldSelectionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentFormFieldSelectionData() { } + public UpdateIncidentFormFieldSelectionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentFormFieldSelectionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentFormFieldSelectionData updateIncidentFormFieldSelectionData = (UpdateIncidentFormFieldSelectionData) o; - return Objects.equals(this.type, updateIncidentFormFieldSelectionData.type) && + return Objects.equals(this.id, updateIncidentFormFieldSelectionData.id) && + Objects.equals(this.type, updateIncidentFormFieldSelectionData.type) && Objects.equals(this.attributes, updateIncidentFormFieldSelectionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentFormFieldSelectionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java index 8eb2a334..7c22149d 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateIncidentFormFieldSelectionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFormFieldSelectionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java index 55ce2f08..8852c331 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSet */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSet { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBoolean.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBoolean.java index e9e202ae..2a52eb40 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBoolean.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBoolean.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetBoolean */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetBoolean { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java index c83e7d43..d3e08191 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentPermissionSetBooleanData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetBooleanData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentPermissionSetBooleanData() { } + public UpdateIncidentPermissionSetBooleanData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentPermissionSetBooleanData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentPermissionSetBooleanData updateIncidentPermissionSetBooleanData = (UpdateIncidentPermissionSetBooleanData) o; - return Objects.equals(this.type, updateIncidentPermissionSetBooleanData.type) && + return Objects.equals(this.id, updateIncidentPermissionSetBooleanData.id) && + Objects.equals(this.type, updateIncidentPermissionSetBooleanData.type) && Objects.equals(this.attributes, updateIncidentPermissionSetBooleanData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentPermissionSetBooleanData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java index cc7c0636..54f43239 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetBooleanDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetBooleanDataAttributes { /** * Gets or Sets kind diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams.java index e8829d06..dd60f3cd 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams.java @@ -51,7 +51,7 @@ /** * UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams { public static final String SERIALIZED_NAME_FULLY_ENABLED = "fully_enabled"; @SerializedName(SERIALIZED_NAME_FULLY_ENABLED) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java index 38dc9e4d..9a007259 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentPermissionSetData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentPermissionSetData() { } + public UpdateIncidentPermissionSetData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentPermissionSetData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentPermissionSetData updateIncidentPermissionSetData = (UpdateIncidentPermissionSetData) o; - return Objects.equals(this.type, updateIncidentPermissionSetData.type) && + return Objects.equals(this.id, updateIncidentPermissionSetData.id) && + Objects.equals(this.type, updateIncidentPermissionSetData.type) && Objects.equals(this.attributes, updateIncidentPermissionSetData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentPermissionSetData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java index 3550a0be..4f7c3fde 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateIncidentPermissionSetDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java index a6df7307..cea4f942 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetResource */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetResource { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java index 0de434be..15e4826c 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentPermissionSetResourceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetResourceData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentPermissionSetResourceData() { } + public UpdateIncidentPermissionSetResourceData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentPermissionSetResourceData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentPermissionSetResourceData updateIncidentPermissionSetResourceData = (UpdateIncidentPermissionSetResourceData) o; - return Objects.equals(this.type, updateIncidentPermissionSetResourceData.type) && + return Objects.equals(this.id, updateIncidentPermissionSetResourceData.id) && + Objects.equals(this.type, updateIncidentPermissionSetResourceData.type) && Objects.equals(this.attributes, updateIncidentPermissionSetResourceData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentPermissionSetResourceData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java index 378377f6..6f189d9b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetResourceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetResourceDataAttributes { /** * Gets or Sets kind diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortem.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortem.java index c81ff6ee..edbeb2b6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortem.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortem.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPostMortem */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortem { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java index b10230d7..852a3509 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentPostMortemData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortemData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentPostMortemData() { } + public UpdateIncidentPostMortemData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentPostMortemData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentPostMortemData updateIncidentPostMortemData = (UpdateIncidentPostMortemData) o; - return Objects.equals(this.type, updateIncidentPostMortemData.type) && + return Objects.equals(this.id, updateIncidentPostMortemData.id) && + Objects.equals(this.type, updateIncidentPostMortemData.type) && Objects.equals(this.attributes, updateIncidentPostMortemData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentPostMortemData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java index 039b6001..f4d73136 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java @@ -51,13 +51,18 @@ /** * UpdateIncidentPostMortemDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortemDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @jakarta.annotation.Nullable private String title; + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @jakarta.annotation.Nullable + private String content; + /** * The status of the incident retrospective */ @@ -207,6 +212,25 @@ public void setTitle(@jakarta.annotation.Nullable String title) { } + public UpdateIncidentPostMortemDataAttributes content(@jakarta.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * The content (body) of the incident retrospective, as HTML. Rejected with a 409 once the retrospective has been opened in the collaborative editor. + * @return content + */ + @jakarta.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@jakarta.annotation.Nullable String content) { + this.content = content; + } + + public UpdateIncidentPostMortemDataAttributes status(@jakarta.annotation.Nullable StatusEnum status) { this.status = status; return this; @@ -511,6 +535,7 @@ public boolean equals(Object o) { } UpdateIncidentPostMortemDataAttributes updateIncidentPostMortemDataAttributes = (UpdateIncidentPostMortemDataAttributes) o; return Objects.equals(this.title, updateIncidentPostMortemDataAttributes.title) && + Objects.equals(this.content, updateIncidentPostMortemDataAttributes.content) && Objects.equals(this.status, updateIncidentPostMortemDataAttributes.status) && Objects.equals(this.startedAt, updateIncidentPostMortemDataAttributes.startedAt) && Objects.equals(this.mitigatedAt, updateIncidentPostMortemDataAttributes.mitigatedAt) && @@ -534,7 +559,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, status, startedAt, mitigatedAt, resolvedAt, showTimeline, showTimelineTrail, showTimelineGenius, showTimelineTasks, showTimelineActionItems, showServicesImpacted, showFunctionalitiesImpacted, showGroupsImpacted, showAlertsAttached, showActionItems, causeIds); + return Objects.hash(title, content, status, startedAt, mitigatedAt, resolvedAt, showTimeline, showTimelineTrail, showTimelineGenius, showTimelineTasks, showTimelineActionItems, showServicesImpacted, showFunctionalitiesImpacted, showGroupsImpacted, showAlertsAttached, showActionItems, causeIds); } private static int hashCodeNullable(JsonNullable a) { @@ -549,6 +574,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentPostMortemDataAttributes {\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); sb.append(" mitigatedAt: ").append(toIndentedString(mitigatedAt)).append("\n"); @@ -587,6 +613,7 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("title"); + openapiFields.add("content"); openapiFields.add("status"); openapiFields.add("started_at"); openapiFields.add("mitigated_at"); @@ -631,6 +658,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("title") != null && !jsonObj.get("title").isJsonNull()) && !jsonObj.get("title").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString())); } + if ((jsonObj.get("content") != null && !jsonObj.get("content").isJsonNull()) && !jsonObj.get("content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content").toString())); + } if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java index 7944eaee..21a27f24 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPostmortemTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostmortemTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStep.java b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStep.java index c10589cb..222e412a 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStep.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRetrospectiveStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRetrospectiveStep { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java index a00b84f2..ef2505d8 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentRetrospectiveStepData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRetrospectiveStepData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentRetrospectiveStepData() { } + public UpdateIncidentRetrospectiveStepData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentRetrospectiveStepData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentRetrospectiveStepData updateIncidentRetrospectiveStepData = (UpdateIncidentRetrospectiveStepData) o; - return Objects.equals(this.type, updateIncidentRetrospectiveStepData.type) && + return Objects.equals(this.id, updateIncidentRetrospectiveStepData.id) && + Objects.equals(this.type, updateIncidentRetrospectiveStepData.type) && Objects.equals(this.attributes, updateIncidentRetrospectiveStepData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentRetrospectiveStepData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java index 8c9f6922..5838a43e 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRetrospectiveStepDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRole.java b/src/main/java/com/rootly/client/model/UpdateIncidentRole.java index 3f636b98..1a7f96b4 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRole.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRole.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRole { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java index 05fb67ba..162c0d9d 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentRoleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentRoleData() { } + public UpdateIncidentRoleData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentRoleData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentRoleData updateIncidentRoleData = (UpdateIncidentRoleData) o; - return Objects.equals(this.type, updateIncidentRoleData.type) && + return Objects.equals(this.id, updateIncidentRoleData.id) && + Objects.equals(this.type, updateIncidentRoleData.type) && Objects.equals(this.attributes, updateIncidentRoleData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentRoleData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java index 13c7a1f2..9f5fe5fb 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java index 76226563..e71a1e4d 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleTask { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java index 0b73dda4..bf1bd6bb 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentRoleTaskData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleTaskData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentRoleTaskData() { } + public UpdateIncidentRoleTaskData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentRoleTaskData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentRoleTaskData updateIncidentRoleTaskData = (UpdateIncidentRoleTaskData) o; - return Objects.equals(this.type, updateIncidentRoleTaskData.type) && + return Objects.equals(this.id, updateIncidentRoleTaskData.id) && + Objects.equals(this.type, updateIncidentRoleTaskData.type) && Objects.equals(this.attributes, updateIncidentRoleTaskData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentRoleTaskData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java index 144795f6..b7a78c88 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleTaskDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleTaskDataAttributes { public static final String SERIALIZED_NAME_TASK = "task"; @SerializedName(SERIALIZED_NAME_TASK) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEvent.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEvent.java index b37cd7af..a05ac2ec 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEvent.java @@ -49,7 +49,7 @@ /** * UpdateIncidentStatusPageEvent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusPageEvent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java index e5acfeff..591f3e15 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentStatusPageEventData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusPageEventData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentStatusPageEventData() { } + public UpdateIncidentStatusPageEventData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentStatusPageEventData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentStatusPageEventData updateIncidentStatusPageEventData = (UpdateIncidentStatusPageEventData) o; - return Objects.equals(this.type, updateIncidentStatusPageEventData.type) && + return Objects.equals(this.id, updateIncidentStatusPageEventData.id) && + Objects.equals(this.type, updateIncidentStatusPageEventData.type) && Objects.equals(this.attributes, updateIncidentStatusPageEventData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentStatusPageEventData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java index 59889d29..b379e151 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateIncidentStatusPageEventDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusPageEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java index aa508d9f..d3c7d66e 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateIncidentStatusTimestampTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusTimestampTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatus.java b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatus.java index 26088f04..fc0271e4 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatus.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatus.java @@ -49,7 +49,7 @@ /** * UpdateIncidentSubStatus */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentSubStatus { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java index 302140a5..fa3ebee7 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentSubStatusData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentSubStatusData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentSubStatusData() { } + public UpdateIncidentSubStatusData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentSubStatusData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentSubStatusData updateIncidentSubStatusData = (UpdateIncidentSubStatusData) o; - return Objects.equals(this.type, updateIncidentSubStatusData.type) && + return Objects.equals(this.id, updateIncidentSubStatusData.id) && + Objects.equals(this.type, updateIncidentSubStatusData.type) && Objects.equals(this.attributes, updateIncidentSubStatusData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentSubStatusData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java index 84a6b2f1..e6e21ff5 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentSubStatusDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentSubStatusDataAttributes { public static final String SERIALIZED_NAME_SUB_STATUS_ID = "sub_status_id"; @SerializedName(SERIALIZED_NAME_SUB_STATUS_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentTaskParams.java index 72e425dc..fe7e22b6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTaskParams.java @@ -51,7 +51,7 @@ /** * UpdateIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentType.java b/src/main/java/com/rootly/client/model/UpdateIncidentType.java index a08775b8..b73bf1d6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentType.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentType.java @@ -49,7 +49,7 @@ /** * UpdateIncidentType */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentType { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java b/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java index ad498339..38361910 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java @@ -49,8 +49,13 @@ /** * UpdateIncidentTypeData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTypeData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateIncidentTypeData() { } + public UpdateIncidentTypeData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateIncidentTypeData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateIncidentTypeData updateIncidentTypeData = (UpdateIncidentTypeData) o; - return Objects.equals(this.type, updateIncidentTypeData.type) && + return Objects.equals(this.id, updateIncidentTypeData.id) && + Objects.equals(this.type, updateIncidentTypeData.type) && Objects.equals(this.attributes, updateIncidentTypeData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentTypeData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java index 41202544..6398ebf7 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdateIncidentTypeDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTypeDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java index 762b257b..ab700bba 100644 --- a/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java @@ -52,7 +52,7 @@ /** * UpdateJiraIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateJiraIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java index 6b4a4a6a..3a8c0532 100644 --- a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java @@ -55,7 +55,7 @@ /** * UpdateLinearIssueTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLinearIssueTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java index c1325449..7806d9bd 100644 --- a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java +++ b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java @@ -48,7 +48,7 @@ /** * The state id and display name */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLinearIssueTaskParamsState { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java index afcaf89b..5e0ba297 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java @@ -49,7 +49,7 @@ /** * UpdateLiveCallRouter */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouter { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java index 54a78bcc..a96feb82 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java @@ -49,8 +49,13 @@ /** * UpdateLiveCallRouterData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateLiveCallRouterData() { } + public UpdateLiveCallRouterData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateLiveCallRouterData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateLiveCallRouterData updateLiveCallRouterData = (UpdateLiveCallRouterData) o; - return Objects.equals(this.type, updateLiveCallRouterData.type) && + return Objects.equals(this.id, updateLiveCallRouterData.id) && + Objects.equals(this.type, updateLiveCallRouterData.type) && Objects.equals(this.attributes, updateLiveCallRouterData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateLiveCallRouterData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java index 1287c9cc..53b281c4 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateLiveCallRouterDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterDataAttributes { /** * The kind of the live_call_router diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java index e20da48a..b503130d 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java @@ -48,7 +48,7 @@ /** * UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java index e542154a..6258c7ae 100644 --- a/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java @@ -51,7 +51,7 @@ /** * UpdateMotionTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateMotionTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java index c050005b..d165c572 100644 --- a/src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateNotionPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateNotionPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java index b5d4d233..9fdfbc56 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java @@ -49,7 +49,7 @@ /** * UpdateOnCallPayReport */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallPayReport { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java index 893a3dbc..02a2a853 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java @@ -49,8 +49,13 @@ /** * UpdateOnCallPayReportData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallPayReportData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateOnCallPayReportData() { } + public UpdateOnCallPayReportData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateOnCallPayReportData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateOnCallPayReportData updateOnCallPayReportData = (UpdateOnCallPayReportData) o; - return Objects.equals(this.type, updateOnCallPayReportData.type) && + return Objects.equals(this.id, updateOnCallPayReportData.id) && + Objects.equals(this.type, updateOnCallPayReportData.type) && Objects.equals(this.attributes, updateOnCallPayReportData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateOnCallPayReportData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java index 4ab3ff53..1fe0a696 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateOnCallPayReportDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallPayReportDataAttributes { public static final String SERIALIZED_NAME_START_DATE = "start_date"; @SerializedName(SERIALIZED_NAME_START_DATE) diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallRole.java b/src/main/java/com/rootly/client/model/UpdateOnCallRole.java index a64c6faf..3aff2abb 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRole.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRole.java @@ -49,7 +49,7 @@ /** * UpdateOnCallRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRole { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java b/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java index bb12e4f4..b6038da7 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java @@ -49,8 +49,13 @@ /** * UpdateOnCallRoleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRoleData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateOnCallRoleData() { } + public UpdateOnCallRoleData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateOnCallRoleData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateOnCallRoleData updateOnCallRoleData = (UpdateOnCallRoleData) o; - return Objects.equals(this.type, updateOnCallRoleData.type) && + return Objects.equals(this.id, updateOnCallRoleData.id) && + Objects.equals(this.type, updateOnCallRoleData.type) && Objects.equals(this.attributes, updateOnCallRoleData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateOnCallRoleData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java index 7efd753d..75ae2857 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateOnCallRoleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRoleDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -1152,6 +1152,65 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List liveCallRoutingPermissions = new ArrayList<>(); + /** + * Gets or Sets membersPermissions + */ + @JsonAdapter(MembersPermissionsEnum.Adapter.class) + public enum MembersPermissionsEnum { + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + MembersPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MembersPermissionsEnum fromValue(String value) { + for (MembersPermissionsEnum b : MembersPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final MembersPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MembersPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MembersPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + MembersPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MEMBERS_PERMISSIONS = "members_permissions"; + @SerializedName(SERIALIZED_NAME_MEMBERS_PERMISSIONS) + @jakarta.annotation.Nullable + private List membersPermissions = new ArrayList<>(); + /** * Gets or Sets scheduleOverridePermissions */ @@ -2106,6 +2165,33 @@ public void setLiveCallRoutingPermissions(@jakarta.annotation.Nullable List membersPermissions) { + this.membersPermissions = membersPermissions; + return this; + } + + public UpdateOnCallRoleDataAttributes addMembersPermissionsItem(MembersPermissionsEnum membersPermissionsItem) { + if (this.membersPermissions == null) { + this.membersPermissions = new ArrayList<>(); + } + this.membersPermissions.add(membersPermissionsItem); + return this; + } + + /** + * Get membersPermissions + * @return membersPermissions + */ + @jakarta.annotation.Nullable + public List getMembersPermissions() { + return membersPermissions; + } + + public void setMembersPermissions(@jakarta.annotation.Nullable List membersPermissions) { + this.membersPermissions = membersPermissions; + } + + public UpdateOnCallRoleDataAttributes scheduleOverridePermissions(@jakarta.annotation.Nullable List scheduleOverridePermissions) { this.scheduleOverridePermissions = scheduleOverridePermissions; return this; @@ -2325,6 +2411,7 @@ public boolean equals(Object o) { Objects.equals(this.integrationsPermissions, updateOnCallRoleDataAttributes.integrationsPermissions) && Objects.equals(this.invitationsPermissions, updateOnCallRoleDataAttributes.invitationsPermissions) && Objects.equals(this.liveCallRoutingPermissions, updateOnCallRoleDataAttributes.liveCallRoutingPermissions) && + Objects.equals(this.membersPermissions, updateOnCallRoleDataAttributes.membersPermissions) && Objects.equals(this.scheduleOverridePermissions, updateOnCallRoleDataAttributes.scheduleOverridePermissions) && Objects.equals(this.schedulesPermissions, updateOnCallRoleDataAttributes.schedulesPermissions) && Objects.equals(this.servicesPermissions, updateOnCallRoleDataAttributes.servicesPermissions) && @@ -2340,7 +2427,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, functionalitiesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions); + return Objects.hash(slug, name, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, membersPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, functionalitiesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions); } private static int hashCodeNullable(JsonNullable a) { @@ -2374,6 +2461,7 @@ public String toString() { sb.append(" integrationsPermissions: ").append(toIndentedString(integrationsPermissions)).append("\n"); sb.append(" invitationsPermissions: ").append(toIndentedString(invitationsPermissions)).append("\n"); sb.append(" liveCallRoutingPermissions: ").append(toIndentedString(liveCallRoutingPermissions)).append("\n"); + sb.append(" membersPermissions: ").append(toIndentedString(membersPermissions)).append("\n"); sb.append(" scheduleOverridePermissions: ").append(toIndentedString(scheduleOverridePermissions)).append("\n"); sb.append(" schedulesPermissions: ").append(toIndentedString(schedulesPermissions)).append("\n"); sb.append(" servicesPermissions: ").append(toIndentedString(servicesPermissions)).append("\n"); @@ -2423,6 +2511,7 @@ private String toIndentedString(Object o) { openapiFields.add("integrations_permissions"); openapiFields.add("invitations_permissions"); openapiFields.add("live_call_routing_permissions"); + openapiFields.add("members_permissions"); openapiFields.add("schedule_override_permissions"); openapiFields.add("schedules_permissions"); openapiFields.add("services_permissions"); @@ -2535,6 +2624,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `live_call_routing_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("live_call_routing_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("members_permissions") != null && !jsonObj.get("members_permissions").isJsonNull() && !jsonObj.get("members_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `members_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("members_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("schedule_override_permissions") != null && !jsonObj.get("schedule_override_permissions").isJsonNull() && !jsonObj.get("schedule_override_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `schedule_override_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_override_permissions").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java b/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java index 523ea3b0..19640cbc 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java @@ -49,7 +49,7 @@ /** * UpdateOnCallShadow */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallShadow { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java b/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java index 51f7e8da..aaf3227f 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java @@ -49,8 +49,13 @@ /** * UpdateOnCallShadowData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallShadowData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateOnCallShadowData() { } + public UpdateOnCallShadowData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateOnCallShadowData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateOnCallShadowData updateOnCallShadowData = (UpdateOnCallShadowData) o; - return Objects.equals(this.type, updateOnCallShadowData.type) && + return Objects.equals(this.id, updateOnCallShadowData.id) && + Objects.equals(this.type, updateOnCallShadowData.type) && Objects.equals(this.attributes, updateOnCallShadowData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateOnCallShadowData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java index 3a07d690..fb9a5846 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateOnCallShadowDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallShadowDataAttributes { public static final String SERIALIZED_NAME_SCHEDULE_ID = "schedule_id"; @SerializedName(SERIALIZED_NAME_SCHEDULE_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParams.java b/src/main/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParams.java index a70c2a3e..1b44d2b3 100644 --- a/src/main/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateOpsgenieAlertTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOpsgenieAlertTaskParams { public static final String SERIALIZED_NAME_ALERT_ID = "alert_id"; @SerializedName(SERIALIZED_NAME_ALERT_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParams.java index 53b7d4f5..e7d6f38f 100644 --- a/src/main/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateOpsgenieIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOpsgenieIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateOverrideShift.java b/src/main/java/com/rootly/client/model/UpdateOverrideShift.java index 47d394d9..b90d5c0f 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShift.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShift.java @@ -49,7 +49,7 @@ /** * UpdateOverrideShift */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOverrideShift { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java b/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java index 56b228b6..2336d01e 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java @@ -49,8 +49,13 @@ /** * UpdateOverrideShiftData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOverrideShiftData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateOverrideShiftData() { } + public UpdateOverrideShiftData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateOverrideShiftData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateOverrideShiftData updateOverrideShiftData = (UpdateOverrideShiftData) o; - return Objects.equals(this.type, updateOverrideShiftData.type) && + return Objects.equals(this.id, updateOverrideShiftData.id) && + Objects.equals(this.type, updateOverrideShiftData.type) && Objects.equals(this.attributes, updateOverrideShiftData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateOverrideShiftData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java index b9dcf7d4..68633b60 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateOverrideShiftDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOverrideShiftDataAttributes { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParams.java index 855c8eb6..50db6bc1 100644 --- a/src/main/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParams.java @@ -48,7 +48,7 @@ /** * UpdatePagerdutyIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePagerdutyIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdatePagertreeAlertTaskParams.java b/src/main/java/com/rootly/client/model/UpdatePagertreeAlertTaskParams.java index 4f5e2c19..d8a45150 100644 --- a/src/main/java/com/rootly/client/model/UpdatePagertreeAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdatePagertreeAlertTaskParams.java @@ -51,7 +51,7 @@ /** * UpdatePagertreeAlertTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePagertreeAlertTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybook.java b/src/main/java/com/rootly/client/model/UpdatePlaybook.java index 08186c02..ccf920fe 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybook.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybook.java @@ -49,7 +49,7 @@ /** * UpdatePlaybook */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybook { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookData.java b/src/main/java/com/rootly/client/model/UpdatePlaybookData.java index 6d561e34..9eb6d8d1 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookData.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookData.java @@ -49,8 +49,13 @@ /** * UpdatePlaybookData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdatePlaybookData() { } + public UpdatePlaybookData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdatePlaybookData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdatePlaybookData updatePlaybookData = (UpdatePlaybookData) o; - return Objects.equals(this.type, updatePlaybookData.type) && + return Objects.equals(this.id, updatePlaybookData.id) && + Objects.equals(this.type, updatePlaybookData.type) && Objects.equals(this.attributes, updatePlaybookData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdatePlaybookData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java index 7d0bc21c..bc956069 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdatePlaybookDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -63,6 +63,68 @@ public class UpdatePlaybookDataAttributes { @jakarta.annotation.Nullable private String summary; + /** + * Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + INTERNAL_DOCUMENT("internal_document"), + + EXTERNAL_URL("external_url"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @jakarta.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @jakarta.annotation.Nullable + private String content; + public static final String SERIALIZED_NAME_EXTERNAL_URL = "external_url"; @SerializedName(SERIALIZED_NAME_EXTERNAL_URL) @jakarta.annotation.Nullable @@ -98,6 +160,11 @@ public class UpdatePlaybookDataAttributes { @jakarta.annotation.Nullable private List incidentTypeIds; + public static final String SERIALIZED_NAME_CAUSE_IDS = "cause_ids"; + @SerializedName(SERIALIZED_NAME_CAUSE_IDS) + @jakarta.annotation.Nullable + private List causeIds; + public UpdatePlaybookDataAttributes() { } @@ -139,6 +206,44 @@ public void setSummary(@jakarta.annotation.Nullable String summary) { } + public UpdatePlaybookDataAttributes kind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * Whether the playbook body lives in Rootly (`internal_document`) or at an external link (`external_url`). + * @return kind + */ + @jakarta.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@jakarta.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public UpdatePlaybookDataAttributes content(@jakarta.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * Sanitized HTML instructions. Still returned when `kind` is `external_url`, where the body may be stale — branch on `kind`, not on `content` being present. + * @return content + */ + @jakarta.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@jakarta.annotation.Nullable String content) { + this.content = content; + } + + public UpdatePlaybookDataAttributes externalUrl(@jakarta.annotation.Nullable String externalUrl) { this.externalUrl = externalUrl; return this; @@ -320,6 +425,33 @@ public void setIncidentTypeIds(@jakarta.annotation.Nullable List inciden } + public UpdatePlaybookDataAttributes causeIds(@jakarta.annotation.Nullable List causeIds) { + this.causeIds = causeIds; + return this; + } + + public UpdatePlaybookDataAttributes addCauseIdsItem(String causeIdsItem) { + if (this.causeIds == null) { + this.causeIds = new ArrayList<>(); + } + this.causeIds.add(causeIdsItem); + return this; + } + + /** + * The Cause IDs to attach to the incident + * @return causeIds + */ + @jakarta.annotation.Nullable + public List getCauseIds() { + return causeIds; + } + + public void setCauseIds(@jakarta.annotation.Nullable List causeIds) { + this.causeIds = causeIds; + } + + @Override public boolean equals(Object o) { @@ -332,13 +464,16 @@ public boolean equals(Object o) { UpdatePlaybookDataAttributes updatePlaybookDataAttributes = (UpdatePlaybookDataAttributes) o; return Objects.equals(this.title, updatePlaybookDataAttributes.title) && Objects.equals(this.summary, updatePlaybookDataAttributes.summary) && + Objects.equals(this.kind, updatePlaybookDataAttributes.kind) && + Objects.equals(this.content, updatePlaybookDataAttributes.content) && Objects.equals(this.externalUrl, updatePlaybookDataAttributes.externalUrl) && Objects.equals(this.severityIds, updatePlaybookDataAttributes.severityIds) && Objects.equals(this.environmentIds, updatePlaybookDataAttributes.environmentIds) && Objects.equals(this.serviceIds, updatePlaybookDataAttributes.serviceIds) && Objects.equals(this.functionalityIds, updatePlaybookDataAttributes.functionalityIds) && Objects.equals(this.groupIds, updatePlaybookDataAttributes.groupIds) && - Objects.equals(this.incidentTypeIds, updatePlaybookDataAttributes.incidentTypeIds); + Objects.equals(this.incidentTypeIds, updatePlaybookDataAttributes.incidentTypeIds) && + Objects.equals(this.causeIds, updatePlaybookDataAttributes.causeIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -347,7 +482,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, summary, externalUrl, severityIds, environmentIds, serviceIds, functionalityIds, groupIds, incidentTypeIds); + return Objects.hash(title, summary, kind, content, externalUrl, severityIds, environmentIds, serviceIds, functionalityIds, groupIds, incidentTypeIds, causeIds); } private static int hashCodeNullable(JsonNullable a) { @@ -363,6 +498,8 @@ public String toString() { sb.append("class UpdatePlaybookDataAttributes {\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" externalUrl: ").append(toIndentedString(externalUrl)).append("\n"); sb.append(" severityIds: ").append(toIndentedString(severityIds)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); @@ -370,6 +507,7 @@ public String toString() { sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); sb.append(" incidentTypeIds: ").append(toIndentedString(incidentTypeIds)).append("\n"); + sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -394,6 +532,8 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("title"); openapiFields.add("summary"); + openapiFields.add("kind"); + openapiFields.add("content"); openapiFields.add("external_url"); openapiFields.add("severity_ids"); openapiFields.add("environment_ids"); @@ -401,6 +541,7 @@ private String toIndentedString(Object o) { openapiFields.add("functionality_ids"); openapiFields.add("group_ids"); openapiFields.add("incident_type_ids"); + openapiFields.add("cause_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -433,6 +574,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("summary") != null && !jsonObj.get("summary").isJsonNull()) && !jsonObj.get("summary").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("summary").toString())); } + if ((jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) && !jsonObj.get("kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + KindEnum.validateJsonElement(jsonObj.get("kind")); + } + if ((jsonObj.get("content") != null && !jsonObj.get("content").isJsonNull()) && !jsonObj.get("content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content").toString())); + } if ((jsonObj.get("external_url") != null && !jsonObj.get("external_url").isJsonNull()) && !jsonObj.get("external_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `external_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("external_url").toString())); } @@ -460,6 +611,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("incident_type_ids") != null && !jsonObj.get("incident_type_ids").isJsonNull() && !jsonObj.get("incident_type_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("incident_type_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("cause_ids") != null && !jsonObj.get("cause_ids").isJsonNull() && !jsonObj.get("cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("cause_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java index 04fa3f2c..b2d28ac7 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java @@ -49,7 +49,7 @@ /** * UpdatePlaybookTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookTask { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java index 50885a11..8cd55d83 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java @@ -49,8 +49,13 @@ /** * UpdatePlaybookTaskData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookTaskData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdatePlaybookTaskData() { } + public UpdatePlaybookTaskData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdatePlaybookTaskData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdatePlaybookTaskData updatePlaybookTaskData = (UpdatePlaybookTaskData) o; - return Objects.equals(this.type, updatePlaybookTaskData.type) && + return Objects.equals(this.id, updatePlaybookTaskData.id) && + Objects.equals(this.type, updatePlaybookTaskData.type) && Objects.equals(this.attributes, updatePlaybookTaskData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdatePlaybookTaskData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java index b469547b..3cafe45c 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdatePlaybookTaskDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookTaskDataAttributes { public static final String SERIALIZED_NAME_TASK = "task"; @SerializedName(SERIALIZED_NAME_TASK) diff --git a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java index 7ef31dbd..b34285a1 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java @@ -49,7 +49,7 @@ /** * UpdatePostMortemTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java index 68bcdbb2..3d601bf9 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java @@ -49,8 +49,13 @@ /** * UpdatePostMortemTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplateData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdatePostMortemTemplateData() { } + public UpdatePostMortemTemplateData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdatePostMortemTemplateData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdatePostMortemTemplateData updatePostMortemTemplateData = (UpdatePostMortemTemplateData) o; - return Objects.equals(this.type, updatePostMortemTemplateData.type) && + return Objects.equals(this.id, updatePostMortemTemplateData.id) && + Objects.equals(this.type, updatePostMortemTemplateData.type) && Objects.equals(this.attributes, updatePostMortemTemplateData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdatePostMortemTemplateData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java index f72632fe..7f390c78 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdatePostMortemTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateProblem.java b/src/main/java/com/rootly/client/model/UpdateProblem.java new file mode 100644 index 00000000..726bca89 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateProblem.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateProblem + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateProblem { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private UpdateProblemData data; + + public UpdateProblem() { + } + + public UpdateProblem data(@jakarta.annotation.Nonnull UpdateProblemData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public UpdateProblemData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull UpdateProblemData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProblem updateProblem = (UpdateProblem) o; + return Objects.equals(this.data, updateProblem.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProblem {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateProblem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateProblem.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateProblem is not found in the empty JSON string", UpdateProblem.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateProblem.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateProblem` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateProblem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + UpdateProblemData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateProblem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateProblem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateProblem.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateProblem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateProblem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateProblem given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateProblem + * @throws IOException if the JSON string is invalid with respect to UpdateProblem + */ + public static UpdateProblem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateProblem.class); + } + + /** + * Convert an instance of UpdateProblem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateProblemActionItem.java b/src/main/java/com/rootly/client/model/UpdateProblemActionItem.java new file mode 100644 index 00000000..eff7a79a --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateProblemActionItem.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemActionItemData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateProblemActionItem + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateProblemActionItem { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private UpdateProblemActionItemData data; + + public UpdateProblemActionItem() { + } + + public UpdateProblemActionItem data(@jakarta.annotation.Nonnull UpdateProblemActionItemData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public UpdateProblemActionItemData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull UpdateProblemActionItemData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProblemActionItem updateProblemActionItem = (UpdateProblemActionItem) o; + return Objects.equals(this.data, updateProblemActionItem.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProblemActionItem {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateProblemActionItem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateProblemActionItem.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateProblemActionItem is not found in the empty JSON string", UpdateProblemActionItem.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateProblemActionItem.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateProblemActionItem` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateProblemActionItem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + UpdateProblemActionItemData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateProblemActionItem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateProblemActionItem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateProblemActionItem.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateProblemActionItem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateProblemActionItem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateProblemActionItem given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateProblemActionItem + * @throws IOException if the JSON string is invalid with respect to UpdateProblemActionItem + */ + public static UpdateProblemActionItem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateProblemActionItem.class); + } + + /** + * Convert an instance of UpdateProblemActionItem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateProblemActionItemData.java b/src/main/java/com/rootly/client/model/UpdateProblemActionItemData.java new file mode 100644 index 00000000..b77293d5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateProblemActionItemData.java @@ -0,0 +1,327 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemActionItemDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateProblemActionItemData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateProblemActionItemData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEM_ACTION_ITEMS("problem_action_items"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private UpdateProblemActionItemDataAttributes attributes; + + public UpdateProblemActionItemData() { + } + + public UpdateProblemActionItemData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateProblemActionItemData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateProblemActionItemData attributes(@jakarta.annotation.Nonnull UpdateProblemActionItemDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public UpdateProblemActionItemDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull UpdateProblemActionItemDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProblemActionItemData updateProblemActionItemData = (UpdateProblemActionItemData) o; + return Objects.equals(this.id, updateProblemActionItemData.id) && + Objects.equals(this.type, updateProblemActionItemData.type) && + Objects.equals(this.attributes, updateProblemActionItemData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProblemActionItemData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateProblemActionItemData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateProblemActionItemData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateProblemActionItemData is not found in the empty JSON string", UpdateProblemActionItemData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateProblemActionItemData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateProblemActionItemData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateProblemActionItemData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + UpdateProblemActionItemDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateProblemActionItemData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateProblemActionItemData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateProblemActionItemData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateProblemActionItemData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateProblemActionItemData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateProblemActionItemData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateProblemActionItemData + * @throws IOException if the JSON string is invalid with respect to UpdateProblemActionItemData + */ + public static UpdateProblemActionItemData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateProblemActionItemData.class); + } + + /** + * Convert an instance of UpdateProblemActionItemData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateProblemActionItemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateProblemActionItemDataAttributes.java new file mode 100644 index 00000000..982597c2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateProblemActionItemDataAttributes.java @@ -0,0 +1,513 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateProblemActionItemDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateProblemActionItemDataAttributes { + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + @jakarta.annotation.Nullable + private String summary; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_ASSIGNED_TO_USER_ID = "assigned_to_user_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNED_TO_USER_ID) + @jakarta.annotation.Nullable + private Integer assignedToUserId; + + /** + * The priority of the action item + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + HIGH("high"), + + MEDIUM("medium"), + + LOW("low"); + + private String value; + + PriorityEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PriorityEnum fromValue(String value) { + for (PriorityEnum b : PriorityEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PriorityEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PriorityEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PriorityEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PriorityEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + @jakarta.annotation.Nullable + private PriorityEnum priority; + + /** + * The status of the action item + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + OPEN("open"), + + IN_PROGRESS("in_progress"), + + CANCELLED("cancelled"), + + DONE("done"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + @jakarta.annotation.Nullable + private String dueDate; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) + @jakarta.annotation.Nullable + private String jiraIssueUrl; + + public UpdateProblemActionItemDataAttributes() { + } + + public UpdateProblemActionItemDataAttributes summary(@jakarta.annotation.Nullable String summary) { + this.summary = summary; + return this; + } + + /** + * The summary of the action item + * @return summary + */ + @jakarta.annotation.Nullable + public String getSummary() { + return summary; + } + + public void setSummary(@jakarta.annotation.Nullable String summary) { + this.summary = summary; + } + + + public UpdateProblemActionItemDataAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the action item + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateProblemActionItemDataAttributes assignedToUserId(@jakarta.annotation.Nullable Integer assignedToUserId) { + this.assignedToUserId = assignedToUserId; + return this; + } + + /** + * ID of user you wish to assign this action item + * @return assignedToUserId + */ + @jakarta.annotation.Nullable + public Integer getAssignedToUserId() { + return assignedToUserId; + } + + public void setAssignedToUserId(@jakarta.annotation.Nullable Integer assignedToUserId) { + this.assignedToUserId = assignedToUserId; + } + + + public UpdateProblemActionItemDataAttributes priority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * The priority of the action item + * @return priority + */ + @jakarta.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public UpdateProblemActionItemDataAttributes status(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * The status of the action item + * @return status + */ + @jakarta.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public UpdateProblemActionItemDataAttributes dueDate(@jakarta.annotation.Nullable String dueDate) { + this.dueDate = dueDate; + return this; + } + + /** + * The due date of the action item + * @return dueDate + */ + @jakarta.annotation.Nullable + public String getDueDate() { + return dueDate; + } + + public void setDueDate(@jakarta.annotation.Nullable String dueDate) { + this.dueDate = dueDate; + } + + + public UpdateProblemActionItemDataAttributes jiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + return this; + } + + /** + * The Jira issue URL. + * @return jiraIssueUrl + */ + @jakarta.annotation.Nullable + public String getJiraIssueUrl() { + return jiraIssueUrl; + } + + public void setJiraIssueUrl(@jakarta.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProblemActionItemDataAttributes updateProblemActionItemDataAttributes = (UpdateProblemActionItemDataAttributes) o; + return Objects.equals(this.summary, updateProblemActionItemDataAttributes.summary) && + Objects.equals(this.description, updateProblemActionItemDataAttributes.description) && + Objects.equals(this.assignedToUserId, updateProblemActionItemDataAttributes.assignedToUserId) && + Objects.equals(this.priority, updateProblemActionItemDataAttributes.priority) && + Objects.equals(this.status, updateProblemActionItemDataAttributes.status) && + Objects.equals(this.dueDate, updateProblemActionItemDataAttributes.dueDate) && + Objects.equals(this.jiraIssueUrl, updateProblemActionItemDataAttributes.jiraIssueUrl); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(summary, description, assignedToUserId, priority, status, dueDate, jiraIssueUrl); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProblemActionItemDataAttributes {\n"); + sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" assignedToUserId: ").append(toIndentedString(assignedToUserId)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("summary"); + openapiFields.add("description"); + openapiFields.add("assigned_to_user_id"); + openapiFields.add("priority"); + openapiFields.add("status"); + openapiFields.add("due_date"); + openapiFields.add("jira_issue_url"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateProblemActionItemDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateProblemActionItemDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateProblemActionItemDataAttributes is not found in the empty JSON string", UpdateProblemActionItemDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateProblemActionItemDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateProblemActionItemDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("summary") != null && !jsonObj.get("summary").isJsonNull()) && !jsonObj.get("summary").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("summary").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) && !jsonObj.get("priority").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `priority` to be a primitive type in the JSON string but got `%s`", jsonObj.get("priority").toString())); + } + // validate the optional field `priority` + if (jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) { + PriorityEnum.validateJsonElement(jsonObj.get("priority")); + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the optional field `status` + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) { + StatusEnum.validateJsonElement(jsonObj.get("status")); + } + if ((jsonObj.get("due_date") != null && !jsonObj.get("due_date").isJsonNull()) && !jsonObj.get("due_date").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `due_date` to be a primitive type in the JSON string but got `%s`", jsonObj.get("due_date").toString())); + } + if ((jsonObj.get("jira_issue_url") != null && !jsonObj.get("jira_issue_url").isJsonNull()) && !jsonObj.get("jira_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_url").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateProblemActionItemDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateProblemActionItemDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateProblemActionItemDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateProblemActionItemDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateProblemActionItemDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateProblemActionItemDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateProblemActionItemDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateProblemActionItemDataAttributes + */ + public static UpdateProblemActionItemDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateProblemActionItemDataAttributes.class); + } + + /** + * Convert an instance of UpdateProblemActionItemDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateProblemData.java b/src/main/java/com/rootly/client/model/UpdateProblemData.java new file mode 100644 index 00000000..c6fdd1a3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateProblemData.java @@ -0,0 +1,327 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateProblemData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateProblemData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + PROBLEMS("problems"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private UpdateProblemDataAttributes attributes; + + public UpdateProblemData() { + } + + public UpdateProblemData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateProblemData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateProblemData attributes(@jakarta.annotation.Nonnull UpdateProblemDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public UpdateProblemDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull UpdateProblemDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProblemData updateProblemData = (UpdateProblemData) o; + return Objects.equals(this.id, updateProblemData.id) && + Objects.equals(this.type, updateProblemData.type) && + Objects.equals(this.attributes, updateProblemData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProblemData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateProblemData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateProblemData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateProblemData is not found in the empty JSON string", UpdateProblemData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateProblemData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateProblemData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateProblemData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + UpdateProblemDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateProblemData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateProblemData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateProblemData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateProblemData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateProblemData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateProblemData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateProblemData + * @throws IOException if the JSON string is invalid with respect to UpdateProblemData + */ + public static UpdateProblemData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateProblemData.class); + } + + /** + * Convert an instance of UpdateProblemData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateProblemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateProblemDataAttributes.java new file mode 100644 index 00000000..3f897d70 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateProblemDataAttributes.java @@ -0,0 +1,915 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateProblemDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateProblemDataAttributes { + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @jakarta.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @jakarta.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_OWNER_USER_ID = "owner_user_id"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_ID) + @jakarta.annotation.Nullable + private Integer ownerUserId; + + public static final String SERIALIZED_NAME_OWNER_GROUP_ID = "owner_group_id"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_ID) + @jakarta.annotation.Nullable + private String ownerGroupId; + + /** + * The priority of the problem + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + P0("P0"), + + P1("P1"), + + P2("P2"), + + P3("P3"); + + private String value; + + PriorityEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PriorityEnum fromValue(String value) { + for (PriorityEnum b : PriorityEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PriorityEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PriorityEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PriorityEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PriorityEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + @jakarta.annotation.Nullable + private PriorityEnum priority; + + public static final String SERIALIZED_NAME_DUE_DATE = "due_date"; + @SerializedName(SERIALIZED_NAME_DUE_DATE) + @jakarta.annotation.Nullable + private LocalDate dueDate; + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + @jakarta.annotation.Nullable + private String scope; + + public static final String SERIALIZED_NAME_EXIT_CRITERIA = "exit_criteria"; + @SerializedName(SERIALIZED_NAME_EXIT_CRITERIA) + @jakarta.annotation.Nullable + private String exitCriteria; + + public static final String SERIALIZED_NAME_IMPACT_SO_FAR = "impact_so_far"; + @SerializedName(SERIALIZED_NAME_IMPACT_SO_FAR) + @jakarta.annotation.Nullable + private String impactSoFar; + + public static final String SERIALIZED_NAME_ROOT_CAUSE = "root_cause"; + @SerializedName(SERIALIZED_NAME_ROOT_CAUSE) + @jakarta.annotation.Nullable + private String rootCause; + + public static final String SERIALIZED_NAME_RESOLUTION = "resolution"; + @SerializedName(SERIALIZED_NAME_RESOLUTION) + @jakarta.annotation.Nullable + private String resolution; + + public static final String SERIALIZED_NAME_DEFERRAL_REASON = "deferral_reason"; + @SerializedName(SERIALIZED_NAME_DEFERRAL_REASON) + @jakarta.annotation.Nullable + private String deferralReason; + + public static final String SERIALIZED_NAME_CANCELLATION_REASON = "cancellation_reason"; + @SerializedName(SERIALIZED_NAME_CANCELLATION_REASON) + @jakarta.annotation.Nullable + private String cancellationReason; + + public static final String SERIALIZED_NAME_NEXT_REVIEW_AT = "next_review_at"; + @SerializedName(SERIALIZED_NAME_NEXT_REVIEW_AT) + @jakarta.annotation.Nullable + private String nextReviewAt; + + public static final String SERIALIZED_NAME_RE_REVIEW_CADENCE = "re_review_cadence"; + @SerializedName(SERIALIZED_NAME_RE_REVIEW_CADENCE) + @jakarta.annotation.Nullable + private Integer reReviewCadence; + + public static final String SERIALIZED_NAME_FORM_FIELD_SELECTIONS = "form_field_selections"; + @SerializedName(SERIALIZED_NAME_FORM_FIELD_SELECTIONS) + @jakarta.annotation.Nullable + private List formFieldSelections = new ArrayList<>(); + + /** + * Target status. Transitions run through the problem status workflow: gate fields required by the target status must be supplied in the same request. Other updatable attributes may accompany a status change and are applied atomically with it. + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + CREATED("created"), + + IN_PROGRESS("in_progress"), + + COMPLETED("completed"), + + DEFERRED("deferred"), + + CANCELLED("cancelled"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @jakarta.annotation.Nullable + private StatusEnum status; + + /** + * Optional optimistic-concurrency guard: the transition is rejected unless the problem is currently in this status. + */ + @JsonAdapter(ExpectedStatusEnum.Adapter.class) + public enum ExpectedStatusEnum { + CREATED("created"), + + IN_PROGRESS("in_progress"), + + COMPLETED("completed"), + + DEFERRED("deferred"), + + CANCELLED("cancelled"); + + private String value; + + ExpectedStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ExpectedStatusEnum fromValue(String value) { + for (ExpectedStatusEnum b : ExpectedStatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ExpectedStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ExpectedStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ExpectedStatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ExpectedStatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_EXPECTED_STATUS = "expected_status"; + @SerializedName(SERIALIZED_NAME_EXPECTED_STATUS) + @jakarta.annotation.Nullable + private ExpectedStatusEnum expectedStatus; + + public UpdateProblemDataAttributes() { + } + + public UpdateProblemDataAttributes title(@jakarta.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The title of the problem + * @return title + */ + @jakarta.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@jakarta.annotation.Nullable String title) { + this.title = title; + } + + + public UpdateProblemDataAttributes description(@jakarta.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the problem + * @return description + */ + @jakarta.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@jakarta.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateProblemDataAttributes ownerUserId(@jakarta.annotation.Nullable Integer ownerUserId) { + this.ownerUserId = ownerUserId; + return this; + } + + /** + * ID of the user who owns the problem + * @return ownerUserId + */ + @jakarta.annotation.Nullable + public Integer getOwnerUserId() { + return ownerUserId; + } + + public void setOwnerUserId(@jakarta.annotation.Nullable Integer ownerUserId) { + this.ownerUserId = ownerUserId; + } + + + public UpdateProblemDataAttributes ownerGroupId(@jakarta.annotation.Nullable String ownerGroupId) { + this.ownerGroupId = ownerGroupId; + return this; + } + + /** + * ID of the group (team) that owns the problem + * @return ownerGroupId + */ + @jakarta.annotation.Nullable + public String getOwnerGroupId() { + return ownerGroupId; + } + + public void setOwnerGroupId(@jakarta.annotation.Nullable String ownerGroupId) { + this.ownerGroupId = ownerGroupId; + } + + + public UpdateProblemDataAttributes priority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * The priority of the problem + * @return priority + */ + @jakarta.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@jakarta.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public UpdateProblemDataAttributes dueDate(@jakarta.annotation.Nullable LocalDate dueDate) { + this.dueDate = dueDate; + return this; + } + + /** + * The due date of the problem + * @return dueDate + */ + @jakarta.annotation.Nullable + public LocalDate getDueDate() { + return dueDate; + } + + public void setDueDate(@jakarta.annotation.Nullable LocalDate dueDate) { + this.dueDate = dueDate; + } + + + public UpdateProblemDataAttributes scope(@jakarta.annotation.Nullable String scope) { + this.scope = scope; + return this; + } + + /** + * The scope of the problem + * @return scope + */ + @jakarta.annotation.Nullable + public String getScope() { + return scope; + } + + public void setScope(@jakarta.annotation.Nullable String scope) { + this.scope = scope; + } + + + public UpdateProblemDataAttributes exitCriteria(@jakarta.annotation.Nullable String exitCriteria) { + this.exitCriteria = exitCriteria; + return this; + } + + /** + * The exit criteria of the problem + * @return exitCriteria + */ + @jakarta.annotation.Nullable + public String getExitCriteria() { + return exitCriteria; + } + + public void setExitCriteria(@jakarta.annotation.Nullable String exitCriteria) { + this.exitCriteria = exitCriteria; + } + + + public UpdateProblemDataAttributes impactSoFar(@jakarta.annotation.Nullable String impactSoFar) { + this.impactSoFar = impactSoFar; + return this; + } + + /** + * The impact observed so far + * @return impactSoFar + */ + @jakarta.annotation.Nullable + public String getImpactSoFar() { + return impactSoFar; + } + + public void setImpactSoFar(@jakarta.annotation.Nullable String impactSoFar) { + this.impactSoFar = impactSoFar; + } + + + public UpdateProblemDataAttributes rootCause(@jakarta.annotation.Nullable String rootCause) { + this.rootCause = rootCause; + return this; + } + + /** + * The root cause of the problem + * @return rootCause + */ + @jakarta.annotation.Nullable + public String getRootCause() { + return rootCause; + } + + public void setRootCause(@jakarta.annotation.Nullable String rootCause) { + this.rootCause = rootCause; + } + + + public UpdateProblemDataAttributes resolution(@jakarta.annotation.Nullable String resolution) { + this.resolution = resolution; + return this; + } + + /** + * The resolution of the problem + * @return resolution + */ + @jakarta.annotation.Nullable + public String getResolution() { + return resolution; + } + + public void setResolution(@jakarta.annotation.Nullable String resolution) { + this.resolution = resolution; + } + + + public UpdateProblemDataAttributes deferralReason(@jakarta.annotation.Nullable String deferralReason) { + this.deferralReason = deferralReason; + return this; + } + + /** + * The reason and accepted risk for deferring the problem + * @return deferralReason + */ + @jakarta.annotation.Nullable + public String getDeferralReason() { + return deferralReason; + } + + public void setDeferralReason(@jakarta.annotation.Nullable String deferralReason) { + this.deferralReason = deferralReason; + } + + + public UpdateProblemDataAttributes cancellationReason(@jakarta.annotation.Nullable String cancellationReason) { + this.cancellationReason = cancellationReason; + return this; + } + + /** + * The reason for cancelling the problem + * @return cancellationReason + */ + @jakarta.annotation.Nullable + public String getCancellationReason() { + return cancellationReason; + } + + public void setCancellationReason(@jakarta.annotation.Nullable String cancellationReason) { + this.cancellationReason = cancellationReason; + } + + + public UpdateProblemDataAttributes nextReviewAt(@jakarta.annotation.Nullable String nextReviewAt) { + this.nextReviewAt = nextReviewAt; + return this; + } + + /** + * The next review date for a deferred problem + * @return nextReviewAt + */ + @jakarta.annotation.Nullable + public String getNextReviewAt() { + return nextReviewAt; + } + + public void setNextReviewAt(@jakarta.annotation.Nullable String nextReviewAt) { + this.nextReviewAt = nextReviewAt; + } + + + public UpdateProblemDataAttributes reReviewCadence(@jakarta.annotation.Nullable Integer reReviewCadence) { + this.reReviewCadence = reReviewCadence; + return this; + } + + /** + * Days between reviews for a deferred problem + * @return reReviewCadence + */ + @jakarta.annotation.Nullable + public Integer getReReviewCadence() { + return reReviewCadence; + } + + public void setReReviewCadence(@jakarta.annotation.Nullable Integer reReviewCadence) { + this.reReviewCadence = reReviewCadence; + } + + + public UpdateProblemDataAttributes formFieldSelections(@jakarta.annotation.Nullable List formFieldSelections) { + this.formFieldSelections = formFieldSelections; + return this; + } + + public UpdateProblemDataAttributes addFormFieldSelectionsItem(Object formFieldSelectionsItem) { + if (this.formFieldSelections == null) { + this.formFieldSelections = new ArrayList<>(); + } + this.formFieldSelections.add(formFieldSelectionsItem); + return this; + } + + /** + * Custom (form) field selections for the problem + * @return formFieldSelections + */ + @jakarta.annotation.Nullable + public List getFormFieldSelections() { + return formFieldSelections; + } + + public void setFormFieldSelections(@jakarta.annotation.Nullable List formFieldSelections) { + this.formFieldSelections = formFieldSelections; + } + + + public UpdateProblemDataAttributes status(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * Target status. Transitions run through the problem status workflow: gate fields required by the target status must be supplied in the same request. Other updatable attributes may accompany a status change and are applied atomically with it. + * @return status + */ + @jakarta.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@jakarta.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public UpdateProblemDataAttributes expectedStatus(@jakarta.annotation.Nullable ExpectedStatusEnum expectedStatus) { + this.expectedStatus = expectedStatus; + return this; + } + + /** + * Optional optimistic-concurrency guard: the transition is rejected unless the problem is currently in this status. + * @return expectedStatus + */ + @jakarta.annotation.Nullable + public ExpectedStatusEnum getExpectedStatus() { + return expectedStatus; + } + + public void setExpectedStatus(@jakarta.annotation.Nullable ExpectedStatusEnum expectedStatus) { + this.expectedStatus = expectedStatus; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProblemDataAttributes updateProblemDataAttributes = (UpdateProblemDataAttributes) o; + return Objects.equals(this.title, updateProblemDataAttributes.title) && + Objects.equals(this.description, updateProblemDataAttributes.description) && + Objects.equals(this.ownerUserId, updateProblemDataAttributes.ownerUserId) && + Objects.equals(this.ownerGroupId, updateProblemDataAttributes.ownerGroupId) && + Objects.equals(this.priority, updateProblemDataAttributes.priority) && + Objects.equals(this.dueDate, updateProblemDataAttributes.dueDate) && + Objects.equals(this.scope, updateProblemDataAttributes.scope) && + Objects.equals(this.exitCriteria, updateProblemDataAttributes.exitCriteria) && + Objects.equals(this.impactSoFar, updateProblemDataAttributes.impactSoFar) && + Objects.equals(this.rootCause, updateProblemDataAttributes.rootCause) && + Objects.equals(this.resolution, updateProblemDataAttributes.resolution) && + Objects.equals(this.deferralReason, updateProblemDataAttributes.deferralReason) && + Objects.equals(this.cancellationReason, updateProblemDataAttributes.cancellationReason) && + Objects.equals(this.nextReviewAt, updateProblemDataAttributes.nextReviewAt) && + Objects.equals(this.reReviewCadence, updateProblemDataAttributes.reReviewCadence) && + Objects.equals(this.formFieldSelections, updateProblemDataAttributes.formFieldSelections) && + Objects.equals(this.status, updateProblemDataAttributes.status) && + Objects.equals(this.expectedStatus, updateProblemDataAttributes.expectedStatus); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(title, description, ownerUserId, ownerGroupId, priority, dueDate, scope, exitCriteria, impactSoFar, rootCause, resolution, deferralReason, cancellationReason, nextReviewAt, reReviewCadence, formFieldSelections, status, expectedStatus); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProblemDataAttributes {\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).append("\n"); + sb.append(" ownerGroupId: ").append(toIndentedString(ownerGroupId)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" exitCriteria: ").append(toIndentedString(exitCriteria)).append("\n"); + sb.append(" impactSoFar: ").append(toIndentedString(impactSoFar)).append("\n"); + sb.append(" rootCause: ").append(toIndentedString(rootCause)).append("\n"); + sb.append(" resolution: ").append(toIndentedString(resolution)).append("\n"); + sb.append(" deferralReason: ").append(toIndentedString(deferralReason)).append("\n"); + sb.append(" cancellationReason: ").append(toIndentedString(cancellationReason)).append("\n"); + sb.append(" nextReviewAt: ").append(toIndentedString(nextReviewAt)).append("\n"); + sb.append(" reReviewCadence: ").append(toIndentedString(reReviewCadence)).append("\n"); + sb.append(" formFieldSelections: ").append(toIndentedString(formFieldSelections)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" expectedStatus: ").append(toIndentedString(expectedStatus)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("title"); + openapiFields.add("description"); + openapiFields.add("owner_user_id"); + openapiFields.add("owner_group_id"); + openapiFields.add("priority"); + openapiFields.add("due_date"); + openapiFields.add("scope"); + openapiFields.add("exit_criteria"); + openapiFields.add("impact_so_far"); + openapiFields.add("root_cause"); + openapiFields.add("resolution"); + openapiFields.add("deferral_reason"); + openapiFields.add("cancellation_reason"); + openapiFields.add("next_review_at"); + openapiFields.add("re_review_cadence"); + openapiFields.add("form_field_selections"); + openapiFields.add("status"); + openapiFields.add("expected_status"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateProblemDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateProblemDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateProblemDataAttributes is not found in the empty JSON string", UpdateProblemDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateProblemDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateProblemDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("title") != null && !jsonObj.get("title").isJsonNull()) && !jsonObj.get("title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString())); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("owner_group_id") != null && !jsonObj.get("owner_group_id").isJsonNull()) && !jsonObj.get("owner_group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("owner_group_id").toString())); + } + if ((jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) && !jsonObj.get("priority").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `priority` to be a primitive type in the JSON string but got `%s`", jsonObj.get("priority").toString())); + } + // validate the optional field `priority` + if (jsonObj.get("priority") != null && !jsonObj.get("priority").isJsonNull()) { + PriorityEnum.validateJsonElement(jsonObj.get("priority")); + } + if ((jsonObj.get("scope") != null && !jsonObj.get("scope").isJsonNull()) && !jsonObj.get("scope").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope").toString())); + } + if ((jsonObj.get("exit_criteria") != null && !jsonObj.get("exit_criteria").isJsonNull()) && !jsonObj.get("exit_criteria").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `exit_criteria` to be a primitive type in the JSON string but got `%s`", jsonObj.get("exit_criteria").toString())); + } + if ((jsonObj.get("impact_so_far") != null && !jsonObj.get("impact_so_far").isJsonNull()) && !jsonObj.get("impact_so_far").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `impact_so_far` to be a primitive type in the JSON string but got `%s`", jsonObj.get("impact_so_far").toString())); + } + if ((jsonObj.get("root_cause") != null && !jsonObj.get("root_cause").isJsonNull()) && !jsonObj.get("root_cause").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `root_cause` to be a primitive type in the JSON string but got `%s`", jsonObj.get("root_cause").toString())); + } + if ((jsonObj.get("resolution") != null && !jsonObj.get("resolution").isJsonNull()) && !jsonObj.get("resolution").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `resolution` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolution").toString())); + } + if ((jsonObj.get("deferral_reason") != null && !jsonObj.get("deferral_reason").isJsonNull()) && !jsonObj.get("deferral_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deferral_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deferral_reason").toString())); + } + if ((jsonObj.get("cancellation_reason") != null && !jsonObj.get("cancellation_reason").isJsonNull()) && !jsonObj.get("cancellation_reason").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `cancellation_reason` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cancellation_reason").toString())); + } + if ((jsonObj.get("next_review_at") != null && !jsonObj.get("next_review_at").isJsonNull()) && !jsonObj.get("next_review_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `next_review_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("next_review_at").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("form_field_selections") != null && !jsonObj.get("form_field_selections").isJsonNull() && !jsonObj.get("form_field_selections").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `form_field_selections` to be an array in the JSON string but got `%s`", jsonObj.get("form_field_selections").toString())); + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the optional field `status` + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) { + StatusEnum.validateJsonElement(jsonObj.get("status")); + } + if ((jsonObj.get("expected_status") != null && !jsonObj.get("expected_status").isJsonNull()) && !jsonObj.get("expected_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `expected_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("expected_status").toString())); + } + // validate the optional field `expected_status` + if (jsonObj.get("expected_status") != null && !jsonObj.get("expected_status").isJsonNull()) { + ExpectedStatusEnum.validateJsonElement(jsonObj.get("expected_status")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateProblemDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateProblemDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateProblemDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateProblemDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateProblemDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateProblemDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateProblemDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateProblemDataAttributes + */ + public static UpdateProblemDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateProblemDataAttributes.class); + } + + /** + * Convert an instance of UpdateProblemDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdatePulse.java b/src/main/java/com/rootly/client/model/UpdatePulse.java index ab16ffd2..cde5995e 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulse.java +++ b/src/main/java/com/rootly/client/model/UpdatePulse.java @@ -49,7 +49,7 @@ /** * UpdatePulse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePulse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdatePulseData.java b/src/main/java/com/rootly/client/model/UpdatePulseData.java index 27c9921e..07d77272 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulseData.java +++ b/src/main/java/com/rootly/client/model/UpdatePulseData.java @@ -49,8 +49,13 @@ /** * UpdatePulseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePulseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdatePulseData() { } + public UpdatePulseData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdatePulseData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdatePulseData updatePulseData = (UpdatePulseData) o; - return Objects.equals(this.type, updatePulseData.type) && + return Objects.equals(this.id, updatePulseData.id) && + Objects.equals(this.type, updatePulseData.type) && Objects.equals(this.attributes, updatePulseData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdatePulseData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java index 627883e2..ac6fb76a 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdatePulseDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePulseDataAttributes { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) diff --git a/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java index 7a28cc96..d1eef3ba 100644 --- a/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateQuipPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateQuipPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java index eb2987e1..847f00da 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveConfiguration */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveConfiguration { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java index 02f4ed92..0ca1b31d 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java @@ -49,8 +49,13 @@ /** * UpdateRetrospectiveConfigurationData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveConfigurationData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateRetrospectiveConfigurationData() { } + public UpdateRetrospectiveConfigurationData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateRetrospectiveConfigurationData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateRetrospectiveConfigurationData updateRetrospectiveConfigurationData = (UpdateRetrospectiveConfigurationData) o; - return Objects.equals(this.type, updateRetrospectiveConfigurationData.type) && + return Objects.equals(this.id, updateRetrospectiveConfigurationData.id) && + Objects.equals(this.type, updateRetrospectiveConfigurationData.type) && Objects.equals(this.attributes, updateRetrospectiveConfigurationData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRetrospectiveConfigurationData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java index 51695c56..35ee0e3b 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateRetrospectiveConfigurationDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveConfigurationDataAttributes { public static final String SERIALIZED_NAME_SEVERITY_IDS = "severity_ids"; @SerializedName(SERIALIZED_NAME_SEVERITY_IDS) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java index b80751cb..ffe2e2d6 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcess */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcess { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java index a05594af..dda760ee 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java @@ -49,8 +49,13 @@ /** * UpdateRetrospectiveProcessData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateRetrospectiveProcessData() { } + public UpdateRetrospectiveProcessData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateRetrospectiveProcessData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateRetrospectiveProcessData updateRetrospectiveProcessData = (UpdateRetrospectiveProcessData) o; - return Objects.equals(this.type, updateRetrospectiveProcessData.type) && + return Objects.equals(this.id, updateRetrospectiveProcessData.id) && + Objects.equals(this.type, updateRetrospectiveProcessData.type) && Objects.equals(this.attributes, updateRetrospectiveProcessData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRetrospectiveProcessData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java index 8b8b1826..f49659e0 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateRetrospectiveProcessDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroup.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroup.java index 0b095cb7..0aa28772 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroup.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java index edd1b0ef..fc5e2aec 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java @@ -49,8 +49,13 @@ /** * UpdateRetrospectiveProcessGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateRetrospectiveProcessGroupData() { } + public UpdateRetrospectiveProcessGroupData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateRetrospectiveProcessGroupData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateRetrospectiveProcessGroupData updateRetrospectiveProcessGroupData = (UpdateRetrospectiveProcessGroupData) o; - return Objects.equals(this.type, updateRetrospectiveProcessGroupData.type) && + return Objects.equals(this.id, updateRetrospectiveProcessGroupData.id) && + Objects.equals(this.type, updateRetrospectiveProcessGroupData.type) && Objects.equals(this.attributes, updateRetrospectiveProcessGroupData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRetrospectiveProcessGroupData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java index d9d0e410..ec731136 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateRetrospectiveProcessGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupDataAttributes { public static final String SERIALIZED_NAME_SUB_STATUS_ID = "sub_status_id"; @SerializedName(SERIALIZED_NAME_SUB_STATUS_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStep.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStep.java index bbb82352..cae60e72 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStep.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStep.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroupStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupStep { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java index 22bf8689..fc3b27c0 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java @@ -49,8 +49,13 @@ /** * UpdateRetrospectiveProcessGroupStepData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupStepData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateRetrospectiveProcessGroupStepData() { } + public UpdateRetrospectiveProcessGroupStepData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateRetrospectiveProcessGroupStepData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateRetrospectiveProcessGroupStepData updateRetrospectiveProcessGroupStepData = (UpdateRetrospectiveProcessGroupStepData) o; - return Objects.equals(this.type, updateRetrospectiveProcessGroupStepData.type) && + return Objects.equals(this.id, updateRetrospectiveProcessGroupStepData.id) && + Objects.equals(this.type, updateRetrospectiveProcessGroupStepData.type) && Objects.equals(this.attributes, updateRetrospectiveProcessGroupStepData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRetrospectiveProcessGroupStepData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java index 939f2b06..0f0fa0c7 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateRetrospectiveProcessGroupStepDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupStepDataAttributes { public static final String SERIALIZED_NAME_POSITION = "position"; @SerializedName(SERIALIZED_NAME_POSITION) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStep.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStep.java index af2b458b..c4a4fa03 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStep.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveStep */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStep { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java index bc10575a..5d081455 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java @@ -49,8 +49,13 @@ /** * UpdateRetrospectiveStepData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStepData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateRetrospectiveStepData() { } + public UpdateRetrospectiveStepData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateRetrospectiveStepData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateRetrospectiveStepData updateRetrospectiveStepData = (UpdateRetrospectiveStepData) o; - return Objects.equals(this.type, updateRetrospectiveStepData.type) && + return Objects.equals(this.id, updateRetrospectiveStepData.id) && + Objects.equals(this.type, updateRetrospectiveStepData.type) && Objects.equals(this.attributes, updateRetrospectiveStepData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRetrospectiveStepData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java index 2cf8d5f6..244852e9 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveStepDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateRole.java b/src/main/java/com/rootly/client/model/UpdateRole.java index 5da05878..0901e118 100644 --- a/src/main/java/com/rootly/client/model/UpdateRole.java +++ b/src/main/java/com/rootly/client/model/UpdateRole.java @@ -49,7 +49,7 @@ /** * UpdateRole */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRole { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateRoleData.java b/src/main/java/com/rootly/client/model/UpdateRoleData.java index ce3bf892..9275eb86 100644 --- a/src/main/java/com/rootly/client/model/UpdateRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateRoleData.java @@ -49,8 +49,13 @@ /** * UpdateRoleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRoleData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateRoleData() { } + public UpdateRoleData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateRoleData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateRoleData updateRoleData = (UpdateRoleData) o; - return Objects.equals(this.type, updateRoleData.type) && + return Objects.equals(this.id, updateRoleData.id) && + Objects.equals(this.type, updateRoleData.type) && Objects.equals(this.attributes, updateRoleData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRoleData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java index d63468e6..169c5847 100644 --- a/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateRoleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRoleDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -1421,6 +1421,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List statusPagesPermissions = new ArrayList<>(); + /** + * Gets or Sets statusPageUpdatesPermissions + */ + @JsonAdapter(StatusPageUpdatesPermissionsEnum.Adapter.class) + public enum StatusPageUpdatesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + StatusPageUpdatesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusPageUpdatesPermissionsEnum fromValue(String value) { + for (StatusPageUpdatesPermissionsEnum b : StatusPageUpdatesPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusPageUpdatesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusPageUpdatesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusPageUpdatesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusPageUpdatesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS_PAGE_UPDATES_PERMISSIONS = "status_page_updates_permissions"; + @SerializedName(SERIALIZED_NAME_STATUS_PAGE_UPDATES_PERMISSIONS) + @jakarta.annotation.Nullable + private List statusPageUpdatesPermissions; + /** * Gets or Sets webhooksPermissions */ @@ -1726,6 +1787,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List edgeConnectorPermissions = new ArrayList<>(); + /** + * Gets or Sets privateAgentPermissions + */ + @JsonAdapter(PrivateAgentPermissionsEnum.Adapter.class) + public enum PrivateAgentPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + PrivateAgentPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PrivateAgentPermissionsEnum fromValue(String value) { + for (PrivateAgentPermissionsEnum b : PrivateAgentPermissionsEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PrivateAgentPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PrivateAgentPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PrivateAgentPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PrivateAgentPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PRIVATE_AGENT_PERMISSIONS = "private_agent_permissions"; + @SerializedName(SERIALIZED_NAME_PRIVATE_AGENT_PERMISSIONS) + @jakarta.annotation.Nullable + private List privateAgentPermissions = new ArrayList<>(); + /** * Gets or Sets slasPermissions */ @@ -2668,6 +2790,33 @@ public void setStatusPagesPermissions(@jakarta.annotation.Nullable List statusPageUpdatesPermissions) { + this.statusPageUpdatesPermissions = statusPageUpdatesPermissions; + return this; + } + + public UpdateRoleDataAttributes addStatusPageUpdatesPermissionsItem(StatusPageUpdatesPermissionsEnum statusPageUpdatesPermissionsItem) { + if (this.statusPageUpdatesPermissions == null) { + this.statusPageUpdatesPermissions = new ArrayList<>(); + } + this.statusPageUpdatesPermissions.add(statusPageUpdatesPermissionsItem); + return this; + } + + /** + * Get statusPageUpdatesPermissions + * @return statusPageUpdatesPermissions + */ + @jakarta.annotation.Nullable + public List getStatusPageUpdatesPermissions() { + return statusPageUpdatesPermissions; + } + + public void setStatusPageUpdatesPermissions(@jakarta.annotation.Nullable List statusPageUpdatesPermissions) { + this.statusPageUpdatesPermissions = statusPageUpdatesPermissions; + } + + public UpdateRoleDataAttributes webhooksPermissions(@jakarta.annotation.Nullable List webhooksPermissions) { this.webhooksPermissions = webhooksPermissions; return this; @@ -2803,6 +2952,33 @@ public void setEdgeConnectorPermissions(@jakarta.annotation.Nullable List privateAgentPermissions) { + this.privateAgentPermissions = privateAgentPermissions; + return this; + } + + public UpdateRoleDataAttributes addPrivateAgentPermissionsItem(PrivateAgentPermissionsEnum privateAgentPermissionsItem) { + if (this.privateAgentPermissions == null) { + this.privateAgentPermissions = new ArrayList<>(); + } + this.privateAgentPermissions.add(privateAgentPermissionsItem); + return this; + } + + /** + * Private Agent management permissions: create issues enrollment tokens, read views agent inventory and details, and delete revokes agent credentials. Create and delete can be used independently through the API; browser inventory requires read. + * @return privateAgentPermissions + */ + @jakarta.annotation.Nullable + public List getPrivateAgentPermissions() { + return privateAgentPermissions; + } + + public void setPrivateAgentPermissions(@jakarta.annotation.Nullable List privateAgentPermissions) { + this.privateAgentPermissions = privateAgentPermissions; + } + + public UpdateRoleDataAttributes slasPermissions(@jakarta.annotation.Nullable List slasPermissions) { this.slasPermissions = slasPermissions; return this; @@ -2948,11 +3124,13 @@ public boolean equals(Object o) { Objects.equals(this.servicesPermissions, updateRoleDataAttributes.servicesPermissions) && Objects.equals(this.severitiesPermissions, updateRoleDataAttributes.severitiesPermissions) && Objects.equals(this.statusPagesPermissions, updateRoleDataAttributes.statusPagesPermissions) && + Objects.equals(this.statusPageUpdatesPermissions, updateRoleDataAttributes.statusPageUpdatesPermissions) && Objects.equals(this.webhooksPermissions, updateRoleDataAttributes.webhooksPermissions) && Objects.equals(this.workflowsPermissions, updateRoleDataAttributes.workflowsPermissions) && Objects.equals(this.catalogsPermissions, updateRoleDataAttributes.catalogsPermissions) && Objects.equals(this.subStatusesPermissions, updateRoleDataAttributes.subStatusesPermissions) && Objects.equals(this.edgeConnectorPermissions, updateRoleDataAttributes.edgeConnectorPermissions) && + Objects.equals(this.privateAgentPermissions, updateRoleDataAttributes.privateAgentPermissions) && Objects.equals(this.slasPermissions, updateRoleDataAttributes.slasPermissions) && Objects.equals(this.pagingPermissions, updateRoleDataAttributes.pagingPermissions) && Objects.equals(this.incidentCommunicationPermissions, updateRoleDataAttributes.incidentCommunicationPermissions) && @@ -2965,7 +3143,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, incidentPermissionSetId, isDeletable, isEditable, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions); + return Objects.hash(slug, name, incidentPermissionSetId, isDeletable, isEditable, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, statusPageUpdatesPermissions, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, privateAgentPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions); } private static int hashCodeNullable(JsonNullable a) { @@ -3006,11 +3184,13 @@ public String toString() { sb.append(" servicesPermissions: ").append(toIndentedString(servicesPermissions)).append("\n"); sb.append(" severitiesPermissions: ").append(toIndentedString(severitiesPermissions)).append("\n"); sb.append(" statusPagesPermissions: ").append(toIndentedString(statusPagesPermissions)).append("\n"); + sb.append(" statusPageUpdatesPermissions: ").append(toIndentedString(statusPageUpdatesPermissions)).append("\n"); sb.append(" webhooksPermissions: ").append(toIndentedString(webhooksPermissions)).append("\n"); sb.append(" workflowsPermissions: ").append(toIndentedString(workflowsPermissions)).append("\n"); sb.append(" catalogsPermissions: ").append(toIndentedString(catalogsPermissions)).append("\n"); sb.append(" subStatusesPermissions: ").append(toIndentedString(subStatusesPermissions)).append("\n"); sb.append(" edgeConnectorPermissions: ").append(toIndentedString(edgeConnectorPermissions)).append("\n"); + sb.append(" privateAgentPermissions: ").append(toIndentedString(privateAgentPermissions)).append("\n"); sb.append(" slasPermissions: ").append(toIndentedString(slasPermissions)).append("\n"); sb.append(" pagingPermissions: ").append(toIndentedString(pagingPermissions)).append("\n"); sb.append(" incidentCommunicationPermissions: ").append(toIndentedString(incidentCommunicationPermissions)).append("\n"); @@ -3064,11 +3244,13 @@ private String toIndentedString(Object o) { openapiFields.add("services_permissions"); openapiFields.add("severities_permissions"); openapiFields.add("status_pages_permissions"); + openapiFields.add("status_page_updates_permissions"); openapiFields.add("webhooks_permissions"); openapiFields.add("workflows_permissions"); openapiFields.add("catalogs_permissions"); openapiFields.add("sub_statuses_permissions"); openapiFields.add("edge_connector_permissions"); + openapiFields.add("private_agent_permissions"); openapiFields.add("slas_permissions"); openapiFields.add("paging_permissions"); openapiFields.add("incident_communication_permissions"); @@ -3197,6 +3379,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `status_pages_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("status_pages_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("status_page_updates_permissions") != null && !jsonObj.get("status_page_updates_permissions").isJsonNull() && !jsonObj.get("status_page_updates_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `status_page_updates_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("status_page_updates_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("webhooks_permissions") != null && !jsonObj.get("webhooks_permissions").isJsonNull() && !jsonObj.get("webhooks_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `webhooks_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("webhooks_permissions").toString())); } @@ -3217,6 +3403,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `edge_connector_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("edge_connector_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("private_agent_permissions") != null && !jsonObj.get("private_agent_permissions").isJsonNull() && !jsonObj.get("private_agent_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `private_agent_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("private_agent_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("slas_permissions") != null && !jsonObj.get("slas_permissions").isJsonNull() && !jsonObj.get("slas_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `slas_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("slas_permissions").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateSchedule.java b/src/main/java/com/rootly/client/model/UpdateSchedule.java index 683b7306..93be475b 100644 --- a/src/main/java/com/rootly/client/model/UpdateSchedule.java +++ b/src/main/java/com/rootly/client/model/UpdateSchedule.java @@ -49,7 +49,7 @@ /** * UpdateSchedule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSchedule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleData.java b/src/main/java/com/rootly/client/model/UpdateScheduleData.java index 4591f33a..b25a6035 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleData.java @@ -49,8 +49,13 @@ /** * UpdateScheduleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateScheduleData() { } + public UpdateScheduleData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateScheduleData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateScheduleData updateScheduleData = (UpdateScheduleData) o; - return Objects.equals(this.type, updateScheduleData.type) && + return Objects.equals(this.id, updateScheduleData.id) && + Objects.equals(this.type, updateScheduleData.type) && Objects.equals(this.attributes, updateScheduleData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateScheduleData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java index c795e538..ce4973ed 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewScheduleDataAttributesBusinessHours; import com.rootly.client.model.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; @@ -53,7 +54,7 @@ /** * UpdateScheduleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -70,6 +71,11 @@ public class UpdateScheduleDataAttributes { @jakarta.annotation.Nullable private Boolean allTimeCoverage; + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @jakarta.annotation.Nullable + private String timeZone; + public static final String SERIALIZED_NAME_SLACK_USER_GROUP = "slack_user_group"; @SerializedName(SERIALIZED_NAME_SLACK_USER_GROUP) @jakarta.annotation.Nullable @@ -192,6 +198,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private String shiftReportTimeZone; + public static final String SERIALIZED_NAME_BUSINESS_HOURS = "business_hours"; + @SerializedName(SERIALIZED_NAME_BUSINESS_HOURS) + @jakarta.annotation.Nullable + private NewScheduleDataAttributesBusinessHours businessHours; + public UpdateScheduleDataAttributes() { } @@ -252,6 +263,25 @@ public void setAllTimeCoverage(@jakarta.annotation.Nullable Boolean allTimeCover } + public UpdateScheduleDataAttributes timeZone(@jakarta.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * IANA time zone the schedule's rotations are rendered in. Only writable for organizations configured with one timezone per schedule; otherwise it is derived from the rotations. + * @return timeZone + */ + @jakarta.annotation.Nullable + public String getTimeZone() { + return timeZone; + } + + public void setTimeZone(@jakarta.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + } + + public UpdateScheduleDataAttributes slackUserGroup(@jakarta.annotation.Nullable NewScheduleDataAttributesSlackUserGroup slackUserGroup) { this.slackUserGroup = slackUserGroup; return this; @@ -488,6 +518,25 @@ public void setShiftReportTimeZone(@jakarta.annotation.Nullable String shiftRepo } + public UpdateScheduleDataAttributes businessHours(@jakarta.annotation.Nullable NewScheduleDataAttributesBusinessHours businessHours) { + this.businessHours = businessHours; + return this; + } + + /** + * Get businessHours + * @return businessHours + */ + @jakarta.annotation.Nullable + public NewScheduleDataAttributesBusinessHours getBusinessHours() { + return businessHours; + } + + public void setBusinessHours(@jakarta.annotation.Nullable NewScheduleDataAttributesBusinessHours businessHours) { + this.businessHours = businessHours; + } + + @Override public boolean equals(Object o) { @@ -501,6 +550,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, updateScheduleDataAttributes.name) && Objects.equals(this.description, updateScheduleDataAttributes.description) && Objects.equals(this.allTimeCoverage, updateScheduleDataAttributes.allTimeCoverage) && + Objects.equals(this.timeZone, updateScheduleDataAttributes.timeZone) && Objects.equals(this.slackUserGroup, updateScheduleDataAttributes.slackUserGroup) && Objects.equals(this.slackChannel, updateScheduleDataAttributes.slackChannel) && Objects.equals(this.ownerGroupIds, updateScheduleDataAttributes.ownerGroupIds) && @@ -512,7 +562,8 @@ public boolean equals(Object o) { Objects.equals(this.shiftReportEnabled, updateScheduleDataAttributes.shiftReportEnabled) && Objects.equals(this.shiftReportDayOfWeek, updateScheduleDataAttributes.shiftReportDayOfWeek) && Objects.equals(this.shiftReportTimeOfDay, updateScheduleDataAttributes.shiftReportTimeOfDay) && - Objects.equals(this.shiftReportTimeZone, updateScheduleDataAttributes.shiftReportTimeZone); + Objects.equals(this.shiftReportTimeZone, updateScheduleDataAttributes.shiftReportTimeZone) && + Objects.equals(this.businessHours, updateScheduleDataAttributes.businessHours); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -521,7 +572,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, allTimeCoverage, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, syncLinearEnabled, includeShadowsInSlackNotifications, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, shiftReportEnabled, shiftReportDayOfWeek, shiftReportTimeOfDay, shiftReportTimeZone); + return Objects.hash(name, description, allTimeCoverage, timeZone, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, syncLinearEnabled, includeShadowsInSlackNotifications, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, shiftReportEnabled, shiftReportDayOfWeek, shiftReportTimeOfDay, shiftReportTimeZone, businessHours); } private static int hashCodeNullable(JsonNullable a) { @@ -538,6 +589,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" allTimeCoverage: ").append(toIndentedString(allTimeCoverage)).append("\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); sb.append(" slackUserGroup: ").append(toIndentedString(slackUserGroup)).append("\n"); sb.append(" slackChannel: ").append(toIndentedString(slackChannel)).append("\n"); sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); @@ -550,6 +602,7 @@ public String toString() { sb.append(" shiftReportDayOfWeek: ").append(toIndentedString(shiftReportDayOfWeek)).append("\n"); sb.append(" shiftReportTimeOfDay: ").append(toIndentedString(shiftReportTimeOfDay)).append("\n"); sb.append(" shiftReportTimeZone: ").append(toIndentedString(shiftReportTimeZone)).append("\n"); + sb.append(" businessHours: ").append(toIndentedString(businessHours)).append("\n"); sb.append("}"); return sb.toString(); } @@ -575,6 +628,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("all_time_coverage"); + openapiFields.add("time_zone"); openapiFields.add("slack_user_group"); openapiFields.add("slack_channel"); openapiFields.add("owner_group_ids"); @@ -587,6 +641,7 @@ private String toIndentedString(Object o) { openapiFields.add("shift_report_day_of_week"); openapiFields.add("shift_report_time_of_day"); openapiFields.add("shift_report_time_zone"); + openapiFields.add("business_hours"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -619,6 +674,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); } + if ((jsonObj.get("time_zone") != null && !jsonObj.get("time_zone").isJsonNull()) && !jsonObj.get("time_zone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("time_zone").toString())); + } // validate the optional field `slack_user_group` if (jsonObj.get("slack_user_group") != null && !jsonObj.get("slack_user_group").isJsonNull()) { NewScheduleDataAttributesSlackUserGroup.validateJsonElement(jsonObj.get("slack_user_group")); @@ -644,6 +702,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("shift_report_time_zone") != null && !jsonObj.get("shift_report_time_zone").isJsonNull()) && !jsonObj.get("shift_report_time_zone").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `shift_report_time_zone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shift_report_time_zone").toString())); } + // validate the optional field `business_hours` + if (jsonObj.get("business_hours") != null && !jsonObj.get("business_hours").isJsonNull()) { + NewScheduleDataAttributesBusinessHours.validateJsonElement(jsonObj.get("business_hours")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java index a92a4e4d..3a1f95e5 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java @@ -49,7 +49,7 @@ /** * UpdateScheduleRotation */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotation { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDay.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDay.java index 50b47e57..2130da90 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDay.java @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationActiveDay */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationActiveDay { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java index 0e3a99ea..433defd2 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java @@ -49,8 +49,13 @@ /** * UpdateScheduleRotationActiveDayData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationActiveDayData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateScheduleRotationActiveDayData() { } + public UpdateScheduleRotationActiveDayData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateScheduleRotationActiveDayData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateScheduleRotationActiveDayData updateScheduleRotationActiveDayData = (UpdateScheduleRotationActiveDayData) o; - return Objects.equals(this.type, updateScheduleRotationActiveDayData.type) && + return Objects.equals(this.id, updateScheduleRotationActiveDayData.id) && + Objects.equals(this.type, updateScheduleRotationActiveDayData.type) && Objects.equals(this.attributes, updateScheduleRotationActiveDayData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateScheduleRotationActiveDayData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java index 149e2116..97fc1b0d 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateScheduleRotationActiveDayDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationActiveDayDataAttributes { /** * Schedule rotation day name for which active times to be created diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java index 7edf3fa3..47b02ebb 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java @@ -49,8 +49,13 @@ /** * UpdateScheduleRotationData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateScheduleRotationData() { } + public UpdateScheduleRotationData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateScheduleRotationData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateScheduleRotationData updateScheduleRotationData = (UpdateScheduleRotationData) o; - return Objects.equals(this.type, updateScheduleRotationData.type) && + return Objects.equals(this.id, updateScheduleRotationData.id) && + Objects.equals(this.type, updateScheduleRotationData.type) && Objects.equals(this.attributes, updateScheduleRotationData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateScheduleRotationData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java index 9315ec4b..1e02d691 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java @@ -55,7 +55,7 @@ /** * UpdateScheduleRotationDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -457,7 +457,7 @@ public UpdateScheduleRotationDataAttributes timeZone(@jakarta.annotation.Nullabl } /** - * A valid IANA time zone name. + * A valid IANA time zone name. Organizations with one timezone per schedule manage this on the schedule; a value differing from the schedule's is rejected. * @return timeZone */ @jakarta.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java index 69fd3c9f..b3785fac 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java index 8d5d41dd..cc3cfc30 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java @@ -49,8 +49,13 @@ /** * UpdateScheduleRotationUserData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationUserData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateScheduleRotationUserData() { } + public UpdateScheduleRotationUserData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateScheduleRotationUserData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateScheduleRotationUserData updateScheduleRotationUserData = (UpdateScheduleRotationUserData) o; - return Objects.equals(this.type, updateScheduleRotationUserData.type) && + return Objects.equals(this.id, updateScheduleRotationUserData.id) && + Objects.equals(this.type, updateScheduleRotationUserData.type) && Objects.equals(this.attributes, updateScheduleRotationUserData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateScheduleRotationUserData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java index 2623d7f8..ddea1704 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateScheduleRotationUserDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationUserDataAttributes { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateSecret.java b/src/main/java/com/rootly/client/model/UpdateSecret.java index d767a8ef..7c5a74f3 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecret.java +++ b/src/main/java/com/rootly/client/model/UpdateSecret.java @@ -49,7 +49,7 @@ /** * UpdateSecret */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecret { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateSecretData.java b/src/main/java/com/rootly/client/model/UpdateSecretData.java index d08c7cdf..7517a12f 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecretData.java +++ b/src/main/java/com/rootly/client/model/UpdateSecretData.java @@ -49,8 +49,13 @@ /** * UpdateSecretData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecretData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateSecretData() { } + public UpdateSecretData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateSecretData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateSecretData updateSecretData = (UpdateSecretData) o; - return Objects.equals(this.type, updateSecretData.type) && + return Objects.equals(this.id, updateSecretData.id) && + Objects.equals(this.type, updateSecretData.type) && Objects.equals(this.attributes, updateSecretData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateSecretData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java index 71d88743..c6d844fd 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; @@ -49,7 +51,7 @@ /** * UpdateSecretDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecretDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -76,6 +78,11 @@ public class UpdateSecretDataAttributes { @jakarta.annotation.Nullable private Integer hashicorpVaultVersion = 0; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @jakarta.annotation.Nullable + private List ownerGroupIds; + public UpdateSecretDataAttributes() { } @@ -174,6 +181,33 @@ public void setHashicorpVaultVersion(@jakarta.annotation.Nullable Integer hashic } + public UpdateSecretDataAttributes ownerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + return this; + } + + public UpdateSecretDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); + } + this.ownerGroupIds.add(ownerGroupIdsItem); + return this; + } + + /** + * IDs of the teams whose members can see and pick this secret; their team admins can manage it. Empty means only users with the org Secrets permission can. Ignored unless team scoping is enabled for the organization. + * @return ownerGroupIds + */ + @jakarta.annotation.Nullable + public List getOwnerGroupIds() { + return ownerGroupIds; + } + + public void setOwnerGroupIds(@jakarta.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; + } + + @Override public boolean equals(Object o) { @@ -188,7 +222,8 @@ public boolean equals(Object o) { Objects.equals(this.secret, updateSecretDataAttributes.secret) && Objects.equals(this.hashicorpVaultMount, updateSecretDataAttributes.hashicorpVaultMount) && Objects.equals(this.hashicorpVaultPath, updateSecretDataAttributes.hashicorpVaultPath) && - Objects.equals(this.hashicorpVaultVersion, updateSecretDataAttributes.hashicorpVaultVersion); + Objects.equals(this.hashicorpVaultVersion, updateSecretDataAttributes.hashicorpVaultVersion) && + Objects.equals(this.ownerGroupIds, updateSecretDataAttributes.ownerGroupIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -197,7 +232,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, secret, hashicorpVaultMount, hashicorpVaultPath, hashicorpVaultVersion); + return Objects.hash(name, secret, hashicorpVaultMount, hashicorpVaultPath, hashicorpVaultVersion, ownerGroupIds); } private static int hashCodeNullable(JsonNullable a) { @@ -216,6 +251,7 @@ public String toString() { sb.append(" hashicorpVaultMount: ").append(toIndentedString(hashicorpVaultMount)).append("\n"); sb.append(" hashicorpVaultPath: ").append(toIndentedString(hashicorpVaultPath)).append("\n"); sb.append(" hashicorpVaultVersion: ").append(toIndentedString(hashicorpVaultVersion)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -243,6 +279,7 @@ private String toIndentedString(Object o) { openapiFields.add("hashicorp_vault_mount"); openapiFields.add("hashicorp_vault_path"); openapiFields.add("hashicorp_vault_version"); + openapiFields.add("owner_group_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -289,6 +326,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("hashicorp_vault_path") != null && !jsonObj.get("hashicorp_vault_path").isJsonNull()) && !jsonObj.get("hashicorp_vault_path").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `hashicorp_vault_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("hashicorp_vault_path").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("owner_group_ids") != null && !jsonObj.get("owner_group_ids").isJsonNull() && !jsonObj.get("owner_group_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owner_group_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateService.java b/src/main/java/com/rootly/client/model/UpdateService.java index e5a6ad9f..0e9dff58 100644 --- a/src/main/java/com/rootly/client/model/UpdateService.java +++ b/src/main/java/com/rootly/client/model/UpdateService.java @@ -49,7 +49,7 @@ /** * UpdateService */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateService { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateServiceData.java b/src/main/java/com/rootly/client/model/UpdateServiceData.java index 83b4d455..dfa73539 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceData.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceData.java @@ -49,8 +49,13 @@ /** * UpdateServiceData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateServiceData() { } + public UpdateServiceData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateServiceData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateServiceData updateServiceData = (UpdateServiceData) o; - return Objects.equals(this.type, updateServiceData.type) && + return Objects.equals(this.id, updateServiceData.id) && + Objects.equals(this.type, updateServiceData.type) && Objects.equals(this.attributes, updateServiceData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateServiceData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java index 8c821f68..545746cd 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java @@ -56,7 +56,7 @@ /** * UpdateServiceDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java index 2e4bf905..097d65fd 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java @@ -51,7 +51,7 @@ /** * UpdateServiceNowIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceNowIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateSeverity.java b/src/main/java/com/rootly/client/model/UpdateSeverity.java index ef3fd627..3cf5aeec 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverity.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverity.java @@ -49,7 +49,7 @@ /** * UpdateSeverity */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverity { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateSeverityData.java b/src/main/java/com/rootly/client/model/UpdateSeverityData.java index a611eb6d..30ece2ca 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverityData.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverityData.java @@ -49,8 +49,13 @@ /** * UpdateSeverityData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverityData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateSeverityData() { } + public UpdateSeverityData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateSeverityData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateSeverityData updateSeverityData = (UpdateSeverityData) o; - return Objects.equals(this.type, updateSeverityData.type) && + return Objects.equals(this.id, updateSeverityData.id) && + Objects.equals(this.type, updateSeverityData.type) && Objects.equals(this.attributes, updateSeverityData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateSeverityData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java index 167aab3f..02b8a9f1 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateSeverityDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverityDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java index 95465743..0df434c1 100644 --- a/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateSharepointPageTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSharepointPageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java b/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java index 702ba86a..f61cafc0 100644 --- a/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateShortcutStoryTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateShortcutStoryTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java index a51bc679..880fa228 100644 --- a/src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateShortcutTaskTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateShortcutTaskTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateSla.java b/src/main/java/com/rootly/client/model/UpdateSla.java index 8e1fc24c..64219077 100644 --- a/src/main/java/com/rootly/client/model/UpdateSla.java +++ b/src/main/java/com/rootly/client/model/UpdateSla.java @@ -49,7 +49,7 @@ /** * UpdateSla */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSla { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateSlaData.java b/src/main/java/com/rootly/client/model/UpdateSlaData.java index 04de6ff2..a77891bd 100644 --- a/src/main/java/com/rootly/client/model/UpdateSlaData.java +++ b/src/main/java/com/rootly/client/model/UpdateSlaData.java @@ -49,8 +49,13 @@ /** * UpdateSlaData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlaData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateSlaData() { } + public UpdateSlaData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateSlaData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateSlaData updateSlaData = (UpdateSlaData) o; - return Objects.equals(this.type, updateSlaData.type) && + return Objects.equals(this.id, updateSlaData.id) && + Objects.equals(this.type, updateSlaData.type) && Objects.equals(this.attributes, updateSlaData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateSlaData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java index 342cfb4e..316745e8 100644 --- a/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdateSlaDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlaDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateSlackCanvasTaskParams.java b/src/main/java/com/rootly/client/model/UpdateSlackCanvasTaskParams.java new file mode 100644 index 00000000..0cd0f85f --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateSlackCanvasTaskParams.java @@ -0,0 +1,511 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * Update the selected channel canvas using Markdown. The connected Slack app must have Canvas permissions. + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateSlackCanvasTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + UPDATE_SLACK_CANVAS("update_slack_canvas"); + + private String value; + + TaskTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TaskTypeEnum fromValue(String value) { + for (TaskTypeEnum b : TaskTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TaskTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TaskTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TaskTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TaskTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TASK_TYPE = "task_type"; + @SerializedName(SERIALIZED_NAME_TASK_TYPE) + @jakarta.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_CHANNEL = "channel"; + @SerializedName(SERIALIZED_NAME_CHANNEL) + @jakarta.annotation.Nonnull + private CreateSlackCanvasTaskParamsChannel channel; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @jakarta.annotation.Nonnull + private String content; + + /** + * Append content or replace the selected table or entire canvas. + */ + @JsonAdapter(OperationEnum.Adapter.class) + public enum OperationEnum { + INSERT_AT_END("insert_at_end"), + + REPLACE("replace"); + + private String value; + + OperationEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OperationEnum fromValue(String value) { + for (OperationEnum b : OperationEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final OperationEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OperationEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OperationEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OperationEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OPERATION = "operation"; + @SerializedName(SERIALIZED_NAME_OPERATION) + @jakarta.annotation.Nullable + private OperationEnum operation = OperationEnum.INSERT_AT_END; + + public static final String SERIALIZED_NAME_SECTION_NAME = "section_name"; + @SerializedName(SERIALIZED_NAME_SECTION_NAME) + @jakarta.annotation.Nullable + private String sectionName; + + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + + public UpdateSlackCanvasTaskParams() { + } + + public UpdateSlackCanvasTaskParams taskType(@jakarta.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @jakarta.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@jakarta.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public UpdateSlackCanvasTaskParams channel(@jakarta.annotation.Nonnull CreateSlackCanvasTaskParamsChannel channel) { + this.channel = channel; + return this; + } + + /** + * Get channel + * @return channel + */ + @jakarta.annotation.Nonnull + public CreateSlackCanvasTaskParamsChannel getChannel() { + return channel; + } + + public void setChannel(@jakarta.annotation.Nonnull CreateSlackCanvasTaskParamsChannel channel) { + this.channel = channel; + } + + + public UpdateSlackCanvasTaskParams content(@jakarta.annotation.Nonnull String content) { + this.content = content; + return this; + } + + /** + * The canvas content in Markdown. Supports Liquid variables. + * @return content + */ + @jakarta.annotation.Nonnull + public String getContent() { + return content; + } + + public void setContent(@jakarta.annotation.Nonnull String content) { + this.content = content; + } + + + public UpdateSlackCanvasTaskParams operation(@jakarta.annotation.Nullable OperationEnum operation) { + this.operation = operation; + return this; + } + + /** + * Append content or replace the selected table or entire canvas. + * @return operation + */ + @jakarta.annotation.Nullable + public OperationEnum getOperation() { + return operation; + } + + public void setOperation(@jakarta.annotation.Nullable OperationEnum operation) { + this.operation = operation; + } + + + public UpdateSlackCanvasTaskParams sectionName(@jakarta.annotation.Nullable String sectionName) { + this.sectionName = sectionName; + return this; + } + + /** + * With replace, target the single table containing this label. Include the label in the replacement table. Blank replaces the entire canvas. Supports Liquid. + * @return sectionName + */ + @jakarta.annotation.Nullable + public String getSectionName() { + return sectionName; + } + + public void setSectionName(@jakarta.annotation.Nullable String sectionName) { + this.sectionName = sectionName; + } + + + public UpdateSlackCanvasTaskParams retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. + * @return retryCount + */ + @jakarta.annotation.Nullable + public Integer getRetryCount() { + return retryCount; + } + + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public UpdateSlackCanvasTaskParams retryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + return this; + } + + /** + * Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. + * @return retryWaitTime + */ + @jakarta.annotation.Nullable + public Integer getRetryWaitTime() { + return retryWaitTime; + } + + public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateSlackCanvasTaskParams updateSlackCanvasTaskParams = (UpdateSlackCanvasTaskParams) o; + return Objects.equals(this.taskType, updateSlackCanvasTaskParams.taskType) && + Objects.equals(this.channel, updateSlackCanvasTaskParams.channel) && + Objects.equals(this.content, updateSlackCanvasTaskParams.content) && + Objects.equals(this.operation, updateSlackCanvasTaskParams.operation) && + Objects.equals(this.sectionName, updateSlackCanvasTaskParams.sectionName) && + Objects.equals(this.retryCount, updateSlackCanvasTaskParams.retryCount) && + Objects.equals(this.retryWaitTime, updateSlackCanvasTaskParams.retryWaitTime); + } + + private static boolean equalsNullable(JsonNullable a, JsonNullable b) { + return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get())); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, channel, content, operation, sectionName, retryCount, retryWaitTime); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateSlackCanvasTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" channel: ").append(toIndentedString(channel)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" sectionName: ").append(toIndentedString(sectionName)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("task_type"); + openapiFields.add("channel"); + openapiFields.add("content"); + openapiFields.add("operation"); + openapiFields.add("section_name"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("channel"); + openapiRequiredFields.add("content"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateSlackCanvasTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateSlackCanvasTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateSlackCanvasTaskParams is not found in the empty JSON string", UpdateSlackCanvasTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateSlackCanvasTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateSlackCanvasTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateSlackCanvasTaskParams.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) && !jsonObj.get("task_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `task_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("task_type").toString())); + } + // validate the optional field `task_type` + if (jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) { + TaskTypeEnum.validateJsonElement(jsonObj.get("task_type")); + } + // validate the required field `channel` + CreateSlackCanvasTaskParamsChannel.validateJsonElement(jsonObj.get("channel")); + if (!jsonObj.get("content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content").toString())); + } + if ((jsonObj.get("operation") != null && !jsonObj.get("operation").isJsonNull()) && !jsonObj.get("operation").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `operation` to be a primitive type in the JSON string but got `%s`", jsonObj.get("operation").toString())); + } + // validate the optional field `operation` + if (jsonObj.get("operation") != null && !jsonObj.get("operation").isJsonNull()) { + OperationEnum.validateJsonElement(jsonObj.get("operation")); + } + if ((jsonObj.get("section_name") != null && !jsonObj.get("section_name").isJsonNull()) && !jsonObj.get("section_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `section_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("section_name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateSlackCanvasTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateSlackCanvasTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlackCanvasTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateSlackCanvasTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateSlackCanvasTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateSlackCanvasTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateSlackCanvasTaskParams + * @throws IOException if the JSON string is invalid with respect to UpdateSlackCanvasTaskParams + */ + public static UpdateSlackCanvasTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateSlackCanvasTaskParams.class); + } + + /** + * Convert an instance of UpdateSlackCanvasTaskParams to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java b/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java index 5e30c12b..80cda41f 100644 --- a/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java @@ -49,7 +49,7 @@ /** * UpdateSlackChannelTopicTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlackChannelTopicTaskParams { /** * Gets or Sets taskType @@ -116,6 +116,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nonnull private String topic; + public static final String SERIALIZED_NAME_RETRY_COUNT = "retry_count"; + @SerializedName(SERIALIZED_NAME_RETRY_COUNT) + @jakarta.annotation.Nullable + private Integer retryCount = 0; + + public static final String SERIALIZED_NAME_RETRY_WAIT_TIME = "retry_wait_time"; + @SerializedName(SERIALIZED_NAME_RETRY_WAIT_TIME) + @jakarta.annotation.Nullable + private Integer retryWaitTime = 1; + public UpdateSlackChannelTopicTaskParams() { } @@ -176,6 +186,44 @@ public void setTopic(@jakarta.annotation.Nonnull String topic) { } + public UpdateSlackChannelTopicTaskParams retryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + return this; + } + + /** + * Number of times to retry on rate-limit (HTTP 429) responses (0-4). 0 disables retry. + * @return retryCount + */ + @jakarta.annotation.Nullable + public Integer getRetryCount() { + return retryCount; + } + + public void setRetryCount(@jakarta.annotation.Nullable Integer retryCount) { + this.retryCount = retryCount; + } + + + public UpdateSlackChannelTopicTaskParams retryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + return this; + } + + /** + * Seconds to wait before each retry (1-15). Retry-After header is honored when present and <= 90s, taking the larger of retry_wait_time and the header value. + * @return retryWaitTime + */ + @jakarta.annotation.Nullable + public Integer getRetryWaitTime() { + return retryWaitTime; + } + + public void setRetryWaitTime(@jakarta.annotation.Nullable Integer retryWaitTime) { + this.retryWaitTime = retryWaitTime; + } + + @Override public boolean equals(Object o) { @@ -188,12 +236,14 @@ public boolean equals(Object o) { UpdateSlackChannelTopicTaskParams updateSlackChannelTopicTaskParams = (UpdateSlackChannelTopicTaskParams) o; return Objects.equals(this.taskType, updateSlackChannelTopicTaskParams.taskType) && Objects.equals(this.channel, updateSlackChannelTopicTaskParams.channel) && - Objects.equals(this.topic, updateSlackChannelTopicTaskParams.topic); + Objects.equals(this.topic, updateSlackChannelTopicTaskParams.topic) && + Objects.equals(this.retryCount, updateSlackChannelTopicTaskParams.retryCount) && + Objects.equals(this.retryWaitTime, updateSlackChannelTopicTaskParams.retryWaitTime); } @Override public int hashCode() { - return Objects.hash(taskType, channel, topic); + return Objects.hash(taskType, channel, topic, retryCount, retryWaitTime); } @Override @@ -203,6 +253,8 @@ public String toString() { sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); sb.append(" channel: ").append(toIndentedString(channel)).append("\n"); sb.append(" topic: ").append(toIndentedString(topic)).append("\n"); + sb.append(" retryCount: ").append(toIndentedString(retryCount)).append("\n"); + sb.append(" retryWaitTime: ").append(toIndentedString(retryWaitTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -228,6 +280,8 @@ private String toIndentedString(Object o) { openapiFields.add("task_type"); openapiFields.add("channel"); openapiFields.add("topic"); + openapiFields.add("retry_count"); + openapiFields.add("retry_wait_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPage.java b/src/main/java/com/rootly/client/model/UpdateStatusPage.java index f29ff0b4..6e8a6a9a 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPage.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPage.java @@ -49,7 +49,7 @@ /** * UpdateStatusPage */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPage { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncement.java b/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncement.java index c09b0e06..03843fbd 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncement.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncement.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageAnnouncement */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageAnnouncement { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementData.java index 1e6da9de..0a3aed8a 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementData.java @@ -49,8 +49,13 @@ /** * UpdateStatusPageAnnouncementData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageAnnouncementData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateStatusPageAnnouncementData() { } + public UpdateStatusPageAnnouncementData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateStatusPageAnnouncementData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateStatusPageAnnouncementData updateStatusPageAnnouncementData = (UpdateStatusPageAnnouncementData) o; - return Objects.equals(this.type, updateStatusPageAnnouncementData.type) && + return Objects.equals(this.id, updateStatusPageAnnouncementData.id) && + Objects.equals(this.type, updateStatusPageAnnouncementData.type) && Objects.equals(this.attributes, updateStatusPageAnnouncementData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateStatusPageAnnouncementData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataAttributes.java index ec5db18f..5ae4867b 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateStatusPageAnnouncementDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageAnnouncementDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageComponent.java b/src/main/java/com/rootly/client/model/UpdateStatusPageComponent.java index 082c7bd6..8e92fb29 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageComponent.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageComponent.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageComponent */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageComponent { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentData.java index cd094fb4..cd87491e 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentData.java @@ -49,8 +49,13 @@ /** * UpdateStatusPageComponentData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageComponentData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateStatusPageComponentData() { } + public UpdateStatusPageComponentData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateStatusPageComponentData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateStatusPageComponentData updateStatusPageComponentData = (UpdateStatusPageComponentData) o; - return Objects.equals(this.type, updateStatusPageComponentData.type) && + return Objects.equals(this.id, updateStatusPageComponentData.id) && + Objects.equals(this.type, updateStatusPageComponentData.type) && Objects.equals(this.attributes, updateStatusPageComponentData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateStatusPageComponentData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentDataAttributes.java index 9c397b8b..ec6b215d 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageComponentDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageComponentDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroup.java b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroup.java index ccfe39a5..045a8879 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroup.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageComponentGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageComponentGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupData.java index 63d84492..361a4077 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupData.java @@ -49,8 +49,13 @@ /** * UpdateStatusPageComponentGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageComponentGroupData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateStatusPageComponentGroupData() { } + public UpdateStatusPageComponentGroupData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateStatusPageComponentGroupData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateStatusPageComponentGroupData updateStatusPageComponentGroupData = (UpdateStatusPageComponentGroupData) o; - return Objects.equals(this.type, updateStatusPageComponentGroupData.type) && + return Objects.equals(this.id, updateStatusPageComponentGroupData.id) && + Objects.equals(this.type, updateStatusPageComponentGroupData.type) && Objects.equals(this.attributes, updateStatusPageComponentGroupData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateStatusPageComponentGroupData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataAttributes.java index edf9e86d..ad53525e 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageComponentGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageComponentGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageData.java index 886d399e..0f420c36 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageData.java @@ -49,8 +49,13 @@ /** * UpdateStatusPageData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateStatusPageData() { } + public UpdateStatusPageData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateStatusPageData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateStatusPageData updateStatusPageData = (UpdateStatusPageData) o; - return Objects.equals(this.type, updateStatusPageData.type) && + return Objects.equals(this.id, updateStatusPageData.id) && + Objects.equals(this.type, updateStatusPageData.type) && Objects.equals(this.attributes, updateStatusPageData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateStatusPageData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java index 14f141fb..395e57cf 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateStatusPageDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTeam.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTeam.java new file mode 100644 index 00000000..530c8146 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTeam.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateStatusPageTeamData; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateStatusPageTeam + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateStatusPageTeam { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @jakarta.annotation.Nonnull + private UpdateStatusPageTeamData data; + + public UpdateStatusPageTeam() { + } + + public UpdateStatusPageTeam data(@jakarta.annotation.Nonnull UpdateStatusPageTeamData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @jakarta.annotation.Nonnull + public UpdateStatusPageTeamData getData() { + return data; + } + + public void setData(@jakarta.annotation.Nonnull UpdateStatusPageTeamData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateStatusPageTeam updateStatusPageTeam = (UpdateStatusPageTeam) o; + return Objects.equals(this.data, updateStatusPageTeam.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateStatusPageTeam {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("data"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("data"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateStatusPageTeam + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateStatusPageTeam.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateStatusPageTeam is not found in the empty JSON string", UpdateStatusPageTeam.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateStatusPageTeam.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateStatusPageTeam` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateStatusPageTeam.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `data` + UpdateStatusPageTeamData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateStatusPageTeam.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateStatusPageTeam' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateStatusPageTeam.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateStatusPageTeam value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateStatusPageTeam read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateStatusPageTeam given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateStatusPageTeam + * @throws IOException if the JSON string is invalid with respect to UpdateStatusPageTeam + */ + public static UpdateStatusPageTeam fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateStatusPageTeam.class); + } + + /** + * Convert an instance of UpdateStatusPageTeam to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTeamData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTeamData.java new file mode 100644 index 00000000..b59044f7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTeamData.java @@ -0,0 +1,327 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateStatusPageTeamDataAttributes; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateStatusPageTeamData + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateStatusPageTeamData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + STATUS_PAGE_GROUPS("status_page_groups"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @jakarta.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @jakarta.annotation.Nonnull + private UpdateStatusPageTeamDataAttributes attributes; + + public UpdateStatusPageTeamData() { + } + + public UpdateStatusPageTeamData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateStatusPageTeamData type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @jakarta.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateStatusPageTeamData attributes(@jakarta.annotation.Nonnull UpdateStatusPageTeamDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @jakarta.annotation.Nonnull + public UpdateStatusPageTeamDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@jakarta.annotation.Nonnull UpdateStatusPageTeamDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateStatusPageTeamData updateStatusPageTeamData = (UpdateStatusPageTeamData) o; + return Objects.equals(this.id, updateStatusPageTeamData.id) && + Objects.equals(this.type, updateStatusPageTeamData.type) && + Objects.equals(this.attributes, updateStatusPageTeamData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateStatusPageTeamData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("type"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("attributes"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateStatusPageTeamData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateStatusPageTeamData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateStatusPageTeamData is not found in the empty JSON string", UpdateStatusPageTeamData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateStatusPageTeamData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateStatusPageTeamData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateStatusPageTeamData.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if (!jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the required field `type` + TypeEnum.validateJsonElement(jsonObj.get("type")); + // validate the required field `attributes` + UpdateStatusPageTeamDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateStatusPageTeamData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateStatusPageTeamData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateStatusPageTeamData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateStatusPageTeamData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateStatusPageTeamData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateStatusPageTeamData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateStatusPageTeamData + * @throws IOException if the JSON string is invalid with respect to UpdateStatusPageTeamData + */ + public static UpdateStatusPageTeamData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateStatusPageTeamData.class); + } + + /** + * Convert an instance of UpdateStatusPageTeamData to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributes.java new file mode 100644 index 00000000..0c2ef106 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributes.java @@ -0,0 +1,262 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * UpdateStatusPageTeamDataAttributes + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateStatusPageTeamDataAttributes { + /** + * publish_only lets team members post status page updates and announcements. edit_and_publish also lets them edit the page, its components, templates, and subscribers + */ + @JsonAdapter(PermissionLevelEnum.Adapter.class) + public enum PermissionLevelEnum { + EDIT_AND_PUBLISH("edit_and_publish"), + + PUBLISH_ONLY("publish_only"); + + private String value; + + PermissionLevelEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PermissionLevelEnum fromValue(String value) { + for (PermissionLevelEnum b : PermissionLevelEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PermissionLevelEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PermissionLevelEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PermissionLevelEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PermissionLevelEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PERMISSION_LEVEL = "permission_level"; + @SerializedName(SERIALIZED_NAME_PERMISSION_LEVEL) + @jakarta.annotation.Nullable + private PermissionLevelEnum permissionLevel; + + public UpdateStatusPageTeamDataAttributes() { + } + + public UpdateStatusPageTeamDataAttributes permissionLevel(@jakarta.annotation.Nullable PermissionLevelEnum permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + /** + * publish_only lets team members post status page updates and announcements. edit_and_publish also lets them edit the page, its components, templates, and subscribers + * @return permissionLevel + */ + @jakarta.annotation.Nullable + public PermissionLevelEnum getPermissionLevel() { + return permissionLevel; + } + + public void setPermissionLevel(@jakarta.annotation.Nullable PermissionLevelEnum permissionLevel) { + this.permissionLevel = permissionLevel; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateStatusPageTeamDataAttributes updateStatusPageTeamDataAttributes = (UpdateStatusPageTeamDataAttributes) o; + return Objects.equals(this.permissionLevel, updateStatusPageTeamDataAttributes.permissionLevel); + } + + @Override + public int hashCode() { + return Objects.hash(permissionLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateStatusPageTeamDataAttributes {\n"); + sb.append(" permissionLevel: ").append(toIndentedString(permissionLevel)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("permission_level"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateStatusPageTeamDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateStatusPageTeamDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateStatusPageTeamDataAttributes is not found in the empty JSON string", UpdateStatusPageTeamDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateStatusPageTeamDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateStatusPageTeamDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("permission_level") != null && !jsonObj.get("permission_level").isJsonNull()) && !jsonObj.get("permission_level").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `permission_level` to be a primitive type in the JSON string but got `%s`", jsonObj.get("permission_level").toString())); + } + // validate the optional field `permission_level` + if (jsonObj.get("permission_level") != null && !jsonObj.get("permission_level").isJsonNull()) { + PermissionLevelEnum.validateJsonElement(jsonObj.get("permission_level")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateStatusPageTeamDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateStatusPageTeamDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateStatusPageTeamDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateStatusPageTeamDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateStatusPageTeamDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateStatusPageTeamDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateStatusPageTeamDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateStatusPageTeamDataAttributes + */ + public static UpdateStatusPageTeamDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateStatusPageTeamDataAttributes.class); + } + + /** + * Convert an instance of UpdateStatusPageTeamDataAttributes to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java index 29cdf543..36d9cbca 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageTemplate */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageTemplate { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java index 360496b8..4d2433bb 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java @@ -49,8 +49,13 @@ /** * UpdateStatusPageTemplateData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageTemplateData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateStatusPageTemplateData() { } + public UpdateStatusPageTemplateData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateStatusPageTemplateData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateStatusPageTemplateData updateStatusPageTemplateData = (UpdateStatusPageTemplateData) o; - return Objects.equals(this.type, updateStatusPageTemplateData.type) && + return Objects.equals(this.id, updateStatusPageTemplateData.id) && + Objects.equals(this.type, updateStatusPageTemplateData.type) && Objects.equals(this.attributes, updateStatusPageTemplateData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateStatusPageTemplateData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java index 097d97fc..e584e10d 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageTemplateDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageTemplateDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java b/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java index b423a2a1..f26c4a0d 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateStatusTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateSubStatus.java b/src/main/java/com/rootly/client/model/UpdateSubStatus.java index 3cb8c590..18881272 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatus.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatus.java @@ -49,7 +49,7 @@ /** * UpdateSubStatus */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatus { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateSubStatusData.java b/src/main/java/com/rootly/client/model/UpdateSubStatusData.java index fbd4d2ee..45d46451 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatusData.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatusData.java @@ -49,8 +49,13 @@ /** * UpdateSubStatusData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatusData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateSubStatusData() { } + public UpdateSubStatusData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateSubStatusData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateSubStatusData updateSubStatusData = (UpdateSubStatusData) o; - return Objects.equals(this.type, updateSubStatusData.type) && + return Objects.equals(this.id, updateSubStatusData.id) && + Objects.equals(this.type, updateSubStatusData.type) && Objects.equals(this.attributes, updateSubStatusData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateSubStatusData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java index 2b303b95..716e9383 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateSubStatusDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatusDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated diff --git a/src/main/java/com/rootly/client/model/UpdateTeam.java b/src/main/java/com/rootly/client/model/UpdateTeam.java index 1a6b71de..4a2fad7f 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeam.java +++ b/src/main/java/com/rootly/client/model/UpdateTeam.java @@ -49,7 +49,7 @@ /** * UpdateTeam */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeam { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateTeamData.java b/src/main/java/com/rootly/client/model/UpdateTeamData.java index a8d1f391..f1482182 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeamData.java +++ b/src/main/java/com/rootly/client/model/UpdateTeamData.java @@ -49,8 +49,13 @@ /** * UpdateTeamData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeamData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateTeamData() { } + public UpdateTeamData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateTeamData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateTeamData updateTeamData = (UpdateTeamData) o; - return Objects.equals(this.type, updateTeamData.type) && + return Objects.equals(this.id, updateTeamData.id) && + Objects.equals(this.type, updateTeamData.type) && Objects.equals(this.attributes, updateTeamData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateTeamData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java index 9335ab73..7091bdb5 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java @@ -56,7 +56,7 @@ /** * UpdateTeamDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeamDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -139,6 +139,16 @@ public class UpdateTeamDataAttributes { @jakarta.annotation.Nullable private String serviceNowCiSysId; + public static final String SERIALIZED_NAME_SCIM_GROUP_ID = "scim_group_id"; + @SerializedName(SERIALIZED_NAME_SCIM_GROUP_ID) + @jakarta.annotation.Nullable + private String scimGroupId; + + public static final String SERIALIZED_NAME_SCIM_GROUP_EXTERNAL_ID = "scim_group_external_id"; + @SerializedName(SERIALIZED_NAME_SCIM_GROUP_EXTERNAL_ID) + @jakarta.annotation.Nullable + private String scimGroupExternalId; + public static final String SERIALIZED_NAME_USER_IDS = "user_ids"; @SerializedName(SERIALIZED_NAME_USER_IDS) @jakarta.annotation.Nullable @@ -255,6 +265,65 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private AutoAddMembersScopeEnum autoAddMembersScope; + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + */ + @JsonAdapter(ScheduleOverridePolicyEnum.Adapter.class) + public enum ScheduleOverridePolicyEnum { + EVERYONE("everyone"), + + MEMBERS("members"), + + ADMINS("admins"); + + private String value; + + ScheduleOverridePolicyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScheduleOverridePolicyEnum fromValue(String value) { + for (ScheduleOverridePolicyEnum b : ScheduleOverridePolicyEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScheduleOverridePolicyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScheduleOverridePolicyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScheduleOverridePolicyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY = "schedule_override_policy"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_OVERRIDE_POLICY) + @jakarta.annotation.Nullable + private ScheduleOverridePolicyEnum scheduleOverridePolicy; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; @SerializedName(SERIALIZED_NAME_PROPERTIES) @jakarta.annotation.Nullable @@ -579,6 +648,44 @@ public void setServiceNowCiSysId(@jakarta.annotation.Nullable String serviceNowC } + public UpdateTeamDataAttributes scimGroupId(@jakarta.annotation.Nullable String scimGroupId) { + this.scimGroupId = scimGroupId; + return this; + } + + /** + * The SCIM group id linked to this team. Membership syncs from the SCIM group while the team keeps its own name. Set to null to unlink. Sending the current id is a no-op; to pin a name-linked group, unlink then link. + * @return scimGroupId + */ + @jakarta.annotation.Nullable + public String getScimGroupId() { + return scimGroupId; + } + + public void setScimGroupId(@jakarta.annotation.Nullable String scimGroupId) { + this.scimGroupId = scimGroupId; + } + + + public UpdateTeamDataAttributes scimGroupExternalId(@jakarta.annotation.Nullable String scimGroupExternalId) { + this.scimGroupExternalId = scimGroupExternalId; + return this; + } + + /** + * Link by the SCIM group's externalId from your identity provider instead of scim_group_id. Write-only. Rejected when it names a different SCIM group than scim_group_id. + * @return scimGroupExternalId + */ + @jakarta.annotation.Nullable + public String getScimGroupExternalId() { + return scimGroupExternalId; + } + + public void setScimGroupExternalId(@jakarta.annotation.Nullable String scimGroupExternalId) { + this.scimGroupExternalId = scimGroupExternalId; + } + + public UpdateTeamDataAttributes userIds(@jakarta.annotation.Nullable List userIds) { this.userIds = userIds; return this; @@ -839,6 +946,25 @@ public void setAutoAddMembersScope(@jakarta.annotation.Nullable AutoAddMembersSc } + public UpdateTeamDataAttributes scheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + return this; + } + + /** + * Who can create and update overrides for schedules owned by this team: `everyone` in the organization, only team `members`, or only team `admins`. Users still need override permission from their on-call role. Only available when the team-level schedule override policy feature is enabled for the organization. Requests that set it while that feature is disabled are rejected. + * @return scheduleOverridePolicy + */ + @jakarta.annotation.Nullable + public ScheduleOverridePolicyEnum getScheduleOverridePolicy() { + return scheduleOverridePolicy; + } + + public void setScheduleOverridePolicy(@jakarta.annotation.Nullable ScheduleOverridePolicyEnum scheduleOverridePolicy) { + this.scheduleOverridePolicy = scheduleOverridePolicy; + } + + public UpdateTeamDataAttributes properties(@jakarta.annotation.Nullable List properties) { this.properties = properties; return this; @@ -892,6 +1018,8 @@ public boolean equals(Object o) { Objects.equals(this.pagertreeId, updateTeamDataAttributes.pagertreeId) && Objects.equals(this.cortexId, updateTeamDataAttributes.cortexId) && Objects.equals(this.serviceNowCiSysId, updateTeamDataAttributes.serviceNowCiSysId) && + Objects.equals(this.scimGroupId, updateTeamDataAttributes.scimGroupId) && + Objects.equals(this.scimGroupExternalId, updateTeamDataAttributes.scimGroupExternalId) && Objects.equals(this.userIds, updateTeamDataAttributes.userIds) && Objects.equals(this.adminIds, updateTeamDataAttributes.adminIds) && Objects.equals(this.alertsEmailEnabled, updateTeamDataAttributes.alertsEmailEnabled) && @@ -904,6 +1032,7 @@ public boolean equals(Object o) { Objects.equals(this.incidentBroadcastChannel, updateTeamDataAttributes.incidentBroadcastChannel) && Objects.equals(this.autoAddMembersWhenAttached, updateTeamDataAttributes.autoAddMembersWhenAttached) && Objects.equals(this.autoAddMembersScope, updateTeamDataAttributes.autoAddMembersScope) && + Objects.equals(this.scheduleOverridePolicy, updateTeamDataAttributes.scheduleOverridePolicy) && Objects.equals(this.properties, updateTeamDataAttributes.properties); } @@ -913,7 +1042,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, autoAddMembersScope, properties); + return Objects.hash(slug, name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, scimGroupId, scimGroupExternalId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, autoAddMembersScope, scheduleOverridePolicy, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -943,6 +1072,8 @@ public String toString() { sb.append(" pagertreeId: ").append(toIndentedString(pagertreeId)).append("\n"); sb.append(" cortexId: ").append(toIndentedString(cortexId)).append("\n"); sb.append(" serviceNowCiSysId: ").append(toIndentedString(serviceNowCiSysId)).append("\n"); + sb.append(" scimGroupId: ").append(toIndentedString(scimGroupId)).append("\n"); + sb.append(" scimGroupExternalId: ").append(toIndentedString(scimGroupExternalId)).append("\n"); sb.append(" userIds: ").append(toIndentedString(userIds)).append("\n"); sb.append(" adminIds: ").append(toIndentedString(adminIds)).append("\n"); sb.append(" alertsEmailEnabled: ").append(toIndentedString(alertsEmailEnabled)).append("\n"); @@ -955,6 +1086,7 @@ public String toString() { sb.append(" incidentBroadcastChannel: ").append(toIndentedString(incidentBroadcastChannel)).append("\n"); sb.append(" autoAddMembersWhenAttached: ").append(toIndentedString(autoAddMembersWhenAttached)).append("\n"); sb.append(" autoAddMembersScope: ").append(toIndentedString(autoAddMembersScope)).append("\n"); + sb.append(" scheduleOverridePolicy: ").append(toIndentedString(scheduleOverridePolicy)).append("\n"); sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); @@ -994,6 +1126,8 @@ private String toIndentedString(Object o) { openapiFields.add("pagertree_id"); openapiFields.add("cortex_id"); openapiFields.add("service_now_ci_sys_id"); + openapiFields.add("scim_group_id"); + openapiFields.add("scim_group_external_id"); openapiFields.add("user_ids"); openapiFields.add("admin_ids"); openapiFields.add("alerts_email_enabled"); @@ -1006,6 +1140,7 @@ private String toIndentedString(Object o) { openapiFields.add("incident_broadcast_channel"); openapiFields.add("auto_add_members_when_attached"); openapiFields.add("auto_add_members_scope"); + openapiFields.add("schedule_override_policy"); openapiFields.add("properties"); // a set of required properties/fields (JSON key names) @@ -1079,6 +1214,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("service_now_ci_sys_id") != null && !jsonObj.get("service_now_ci_sys_id").isJsonNull()) && !jsonObj.get("service_now_ci_sys_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `service_now_ci_sys_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_ci_sys_id").toString())); } + if ((jsonObj.get("scim_group_id") != null && !jsonObj.get("scim_group_id").isJsonNull()) && !jsonObj.get("scim_group_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scim_group_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scim_group_id").toString())); + } + if ((jsonObj.get("scim_group_external_id") != null && !jsonObj.get("scim_group_external_id").isJsonNull()) && !jsonObj.get("scim_group_external_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scim_group_external_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scim_group_external_id").toString())); + } // ensure the optional json data is an array if present if (jsonObj.get("user_ids") != null && !jsonObj.get("user_ids").isJsonNull() && !jsonObj.get("user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("user_ids").toString())); @@ -1133,6 +1274,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("auto_add_members_scope") != null && !jsonObj.get("auto_add_members_scope").isJsonNull()) { AutoAddMembersScopeEnum.validateJsonElement(jsonObj.get("auto_add_members_scope")); } + if ((jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) && !jsonObj.get("schedule_override_policy").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_override_policy` to be a primitive type in the JSON string but got `%s`", jsonObj.get("schedule_override_policy").toString())); + } + // validate the optional field `schedule_override_policy` + if (jsonObj.get("schedule_override_policy") != null && !jsonObj.get("schedule_override_policy").isJsonNull()) { + ScheduleOverridePolicyEnum.validateJsonElement(jsonObj.get("schedule_override_policy")); + } if (jsonObj.get("properties") != null && !jsonObj.get("properties").isJsonNull()) { JsonArray jsonArrayproperties = jsonObj.getAsJsonArray("properties"); if (jsonArrayproperties != null) { diff --git a/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java b/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java index c9632e7b..d129d3bf 100644 --- a/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java @@ -54,7 +54,7 @@ /** * UpdateTrelloCardTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTrelloCardTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateUser.java b/src/main/java/com/rootly/client/model/UpdateUser.java index 4b0f70d8..3e4c70cd 100644 --- a/src/main/java/com/rootly/client/model/UpdateUser.java +++ b/src/main/java/com/rootly/client/model/UpdateUser.java @@ -49,7 +49,7 @@ /** * UpdateUser */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateUserData.java b/src/main/java/com/rootly/client/model/UpdateUserData.java index b562ce7c..48c367e1 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserData.java @@ -49,8 +49,13 @@ /** * UpdateUserData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateUserData() { } + public UpdateUserData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateUserData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateUserData updateUserData = (UpdateUserData) o; - return Objects.equals(this.type, updateUserData.type) && + return Objects.equals(this.id, updateUserData.id) && + Objects.equals(this.type, updateUserData.type) && Objects.equals(this.attributes, updateUserData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateUserData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java index bef62d49..6da2ce98 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateUserDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserDataAttributes { public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; @SerializedName(SERIALIZED_NAME_FIRST_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateUserEmailAddress.java b/src/main/java/com/rootly/client/model/UpdateUserEmailAddress.java index 284c0629..847d0397 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserEmailAddress.java +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddress.java @@ -49,7 +49,7 @@ /** * UpdateUserEmailAddress */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserEmailAddress { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java index fbde43d3..97e64368 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java @@ -49,8 +49,13 @@ /** * UpdateUserEmailAddressData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserEmailAddressData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateUserEmailAddressData() { } + public UpdateUserEmailAddressData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateUserEmailAddressData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateUserEmailAddressData updateUserEmailAddressData = (UpdateUserEmailAddressData) o; - return Objects.equals(this.type, updateUserEmailAddressData.type) && + return Objects.equals(this.id, updateUserEmailAddressData.id) && + Objects.equals(this.type, updateUserEmailAddressData.type) && Objects.equals(this.attributes, updateUserEmailAddressData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateUserEmailAddressData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java index 331fcc0d..c6f1a717 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateUserEmailAddressDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserEmailAddressDataAttributes { public static final String SERIALIZED_NAME_EMAIL = "email"; @SerializedName(SERIALIZED_NAME_EMAIL) diff --git a/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java b/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java index 645ff2cc..52396eab 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java @@ -49,7 +49,7 @@ /** * UpdateUserNotificationRule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserNotificationRule { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java index 9b2483a9..ad5b09aa 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java @@ -49,8 +49,13 @@ /** * UpdateUserNotificationRuleData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserNotificationRuleData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateUserNotificationRuleData() { } + public UpdateUserNotificationRuleData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateUserNotificationRuleData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateUserNotificationRuleData updateUserNotificationRuleData = (UpdateUserNotificationRuleData) o; - return Objects.equals(this.type, updateUserNotificationRuleData.type) && + return Objects.equals(this.id, updateUserNotificationRuleData.id) && + Objects.equals(this.type, updateUserNotificationRuleData.type) && Objects.equals(this.attributes, updateUserNotificationRuleData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateUserNotificationRuleData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java index f0154f97..4ba9a152 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateUserNotificationRuleDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserNotificationRuleDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) diff --git a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java index 667c84c2..39623bd8 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java @@ -49,7 +49,7 @@ /** * UpdateUserPhoneNumber */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserPhoneNumber { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java index 2a4b211b..3120df5d 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java @@ -49,8 +49,13 @@ /** * UpdateUserPhoneNumberData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserPhoneNumberData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateUserPhoneNumberData() { } + public UpdateUserPhoneNumberData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateUserPhoneNumberData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateUserPhoneNumberData updateUserPhoneNumberData = (UpdateUserPhoneNumberData) o; - return Objects.equals(this.type, updateUserPhoneNumberData.type) && + return Objects.equals(this.id, updateUserPhoneNumberData.id) && + Objects.equals(this.type, updateUserPhoneNumberData.type) && Objects.equals(this.attributes, updateUserPhoneNumberData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateUserPhoneNumberData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java index 0742642e..19574488 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateUserPhoneNumberDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserPhoneNumberDataAttributes { public static final String SERIALIZED_NAME_PHONE = "phone"; @SerializedName(SERIALIZED_NAME_PHONE) diff --git a/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java index dcce64fa..3b38ad04 100644 --- a/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java @@ -48,7 +48,7 @@ /** * UpdateVictorOpsIncidentTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateVictorOpsIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java index 126fe300..c9f2c292 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java @@ -49,7 +49,7 @@ /** * UpdateWebhooksEndpoint */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpoint { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java index 8d668ecc..1a30026a 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java @@ -49,8 +49,13 @@ /** * UpdateWebhooksEndpointData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpointData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateWebhooksEndpointData() { } + public UpdateWebhooksEndpointData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateWebhooksEndpointData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateWebhooksEndpointData updateWebhooksEndpointData = (UpdateWebhooksEndpointData) o; - return Objects.equals(this.type, updateWebhooksEndpointData.type) && + return Objects.equals(this.id, updateWebhooksEndpointData.id) && + Objects.equals(this.type, updateWebhooksEndpointData.type) && Objects.equals(this.attributes, updateWebhooksEndpointData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWebhooksEndpointData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java index 749c5276..eda85170 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateWebhooksEndpointDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpointDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -122,6 +122,8 @@ public enum EventTypesEnum { SHIFT_STARTED("shift.started"), + SHIFT_ENDED("shift.ended"), + GENIUS_WORKFLOW_RUN_QUEUED("genius_workflow_run.queued"), GENIUS_WORKFLOW_RUN_STARTED("genius_workflow_run.started"), diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflow.java b/src/main/java/com/rootly/client/model/UpdateWorkflow.java index 78416840..e012f0cf 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflow.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflow.java @@ -49,7 +49,7 @@ /** * UpdateWorkflow */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflow { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldCondition.java b/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldCondition.java index e714c471..cb1c83e7 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldCondition.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowActionItemFormFieldCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowActionItemFormFieldCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionData.java index 6191e8be..bbaba366 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionData.java @@ -49,8 +49,13 @@ /** * UpdateWorkflowActionItemFormFieldConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowActionItemFormFieldConditionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateWorkflowActionItemFormFieldConditionData() { } + public UpdateWorkflowActionItemFormFieldConditionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateWorkflowActionItemFormFieldConditionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateWorkflowActionItemFormFieldConditionData updateWorkflowActionItemFormFieldConditionData = (UpdateWorkflowActionItemFormFieldConditionData) o; - return Objects.equals(this.type, updateWorkflowActionItemFormFieldConditionData.type) && + return Objects.equals(this.id, updateWorkflowActionItemFormFieldConditionData.id) && + Objects.equals(this.type, updateWorkflowActionItemFormFieldConditionData.type) && Objects.equals(this.attributes, updateWorkflowActionItemFormFieldConditionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWorkflowActionItemFormFieldConditionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataAttributes.java index a32ad874..059c0cfb 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateWorkflowActionItemFormFieldConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowActionItemFormFieldConditionDataAttributes { /** * The trigger condition diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java index 874b4d26..5288ad59 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowCustomFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowCustomFieldSelection { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java index 5b34907e..0d153d4f 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java @@ -49,8 +49,13 @@ /** * UpdateWorkflowCustomFieldSelectionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowCustomFieldSelectionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateWorkflowCustomFieldSelectionData() { } + public UpdateWorkflowCustomFieldSelectionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateWorkflowCustomFieldSelectionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateWorkflowCustomFieldSelectionData updateWorkflowCustomFieldSelectionData = (UpdateWorkflowCustomFieldSelectionData) o; - return Objects.equals(this.type, updateWorkflowCustomFieldSelectionData.type) && + return Objects.equals(this.id, updateWorkflowCustomFieldSelectionData.id) && + Objects.equals(this.type, updateWorkflowCustomFieldSelectionData.type) && Objects.equals(this.attributes, updateWorkflowCustomFieldSelectionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWorkflowCustomFieldSelectionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java index cbdd0f2b..b9d210b4 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateWorkflowCustomFieldSelectionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowCustomFieldSelectionDataAttributes { /** * The trigger condition diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowData.java index f34798ee..7520d721 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowData.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java index 552f6218..10d3366c 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner; import com.rootly.client.model.NewWorkflowDataAttributesTriggerParams; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * UpdateWorkflowDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -105,6 +106,11 @@ public class UpdateWorkflowDataAttributes { @jakarta.annotation.Nullable private Boolean continuouslyRepeat; + public static final String SERIALIZED_NAME_RUN_ONCE_PER_RESOURCE = "run_once_per_resource"; + @SerializedName(SERIALIZED_NAME_RUN_ONCE_PER_RESOURCE) + @jakarta.annotation.Nullable + private Boolean runOncePerResource; + public static final String SERIALIZED_NAME_ENABLED = "enabled"; @SerializedName(SERIALIZED_NAME_ENABLED) @jakarta.annotation.Nullable @@ -165,6 +171,11 @@ public class UpdateWorkflowDataAttributes { @jakarta.annotation.Nullable private List groupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_GROUP_ASSIGNMENT_IDS = "group_assignment_ids"; + @SerializedName(SERIALIZED_NAME_GROUP_ASSIGNMENT_IDS) + @jakarta.annotation.Nullable + private List groupAssignmentIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_CAUSE_IDS = "cause_ids"; @SerializedName(SERIALIZED_NAME_CAUSE_IDS) @jakarta.annotation.Nullable @@ -175,6 +186,70 @@ public class UpdateWorkflowDataAttributes { @jakarta.annotation.Nullable private List subStatusIds = new ArrayList<>(); + /** + * Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. + */ + @JsonAdapter(FailureNotificationModeEnum.Adapter.class) + public enum FailureNotificationModeEnum { + INHERIT("inherit"), + + CUSTOM("custom"), + + OFF("off"); + + private String value; + + FailureNotificationModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FailureNotificationModeEnum fromValue(String value) { + for (FailureNotificationModeEnum b : FailureNotificationModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FailureNotificationModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FailureNotificationModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FailureNotificationModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + FailureNotificationModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_FAILURE_NOTIFICATION_MODE = "failure_notification_mode"; + @SerializedName(SERIALIZED_NAME_FAILURE_NOTIFICATION_MODE) + @jakarta.annotation.Nullable + private FailureNotificationModeEnum failureNotificationMode; + + public static final String SERIALIZED_NAME_FAILURE_NOTIFICATION_CHANNELS = "failure_notification_channels"; + @SerializedName(SERIALIZED_NAME_FAILURE_NOTIFICATION_CHANNELS) + @jakarta.annotation.Nullable + private List failureNotificationChannels = new ArrayList<>(); + public UpdateWorkflowDataAttributes() { } @@ -372,6 +447,25 @@ public void setContinuouslyRepeat(@jakarta.annotation.Nullable Boolean continuou } + public UpdateWorkflowDataAttributes runOncePerResource(@jakarta.annotation.Nullable Boolean runOncePerResource) { + this.runOncePerResource = runOncePerResource; + return this; + } + + /** + * When true, the workflow runs at most once per incident. Later triggers on the same incident create a canceled run instead. Manual runs and repeats are not affected. Only applies to incident workflows. + * @return runOncePerResource + */ + @jakarta.annotation.Nullable + public Boolean getRunOncePerResource() { + return runOncePerResource; + } + + public void setRunOncePerResource(@jakarta.annotation.Nullable Boolean runOncePerResource) { + this.runOncePerResource = runOncePerResource; + } + + public UpdateWorkflowDataAttributes enabled(@jakarta.annotation.Nullable Boolean enabled) { this.enabled = enabled; return this; @@ -656,6 +750,33 @@ public void setGroupIds(@jakarta.annotation.Nullable List groupIds) { } + public UpdateWorkflowDataAttributes groupAssignmentIds(@jakarta.annotation.Nullable List groupAssignmentIds) { + this.groupAssignmentIds = groupAssignmentIds; + return this; + } + + public UpdateWorkflowDataAttributes addGroupAssignmentIdsItem(String groupAssignmentIdsItem) { + if (this.groupAssignmentIds == null) { + this.groupAssignmentIds = new ArrayList<>(); + } + this.groupAssignmentIds.add(groupAssignmentIdsItem); + return this; + } + + /** + * Owning team IDs. Requires team-scoped workflows. + * @return groupAssignmentIds + */ + @jakarta.annotation.Nullable + public List getGroupAssignmentIds() { + return groupAssignmentIds; + } + + public void setGroupAssignmentIds(@jakarta.annotation.Nullable List groupAssignmentIds) { + this.groupAssignmentIds = groupAssignmentIds; + } + + public UpdateWorkflowDataAttributes causeIds(@jakarta.annotation.Nullable List causeIds) { this.causeIds = causeIds; return this; @@ -710,6 +831,52 @@ public void setSubStatusIds(@jakarta.annotation.Nullable List subStatusI } + public UpdateWorkflowDataAttributes failureNotificationMode(@jakarta.annotation.Nullable FailureNotificationModeEnum failureNotificationMode) { + this.failureNotificationMode = failureNotificationMode; + return this; + } + + /** + * Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. + * @return failureNotificationMode + */ + @jakarta.annotation.Nullable + public FailureNotificationModeEnum getFailureNotificationMode() { + return failureNotificationMode; + } + + public void setFailureNotificationMode(@jakarta.annotation.Nullable FailureNotificationModeEnum failureNotificationMode) { + this.failureNotificationMode = failureNotificationMode; + } + + + public UpdateWorkflowDataAttributes failureNotificationChannels(@jakarta.annotation.Nullable List failureNotificationChannels) { + this.failureNotificationChannels = failureNotificationChannels; + return this; + } + + public UpdateWorkflowDataAttributes addFailureNotificationChannelsItem(NewWorkflowDataAttributesFailureNotificationChannelsInner failureNotificationChannelsItem) { + if (this.failureNotificationChannels == null) { + this.failureNotificationChannels = new ArrayList<>(); + } + this.failureNotificationChannels.add(failureNotificationChannelsItem); + return this; + } + + /** + * Slack channels notified when a run of this workflow fails. Used when `failure_notification_mode` is `custom`. + * @return failureNotificationChannels + */ + @jakarta.annotation.Nullable + public List getFailureNotificationChannels() { + return failureNotificationChannels; + } + + public void setFailureNotificationChannels(@jakarta.annotation.Nullable List failureNotificationChannels) { + this.failureNotificationChannels = failureNotificationChannels; + } + + @Override public boolean equals(Object o) { @@ -730,6 +897,7 @@ public boolean equals(Object o) { Objects.equals(this.repeatConditionDurationSinceFirstRun, updateWorkflowDataAttributes.repeatConditionDurationSinceFirstRun) && Objects.equals(this.repeatConditionNumberOfRepeats, updateWorkflowDataAttributes.repeatConditionNumberOfRepeats) && Objects.equals(this.continuouslyRepeat, updateWorkflowDataAttributes.continuouslyRepeat) && + Objects.equals(this.runOncePerResource, updateWorkflowDataAttributes.runOncePerResource) && Objects.equals(this.enabled, updateWorkflowDataAttributes.enabled) && Objects.equals(this.locked, updateWorkflowDataAttributes.locked) && Objects.equals(this.position, updateWorkflowDataAttributes.position) && @@ -742,8 +910,11 @@ public boolean equals(Object o) { Objects.equals(this.serviceIds, updateWorkflowDataAttributes.serviceIds) && Objects.equals(this.functionalityIds, updateWorkflowDataAttributes.functionalityIds) && Objects.equals(this.groupIds, updateWorkflowDataAttributes.groupIds) && + Objects.equals(this.groupAssignmentIds, updateWorkflowDataAttributes.groupAssignmentIds) && Objects.equals(this.causeIds, updateWorkflowDataAttributes.causeIds) && - Objects.equals(this.subStatusIds, updateWorkflowDataAttributes.subStatusIds); + Objects.equals(this.subStatusIds, updateWorkflowDataAttributes.subStatusIds) && + Objects.equals(this.failureNotificationMode, updateWorkflowDataAttributes.failureNotificationMode) && + Objects.equals(this.failureNotificationChannels, updateWorkflowDataAttributes.failureNotificationChannels); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -752,7 +923,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(slug, name, description, command, commandFeedbackEnabled, wait, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, causeIds, subStatusIds); + return Objects.hash(slug, name, description, command, commandFeedbackEnabled, wait, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, runOncePerResource, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, groupAssignmentIds, causeIds, subStatusIds, failureNotificationMode, failureNotificationChannels); } private static int hashCodeNullable(JsonNullable a) { @@ -776,6 +947,7 @@ public String toString() { sb.append(" repeatConditionDurationSinceFirstRun: ").append(toIndentedString(repeatConditionDurationSinceFirstRun)).append("\n"); sb.append(" repeatConditionNumberOfRepeats: ").append(toIndentedString(repeatConditionNumberOfRepeats)).append("\n"); sb.append(" continuouslyRepeat: ").append(toIndentedString(continuouslyRepeat)).append("\n"); + sb.append(" runOncePerResource: ").append(toIndentedString(runOncePerResource)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" locked: ").append(toIndentedString(locked)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); @@ -788,8 +960,11 @@ public String toString() { sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); + sb.append(" groupAssignmentIds: ").append(toIndentedString(groupAssignmentIds)).append("\n"); sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append(" subStatusIds: ").append(toIndentedString(subStatusIds)).append("\n"); + sb.append(" failureNotificationMode: ").append(toIndentedString(failureNotificationMode)).append("\n"); + sb.append(" failureNotificationChannels: ").append(toIndentedString(failureNotificationChannels)).append("\n"); sb.append("}"); return sb.toString(); } @@ -822,6 +997,7 @@ private String toIndentedString(Object o) { openapiFields.add("repeat_condition_duration_since_first_run"); openapiFields.add("repeat_condition_number_of_repeats"); openapiFields.add("continuously_repeat"); + openapiFields.add("run_once_per_resource"); openapiFields.add("enabled"); openapiFields.add("locked"); openapiFields.add("position"); @@ -834,8 +1010,11 @@ private String toIndentedString(Object o) { openapiFields.add("service_ids"); openapiFields.add("functionality_ids"); openapiFields.add("group_ids"); + openapiFields.add("group_assignment_ids"); openapiFields.add("cause_ids"); openapiFields.add("sub_status_ids"); + openapiFields.add("failure_notification_mode"); + openapiFields.add("failure_notification_channels"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -919,6 +1098,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_ids").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("group_assignment_ids") != null && !jsonObj.get("group_assignment_ids").isJsonNull() && !jsonObj.get("group_assignment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `group_assignment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_assignment_ids").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("cause_ids") != null && !jsonObj.get("cause_ids").isJsonNull() && !jsonObj.get("cause_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("cause_ids").toString())); } @@ -926,6 +1109,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("sub_status_ids") != null && !jsonObj.get("sub_status_ids").isJsonNull() && !jsonObj.get("sub_status_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `sub_status_ids` to be an array in the JSON string but got `%s`", jsonObj.get("sub_status_ids").toString())); } + if ((jsonObj.get("failure_notification_mode") != null && !jsonObj.get("failure_notification_mode").isJsonNull()) && !jsonObj.get("failure_notification_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `failure_notification_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("failure_notification_mode").toString())); + } + // validate the optional field `failure_notification_mode` + if (jsonObj.get("failure_notification_mode") != null && !jsonObj.get("failure_notification_mode").isJsonNull()) { + FailureNotificationModeEnum.validateJsonElement(jsonObj.get("failure_notification_mode")); + } + if (jsonObj.get("failure_notification_channels") != null && !jsonObj.get("failure_notification_channels").isJsonNull()) { + JsonArray jsonArrayfailureNotificationChannels = jsonObj.getAsJsonArray("failure_notification_channels"); + if (jsonArrayfailureNotificationChannels != null) { + // ensure the json data is an array + if (!jsonObj.get("failure_notification_channels").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `failure_notification_channels` to be an array in the JSON string but got `%s`", jsonObj.get("failure_notification_channels").toString())); + } + + // validate the optional field `failure_notification_channels` (array) + for (int i = 0; i < jsonArrayfailureNotificationChannels.size(); i++) { + NewWorkflowDataAttributesFailureNotificationChannelsInner.validateJsonElement(jsonArrayfailureNotificationChannels.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java index 06402f45..d32a8be5 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowFormFieldCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowFormFieldCondition { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java index 6429f288..2a3bef0b 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java @@ -49,8 +49,13 @@ /** * UpdateWorkflowFormFieldConditionData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowFormFieldConditionData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateWorkflowFormFieldConditionData() { } + public UpdateWorkflowFormFieldConditionData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateWorkflowFormFieldConditionData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateWorkflowFormFieldConditionData updateWorkflowFormFieldConditionData = (UpdateWorkflowFormFieldConditionData) o; - return Objects.equals(this.type, updateWorkflowFormFieldConditionData.type) && + return Objects.equals(this.id, updateWorkflowFormFieldConditionData.id) && + Objects.equals(this.type, updateWorkflowFormFieldConditionData.type) && Objects.equals(this.attributes, updateWorkflowFormFieldConditionData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWorkflowFormFieldConditionData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java index 08352c0f..46419b3f 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateWorkflowFormFieldConditionDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowFormFieldConditionDataAttributes { /** * The trigger condition diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java b/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java index 937d5b67..7b32c821 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroup { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java index a08b24ca..c470556a 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java @@ -49,8 +49,13 @@ /** * UpdateWorkflowGroupData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroupData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateWorkflowGroupData() { } + public UpdateWorkflowGroupData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateWorkflowGroupData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateWorkflowGroupData updateWorkflowGroupData = (UpdateWorkflowGroupData) o; - return Objects.equals(this.type, updateWorkflowGroupData.type) && + return Objects.equals(this.id, updateWorkflowGroupData.id) && + Objects.equals(this.type, updateWorkflowGroupData.type) && Objects.equals(this.attributes, updateWorkflowGroupData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWorkflowGroupData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java index c52dc3a1..6259111b 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowGroupDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroupDataAttributes { public static final String SERIALIZED_NAME_SLUG = "slug"; @Deprecated @@ -72,6 +72,8 @@ public enum KindEnum { PULSE("pulse"), + PROBLEM("problem"), + ALERT("alert"); private String value; diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java index fd533bbd..6a9e3f77 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTask { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java index 5b21c316..3f850e08 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java @@ -49,8 +49,13 @@ /** * UpdateWorkflowTaskData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @jakarta.annotation.Nullable + private String id; + /** * Gets or Sets type */ @@ -114,6 +119,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public UpdateWorkflowTaskData() { } + public UpdateWorkflowTaskData id(@jakarta.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Accepted for JSON:API client compatibility, but ignored. The resource to update is identified by the id in the path. + * @return id + */ + @jakarta.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@jakarta.annotation.Nullable String id) { + this.id = id; + } + + public UpdateWorkflowTaskData type(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; return this; @@ -162,19 +186,21 @@ public boolean equals(Object o) { return false; } UpdateWorkflowTaskData updateWorkflowTaskData = (UpdateWorkflowTaskData) o; - return Objects.equals(this.type, updateWorkflowTaskData.type) && + return Objects.equals(this.id, updateWorkflowTaskData.id) && + Objects.equals(this.type, updateWorkflowTaskData.type) && Objects.equals(this.attributes, updateWorkflowTaskData.attributes); } @Override public int hashCode() { - return Objects.hash(type, attributes); + return Objects.hash(id, type, attributes); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWorkflowTaskData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append("}"); @@ -199,6 +225,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); @@ -236,6 +263,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } if (!jsonObj.get("type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java index c3610f6b..4a142801 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowTaskDataAttributes */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java index 8dee5e55..99853a6f 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java @@ -92,6 +92,8 @@ import com.rootly.client.model.CreateSharepointPageTaskParams; import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; import com.rootly.client.model.CreateSlackChannelTaskParams; import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; @@ -124,6 +126,7 @@ import com.rootly.client.model.PrintTaskParams; import com.rootly.client.model.PublishIncidentTaskParams; import com.rootly.client.model.RedisClientTaskParams; +import com.rootly.client.model.RemoveFromSlackChannelTaskParams; import com.rootly.client.model.RemoveGoogleDocsPermissionsTaskParams; import com.rootly.client.model.RenameGoogleChatSpaceTaskParams; import com.rootly.client.model.RenameMicrosoftTeamsChannelTaskParams; @@ -179,6 +182,7 @@ import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; +import com.rootly.client.model.UpdateSlackCanvasTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; import com.rootly.client.model.UpdateStatusTaskParams; import com.rootly.client.model.UpdateTrelloCardTaskParams; @@ -188,7 +192,9 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; @@ -226,7 +232,7 @@ import com.rootly.client.JSON; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskDataAttributesTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(UpdateWorkflowTaskDataAttributesTaskParams.class.getName()); @@ -347,11 +353,13 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterPublishIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PublishIncidentTaskParams.class)); final TypeAdapter adapterRedisClientTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RedisClientTaskParams.class)); final TypeAdapter adapterRenameSlackChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RenameSlackChannelTaskParams.class)); + final TypeAdapter adapterRemoveFromSlackChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RemoveFromSlackChannelTaskParams.class)); final TypeAdapter adapterChangeSlackChannelPrivacyTaskParams = gson.getDelegateAdapter(this, TypeToken.get(ChangeSlackChannelPrivacyTaskParams.class)); final TypeAdapter adapterRunCommandHerokuTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RunCommandHerokuTaskParams.class)); final TypeAdapter adapterSendEmailTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendEmailTaskParams.class)); final TypeAdapter adapterSendDashboardReportTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendDashboardReportTaskParams.class)); final TypeAdapter adapterCreateSlackChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateSlackChannelTaskParams.class)); + final TypeAdapter adapterCreateSlackCanvasTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateSlackCanvasTaskParams.class)); final TypeAdapter adapterSendSlackMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendSlackMessageTaskParams.class)); final TypeAdapter adapterSendSmsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendSmsTaskParams.class)); final TypeAdapter adapterSendWhatsappMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendWhatsappMessageTaskParams.class)); @@ -372,6 +380,7 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterUpdateShortcutStoryTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateShortcutStoryTaskParams.class)); final TypeAdapter adapterUpdateShortcutTaskTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateShortcutTaskTaskParams.class)); final TypeAdapter adapterUpdateSlackChannelTopicTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlackChannelTopicTaskParams.class)); + final TypeAdapter adapterUpdateSlackCanvasTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlackCanvasTaskParams.class)); final TypeAdapter adapterUpdateStatusTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateStatusTaskParams.class)); final TypeAdapter adapterUpdateIncidentStatusTimestampTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateIncidentStatusTimestampTaskParams.class)); final TypeAdapter adapterUpdateTrelloCardTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateTrelloCardTaskParams.class)); @@ -1049,6 +1058,12 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `RemoveFromSlackChannelTaskParams` + if (value.getActualInstance() instanceof RemoveFromSlackChannelTaskParams) { + JsonElement element = adapterRemoveFromSlackChannelTaskParams.toJsonTree((RemoveFromSlackChannelTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `ChangeSlackChannelPrivacyTaskParams` if (value.getActualInstance() instanceof ChangeSlackChannelPrivacyTaskParams) { JsonElement element = adapterChangeSlackChannelPrivacyTaskParams.toJsonTree((ChangeSlackChannelPrivacyTaskParams)value.getActualInstance()); @@ -1079,6 +1094,12 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateSlackCanvasTaskParams` + if (value.getActualInstance() instanceof CreateSlackCanvasTaskParams) { + JsonElement element = adapterCreateSlackCanvasTaskParams.toJsonTree((CreateSlackCanvasTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `SendSlackMessageTaskParams` if (value.getActualInstance() instanceof SendSlackMessageTaskParams) { JsonElement element = adapterSendSlackMessageTaskParams.toJsonTree((SendSlackMessageTaskParams)value.getActualInstance()); @@ -1199,6 +1220,12 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `UpdateSlackCanvasTaskParams` + if (value.getActualInstance() instanceof UpdateSlackCanvasTaskParams) { + JsonElement element = adapterUpdateSlackCanvasTaskParams.toJsonTree((UpdateSlackCanvasTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `UpdateStatusTaskParams` if (value.getActualInstance() instanceof UpdateStatusTaskParams) { JsonElement element = adapterUpdateStatusTaskParams.toJsonTree((UpdateStatusTaskParams)value.getActualInstance()); @@ -1283,7 +1310,7 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } @Override @@ -2711,6 +2738,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for RenameSlackChannelTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'RenameSlackChannelTaskParams'", e); } + // deserialize RemoveFromSlackChannelTaskParams + try { + // validate the JSON object to see if any exception is thrown + RemoveFromSlackChannelTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterRemoveFromSlackChannelTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for RemoveFromSlackChannelTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'RemoveFromSlackChannelTaskParams'", e); + } // deserialize ChangeSlackChannelPrivacyTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2776,6 +2816,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for CreateSlackChannelTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateSlackChannelTaskParams'", e); } + // deserialize CreateSlackCanvasTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateSlackCanvasTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateSlackCanvasTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateSlackCanvasTaskParams'", e); + } // deserialize SendSlackMessageTaskParams try { // validate the JSON object to see if any exception is thrown @@ -3036,6 +3089,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for UpdateSlackChannelTopicTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'UpdateSlackChannelTopicTaskParams'", e); } + // deserialize UpdateSlackCanvasTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateSlackCanvasTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateSlackCanvasTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateSlackCanvasTaskParams'", e); + } // deserialize UpdateStatusTaskParams try { // validate the JSON object to see if any exception is thrown @@ -3347,11 +3413,13 @@ public UpdateWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("PublishIncidentTaskParams", PublishIncidentTaskParams.class); schemas.put("RedisClientTaskParams", RedisClientTaskParams.class); schemas.put("RenameSlackChannelTaskParams", RenameSlackChannelTaskParams.class); + schemas.put("RemoveFromSlackChannelTaskParams", RemoveFromSlackChannelTaskParams.class); schemas.put("ChangeSlackChannelPrivacyTaskParams", ChangeSlackChannelPrivacyTaskParams.class); schemas.put("RunCommandHerokuTaskParams", RunCommandHerokuTaskParams.class); schemas.put("SendEmailTaskParams", SendEmailTaskParams.class); schemas.put("SendDashboardReportTaskParams", SendDashboardReportTaskParams.class); schemas.put("CreateSlackChannelTaskParams", CreateSlackChannelTaskParams.class); + schemas.put("CreateSlackCanvasTaskParams", CreateSlackCanvasTaskParams.class); schemas.put("SendSlackMessageTaskParams", SendSlackMessageTaskParams.class); schemas.put("SendSmsTaskParams", SendSmsTaskParams.class); schemas.put("SendWhatsappMessageTaskParams", SendWhatsappMessageTaskParams.class); @@ -3372,6 +3440,7 @@ public UpdateWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("UpdateShortcutStoryTaskParams", UpdateShortcutStoryTaskParams.class); schemas.put("UpdateShortcutTaskTaskParams", UpdateShortcutTaskTaskParams.class); schemas.put("UpdateSlackChannelTopicTaskParams", UpdateSlackChannelTopicTaskParams.class); + schemas.put("UpdateSlackCanvasTaskParams", UpdateSlackCanvasTaskParams.class); schemas.put("UpdateStatusTaskParams", UpdateStatusTaskParams.class); schemas.put("UpdateIncidentStatusTimestampTaskParams", UpdateIncidentStatusTimestampTaskParams.class); schemas.put("UpdateTrelloCardTaskParams", UpdateTrelloCardTaskParams.class); @@ -3396,7 +3465,7 @@ public Map> getSchemas() { /** * Set the instance that matches the anyOf child schema, check * the instance parameter is valid against the anyOf child schemas: - * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams * * It could be an instance of the 'anyOf' schemas. */ @@ -3947,6 +4016,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof RemoveFromSlackChannelTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof ChangeSlackChannelPrivacyTaskParams) { super.setActualInstance(instance); return; @@ -3972,6 +4046,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateSlackCanvasTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof SendSlackMessageTaskParams) { super.setActualInstance(instance); return; @@ -4072,6 +4151,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof UpdateSlackCanvasTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof UpdateStatusTaskParams) { super.setActualInstance(instance); return; @@ -4142,14 +4226,14 @@ public void setActualInstance(Object instance) { return; } - throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } /** * Get the actual instance, which can be the following: - * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams * - * @return The actual instance (AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) + * @return The actual instance (AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) */ @SuppressWarnings("unchecked") @Override @@ -5356,6 +5440,17 @@ public RenameSlackChannelTaskParams getRenameSlackChannelTaskParams() throws Cla return (RenameSlackChannelTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `RemoveFromSlackChannelTaskParams`. If the actual instance is not `RemoveFromSlackChannelTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RemoveFromSlackChannelTaskParams` + * @throws ClassCastException if the instance is not `RemoveFromSlackChannelTaskParams` + */ + public RemoveFromSlackChannelTaskParams getRemoveFromSlackChannelTaskParams() throws ClassCastException { + return (RemoveFromSlackChannelTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `ChangeSlackChannelPrivacyTaskParams`. If the actual instance is not `ChangeSlackChannelPrivacyTaskParams`, * the ClassCastException will be thrown. @@ -5411,6 +5506,17 @@ public CreateSlackChannelTaskParams getCreateSlackChannelTaskParams() throws Cla return (CreateSlackChannelTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateSlackCanvasTaskParams`. If the actual instance is not `CreateSlackCanvasTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateSlackCanvasTaskParams` + * @throws ClassCastException if the instance is not `CreateSlackCanvasTaskParams` + */ + public CreateSlackCanvasTaskParams getCreateSlackCanvasTaskParams() throws ClassCastException { + return (CreateSlackCanvasTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `SendSlackMessageTaskParams`. If the actual instance is not `SendSlackMessageTaskParams`, * the ClassCastException will be thrown. @@ -5631,6 +5737,17 @@ public UpdateSlackChannelTopicTaskParams getUpdateSlackChannelTopicTaskParams() return (UpdateSlackChannelTopicTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `UpdateSlackCanvasTaskParams`. If the actual instance is not `UpdateSlackCanvasTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateSlackCanvasTaskParams` + * @throws ClassCastException if the instance is not `UpdateSlackCanvasTaskParams` + */ + public UpdateSlackCanvasTaskParams getUpdateSlackCanvasTaskParams() throws ClassCastException { + return (UpdateSlackCanvasTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `UpdateStatusTaskParams`. If the actual instance is not `UpdateStatusTaskParams`, * the ClassCastException will be thrown. @@ -6666,6 +6783,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for RenameSlackChannelTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with RemoveFromSlackChannelTaskParams + try { + RemoveFromSlackChannelTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for RemoveFromSlackChannelTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with ChangeSlackChannelPrivacyTaskParams try { ChangeSlackChannelPrivacyTaskParams.validateJsonElement(jsonElement); @@ -6706,6 +6831,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateSlackChannelTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateSlackCanvasTaskParams + try { + CreateSlackCanvasTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with SendSlackMessageTaskParams try { SendSlackMessageTaskParams.validateJsonElement(jsonElement); @@ -6866,6 +6999,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for UpdateSlackChannelTopicTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with UpdateSlackCanvasTaskParams + try { + UpdateSlackCanvasTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateSlackCanvasTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with UpdateStatusTaskParams try { UpdateStatusTaskParams.validateJsonElement(jsonElement); @@ -6978,7 +7119,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateAnthropicChatCompletionTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } - throw new IOException(String.format("The JSON string is invalid for UpdateWorkflowTaskDataAttributesTaskParams with anyOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + throw new IOException(String.format("The JSON string is invalid for UpdateWorkflowTaskDataAttributesTaskParams with anyOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveGoogleChatSpacesTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AttachRetrospectivePdfToFreshserviceTicketTaskParams, AttachRetrospectivePdfToJiraIssueTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeGoogleChatSpacePrivacyTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleChatSpaceTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleGeminiChatCompletionTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateJsmopsAlertTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsChatTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMistralChatCompletionTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpenaiChatCompletionTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackCanvasTaskParams, CreateSlackChannelTaskParams, CreateSubIncidentTaskParams, CreateTrelloCardTaskParams, CreateWatsonxChatCompletionTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToGoogleChatSpaceTaskParams, InviteToMicrosoftTeamsChannelRootlyTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveFromSlackChannelTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameGoogleChatSpaceTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendGoogleChatAttachmentsTaskParams, SendGoogleChatMessageTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsChatMessageTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateConfluencePageTaskParams, UpdateDatadogNotebookTaskParams, UpdateDropboxPaperPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleChatSpaceDescriptionTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackCanvasTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); } /** diff --git a/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java b/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java index 70a0e216..006a8c2d 100644 --- a/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java @@ -51,7 +51,7 @@ /** * UpdateZendeskTicketTaskParams */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateZendeskTicketTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UptimeChartResponse.java b/src/main/java/com/rootly/client/model/UptimeChartResponse.java index 5750781c..58daf8ba 100644 --- a/src/main/java/com/rootly/client/model/UptimeChartResponse.java +++ b/src/main/java/com/rootly/client/model/UptimeChartResponse.java @@ -48,7 +48,7 @@ /** * UptimeChartResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UptimeChartResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/User.java b/src/main/java/com/rootly/client/model/User.java index b51366b6..97f9db70 100644 --- a/src/main/java/com/rootly/client/model/User.java +++ b/src/main/java/com/rootly/client/model/User.java @@ -49,7 +49,7 @@ /** * User */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class User { public static final String SERIALIZED_NAME_EMAIL = "email"; @SerializedName(SERIALIZED_NAME_EMAIL) diff --git a/src/main/java/com/rootly/client/model/UserEmailAddress.java b/src/main/java/com/rootly/client/model/UserEmailAddress.java index 1bcc52a2..1f519882 100644 --- a/src/main/java/com/rootly/client/model/UserEmailAddress.java +++ b/src/main/java/com/rootly/client/model/UserEmailAddress.java @@ -48,7 +48,7 @@ /** * UserEmailAddress */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserEmailAddress { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UserEmailAddressList.java b/src/main/java/com/rootly/client/model/UserEmailAddressList.java index 933a1b28..51956658 100644 --- a/src/main/java/com/rootly/client/model/UserEmailAddressList.java +++ b/src/main/java/com/rootly/client/model/UserEmailAddressList.java @@ -54,7 +54,7 @@ /** * UserEmailAddressList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserEmailAddressList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java b/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java index 6681d539..c4c3fcb7 100644 --- a/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java +++ b/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java @@ -52,7 +52,7 @@ /** * UserEmailAddressResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserEmailAddressResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java b/src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java index 859fb793..d32314b8 100644 --- a/src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java +++ b/src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java @@ -49,7 +49,7 @@ /** * UserEmailAddressResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserEmailAddressResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UserFlatResponse.java b/src/main/java/com/rootly/client/model/UserFlatResponse.java index 51f75f96..8c935f30 100644 --- a/src/main/java/com/rootly/client/model/UserFlatResponse.java +++ b/src/main/java/com/rootly/client/model/UserFlatResponse.java @@ -49,7 +49,7 @@ /** * Flat user attributes as returned by UserFlatSerializer (no nested associations) */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserFlatResponse { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UserList.java b/src/main/java/com/rootly/client/model/UserList.java index f38f2bd7..39f5b29a 100644 --- a/src/main/java/com/rootly/client/model/UserList.java +++ b/src/main/java/com/rootly/client/model/UserList.java @@ -54,7 +54,7 @@ /** * UserList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserNotificationRule.java b/src/main/java/com/rootly/client/model/UserNotificationRule.java index 2097d1a2..c69b32f6 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRule.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRule.java @@ -51,7 +51,7 @@ /** * UserNotificationRule */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserNotificationRule { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UserNotificationRuleList.java b/src/main/java/com/rootly/client/model/UserNotificationRuleList.java index 133358d5..a4af426a 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleList.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleList.java @@ -54,7 +54,7 @@ /** * UserNotificationRuleList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserNotificationRuleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java b/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java index 346e4b8a..2e7d2b1d 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java @@ -52,7 +52,7 @@ /** * UserNotificationRuleResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserNotificationRuleResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java b/src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java index 69714c86..e91b6cc8 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java @@ -49,7 +49,7 @@ /** * UserNotificationRuleResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserNotificationRuleResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UserPhoneNumber.java b/src/main/java/com/rootly/client/model/UserPhoneNumber.java index 80cc794a..87f95e1a 100644 --- a/src/main/java/com/rootly/client/model/UserPhoneNumber.java +++ b/src/main/java/com/rootly/client/model/UserPhoneNumber.java @@ -50,7 +50,7 @@ /** * UserPhoneNumber */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserPhoneNumber { public static final String SERIALIZED_NAME_USER_ID = "user_id"; @SerializedName(SERIALIZED_NAME_USER_ID) diff --git a/src/main/java/com/rootly/client/model/UserPhoneNumberList.java b/src/main/java/com/rootly/client/model/UserPhoneNumberList.java index 2b5953e7..fc046df5 100644 --- a/src/main/java/com/rootly/client/model/UserPhoneNumberList.java +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberList.java @@ -54,7 +54,7 @@ /** * UserPhoneNumberList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserPhoneNumberList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java b/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java index 927c9052..b63c9ae0 100644 --- a/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java @@ -52,7 +52,7 @@ /** * UserPhoneNumberResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserPhoneNumberResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java b/src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java index 9a91c3c2..cc1f9a63 100644 --- a/src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java @@ -49,7 +49,7 @@ /** * UserPhoneNumberResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserPhoneNumberResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/UserRelationships.java b/src/main/java/com/rootly/client/model/UserRelationships.java index 57785d9a..5cda794d 100644 --- a/src/main/java/com/rootly/client/model/UserRelationships.java +++ b/src/main/java/com/rootly/client/model/UserRelationships.java @@ -50,7 +50,7 @@ /** * UserRelationships */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserRelationships { public static final String SERIALIZED_NAME_ROLE = "role"; @SerializedName(SERIALIZED_NAME_ROLE) diff --git a/src/main/java/com/rootly/client/model/UserResponse.java b/src/main/java/com/rootly/client/model/UserResponse.java index cbcc3855..3093ab65 100644 --- a/src/main/java/com/rootly/client/model/UserResponse.java +++ b/src/main/java/com/rootly/client/model/UserResponse.java @@ -52,7 +52,7 @@ /** * UserResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/UserResponseData.java b/src/main/java/com/rootly/client/model/UserResponseData.java index ef8495f4..6215c279 100644 --- a/src/main/java/com/rootly/client/model/UserResponseData.java +++ b/src/main/java/com/rootly/client/model/UserResponseData.java @@ -50,7 +50,7 @@ /** * UserResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/VerifiedDomain.java b/src/main/java/com/rootly/client/model/VerifiedDomain.java index 3f74796b..f4faa7b1 100644 --- a/src/main/java/com/rootly/client/model/VerifiedDomain.java +++ b/src/main/java/com/rootly/client/model/VerifiedDomain.java @@ -49,7 +49,7 @@ /** * VerifiedDomain */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class VerifiedDomain { public static final String SERIALIZED_NAME_DOMAIN = "domain"; @SerializedName(SERIALIZED_NAME_DOMAIN) diff --git a/src/main/java/com/rootly/client/model/VerifiedDomainList.java b/src/main/java/com/rootly/client/model/VerifiedDomainList.java index 01544e98..144de013 100644 --- a/src/main/java/com/rootly/client/model/VerifiedDomainList.java +++ b/src/main/java/com/rootly/client/model/VerifiedDomainList.java @@ -54,7 +54,7 @@ /** * VerifiedDomainList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class VerifiedDomainList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/VerifiedDomainResponse.java b/src/main/java/com/rootly/client/model/VerifiedDomainResponse.java index b89a784c..a9d23d71 100644 --- a/src/main/java/com/rootly/client/model/VerifiedDomainResponse.java +++ b/src/main/java/com/rootly/client/model/VerifiedDomainResponse.java @@ -52,7 +52,7 @@ /** * VerifiedDomainResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class VerifiedDomainResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/VerifiedDomainResponseData.java b/src/main/java/com/rootly/client/model/VerifiedDomainResponseData.java index 0c7e5e57..6212d8e6 100644 --- a/src/main/java/com/rootly/client/model/VerifiedDomainResponseData.java +++ b/src/main/java/com/rootly/client/model/VerifiedDomainResponseData.java @@ -49,7 +49,7 @@ /** * VerifiedDomainResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class VerifiedDomainResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java b/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java index 9ec2819c..4587cc38 100644 --- a/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java +++ b/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java @@ -48,7 +48,7 @@ /** * VerifyPhoneNumberRequest */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class VerifyPhoneNumberRequest { public static final String SERIALIZED_NAME_CODE = "code"; @SerializedName(SERIALIZED_NAME_CODE) diff --git a/src/main/java/com/rootly/client/model/VerifyUserPhoneNumber200Response.java b/src/main/java/com/rootly/client/model/VerifyUserPhoneNumber200Response.java new file mode 100644 index 00000000..2b150757 --- /dev/null +++ b/src/main/java/com/rootly/client/model/VerifyUserPhoneNumber200Response.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * VerifyUserPhoneNumber200Response + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class VerifyUserPhoneNumber200Response { + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + @jakarta.annotation.Nonnull + private String message; + + public VerifyUserPhoneNumber200Response() { + } + + public VerifyUserPhoneNumber200Response message(@jakarta.annotation.Nonnull String message) { + this.message = message; + return this; + } + + /** + * Get message + * @return message + */ + @jakarta.annotation.Nonnull + public String getMessage() { + return message; + } + + public void setMessage(@jakarta.annotation.Nonnull String message) { + this.message = message; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifyUserPhoneNumber200Response verifyUserPhoneNumber200Response = (VerifyUserPhoneNumber200Response) o; + return Objects.equals(this.message, verifyUserPhoneNumber200Response.message); + } + + @Override + public int hashCode() { + return Objects.hash(message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerifyUserPhoneNumber200Response {\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("message"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("message"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to VerifyUserPhoneNumber200Response + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!VerifyUserPhoneNumber200Response.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in VerifyUserPhoneNumber200Response is not found in the empty JSON string", VerifyUserPhoneNumber200Response.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!VerifyUserPhoneNumber200Response.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `VerifyUserPhoneNumber200Response` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : VerifyUserPhoneNumber200Response.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("message").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("message").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!VerifyUserPhoneNumber200Response.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'VerifyUserPhoneNumber200Response' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(VerifyUserPhoneNumber200Response.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, VerifyUserPhoneNumber200Response value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public VerifyUserPhoneNumber200Response read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of VerifyUserPhoneNumber200Response given an JSON string + * + * @param jsonString JSON string + * @return An instance of VerifyUserPhoneNumber200Response + * @throws IOException if the JSON string is invalid with respect to VerifyUserPhoneNumber200Response + */ + public static VerifyUserPhoneNumber200Response fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, VerifyUserPhoneNumber200Response.class); + } + + /** + * Convert an instance of VerifyUserPhoneNumber200Response to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/VerifyUserPhoneNumber429Response.java b/src/main/java/com/rootly/client/model/VerifyUserPhoneNumber429Response.java new file mode 100644 index 00000000..8aa1be58 --- /dev/null +++ b/src/main/java/com/rootly/client/model/VerifyUserPhoneNumber429Response.java @@ -0,0 +1,214 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * VerifyUserPhoneNumber429Response + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class VerifyUserPhoneNumber429Response { + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + @jakarta.annotation.Nonnull + private String error; + + public VerifyUserPhoneNumber429Response() { + } + + public VerifyUserPhoneNumber429Response error(@jakarta.annotation.Nonnull String error) { + this.error = error; + return this; + } + + /** + * Get error + * @return error + */ + @jakarta.annotation.Nonnull + public String getError() { + return error; + } + + public void setError(@jakarta.annotation.Nonnull String error) { + this.error = error; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifyUserPhoneNumber429Response verifyUserPhoneNumber429Response = (VerifyUserPhoneNumber429Response) o; + return Objects.equals(this.error, verifyUserPhoneNumber429Response.error); + } + + @Override + public int hashCode() { + return Objects.hash(error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerifyUserPhoneNumber429Response {\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("error"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("error"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to VerifyUserPhoneNumber429Response + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!VerifyUserPhoneNumber429Response.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in VerifyUserPhoneNumber429Response is not found in the empty JSON string", VerifyUserPhoneNumber429Response.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!VerifyUserPhoneNumber429Response.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `VerifyUserPhoneNumber429Response` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : VerifyUserPhoneNumber429Response.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("error").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `error` to be a primitive type in the JSON string but got `%s`", jsonObj.get("error").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!VerifyUserPhoneNumber429Response.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'VerifyUserPhoneNumber429Response' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(VerifyUserPhoneNumber429Response.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, VerifyUserPhoneNumber429Response value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public VerifyUserPhoneNumber429Response read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of VerifyUserPhoneNumber429Response given an JSON string + * + * @param jsonString JSON string + * @return An instance of VerifyUserPhoneNumber429Response + * @throws IOException if the JSON string is invalid with respect to VerifyUserPhoneNumber429Response + */ + public static VerifyUserPhoneNumber429Response fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, VerifyUserPhoneNumber429Response.class); + } + + /** + * Convert an instance of VerifyUserPhoneNumber429Response to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/rootly/client/model/WebhooksDelivery.java b/src/main/java/com/rootly/client/model/WebhooksDelivery.java index 1076efb0..c6881fef 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDelivery.java +++ b/src/main/java/com/rootly/client/model/WebhooksDelivery.java @@ -48,7 +48,7 @@ /** * WebhooksDelivery */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksDelivery { public static final String SERIALIZED_NAME_ENDPOINT_ID = "endpoint_id"; @SerializedName(SERIALIZED_NAME_ENDPOINT_ID) diff --git a/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java b/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java index 5b169f09..062662a4 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java @@ -54,7 +54,7 @@ /** * WebhooksDeliveryList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksDeliveryList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java index 799e6cc2..e0df8329 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java @@ -52,7 +52,7 @@ /** * WebhooksDeliveryResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksDeliveryResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponseData.java b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponseData.java index 9ce8c1c9..c77686e7 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponseData.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponseData.java @@ -49,7 +49,7 @@ /** * WebhooksDeliveryResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksDeliveryResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpoint.java b/src/main/java/com/rootly/client/model/WebhooksEndpoint.java index 3ec71042..53087885 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpoint.java @@ -51,7 +51,7 @@ /** * WebhooksEndpoint */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpoint { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -125,6 +125,8 @@ public enum EventTypesEnum { SHIFT_STARTED("shift.started"), + SHIFT_ENDED("shift.ended"), + GENIUS_WORKFLOW_RUN_QUEUED("genius_workflow_run.queued"), GENIUS_WORKFLOW_RUN_STARTED("genius_workflow_run.started"), diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpointList.java b/src/main/java/com/rootly/client/model/WebhooksEndpointList.java index 68cdf2ab..496d1c41 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointList.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointList.java @@ -54,7 +54,7 @@ /** * WebhooksEndpointList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpointList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java b/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java index 11393f43..6d0be769 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java @@ -52,7 +52,7 @@ /** * WebhooksEndpointResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpointResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpointResponseData.java b/src/main/java/com/rootly/client/model/WebhooksEndpointResponseData.java index 0ea43c1f..34f87d2a 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointResponseData.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointResponseData.java @@ -49,7 +49,7 @@ /** * WebhooksEndpointResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpointResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Workflow.java b/src/main/java/com/rootly/client/model/Workflow.java index d7263424..958eacd3 100644 --- a/src/main/java/com/rootly/client/model/Workflow.java +++ b/src/main/java/com/rootly/client/model/Workflow.java @@ -19,6 +19,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner; import com.rootly.client.model.NewWorkflowDataAttributesTriggerParams; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * Workflow */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Workflow { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -104,6 +105,11 @@ public class Workflow { @jakarta.annotation.Nullable private Boolean continuouslyRepeat; + public static final String SERIALIZED_NAME_RUN_ONCE_PER_RESOURCE = "run_once_per_resource"; + @SerializedName(SERIALIZED_NAME_RUN_ONCE_PER_RESOURCE) + @jakarta.annotation.Nullable + private Boolean runOncePerResource; + /** * Repeat on weekdays */ @@ -231,6 +237,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List groupIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_GROUP_ASSIGNMENT_IDS = "group_assignment_ids"; + @SerializedName(SERIALIZED_NAME_GROUP_ASSIGNMENT_IDS) + @jakarta.annotation.Nullable + private List groupAssignmentIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_CAUSE_IDS = "cause_ids"; @SerializedName(SERIALIZED_NAME_CAUSE_IDS) @jakarta.annotation.Nullable @@ -241,6 +252,70 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @jakarta.annotation.Nullable private List subStatusIds = new ArrayList<>(); + /** + * Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. + */ + @JsonAdapter(FailureNotificationModeEnum.Adapter.class) + public enum FailureNotificationModeEnum { + INHERIT("inherit"), + + CUSTOM("custom"), + + OFF("off"); + + private String value; + + FailureNotificationModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FailureNotificationModeEnum fromValue(String value) { + for (FailureNotificationModeEnum b : FailureNotificationModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final FailureNotificationModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FailureNotificationModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FailureNotificationModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + FailureNotificationModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_FAILURE_NOTIFICATION_MODE = "failure_notification_mode"; + @SerializedName(SERIALIZED_NAME_FAILURE_NOTIFICATION_MODE) + @jakarta.annotation.Nullable + private FailureNotificationModeEnum failureNotificationMode; + + public static final String SERIALIZED_NAME_FAILURE_NOTIFICATION_CHANNELS = "failure_notification_channels"; + @SerializedName(SERIALIZED_NAME_FAILURE_NOTIFICATION_CHANNELS) + @jakarta.annotation.Nullable + private List failureNotificationChannels = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @jakarta.annotation.Nonnull @@ -443,6 +518,25 @@ public void setContinuouslyRepeat(@jakarta.annotation.Nullable Boolean continuou } + public Workflow runOncePerResource(@jakarta.annotation.Nullable Boolean runOncePerResource) { + this.runOncePerResource = runOncePerResource; + return this; + } + + /** + * When true, the workflow runs at most once per incident. Later triggers on the same incident create a canceled run instead. Manual runs and repeats are not affected. Only applies to incident workflows. + * @return runOncePerResource + */ + @jakarta.annotation.Nullable + public Boolean getRunOncePerResource() { + return runOncePerResource; + } + + public void setRunOncePerResource(@jakarta.annotation.Nullable Boolean runOncePerResource) { + this.runOncePerResource = runOncePerResource; + } + + public Workflow repeatOn(@jakarta.annotation.Nullable List repeatOn) { this.repeatOn = repeatOn; return this; @@ -754,6 +848,33 @@ public void setGroupIds(@jakarta.annotation.Nullable List groupIds) { } + public Workflow groupAssignmentIds(@jakarta.annotation.Nullable List groupAssignmentIds) { + this.groupAssignmentIds = groupAssignmentIds; + return this; + } + + public Workflow addGroupAssignmentIdsItem(String groupAssignmentIdsItem) { + if (this.groupAssignmentIds == null) { + this.groupAssignmentIds = new ArrayList<>(); + } + this.groupAssignmentIds.add(groupAssignmentIdsItem); + return this; + } + + /** + * Owning team IDs. Requires team-scoped workflows. + * @return groupAssignmentIds + */ + @jakarta.annotation.Nullable + public List getGroupAssignmentIds() { + return groupAssignmentIds; + } + + public void setGroupAssignmentIds(@jakarta.annotation.Nullable List groupAssignmentIds) { + this.groupAssignmentIds = groupAssignmentIds; + } + + public Workflow causeIds(@jakarta.annotation.Nullable List causeIds) { this.causeIds = causeIds; return this; @@ -808,6 +929,52 @@ public void setSubStatusIds(@jakarta.annotation.Nullable List subStatusI } + public Workflow failureNotificationMode(@jakarta.annotation.Nullable FailureNotificationModeEnum failureNotificationMode) { + this.failureNotificationMode = failureNotificationMode; + return this; + } + + /** + * Where failure notifications for this workflow are sent. `inherit` uses the account default channel, `custom` uses `failure_notification_channels`, `off` suppresses them. + * @return failureNotificationMode + */ + @jakarta.annotation.Nullable + public FailureNotificationModeEnum getFailureNotificationMode() { + return failureNotificationMode; + } + + public void setFailureNotificationMode(@jakarta.annotation.Nullable FailureNotificationModeEnum failureNotificationMode) { + this.failureNotificationMode = failureNotificationMode; + } + + + public Workflow failureNotificationChannels(@jakarta.annotation.Nullable List failureNotificationChannels) { + this.failureNotificationChannels = failureNotificationChannels; + return this; + } + + public Workflow addFailureNotificationChannelsItem(NewWorkflowDataAttributesFailureNotificationChannelsInner failureNotificationChannelsItem) { + if (this.failureNotificationChannels == null) { + this.failureNotificationChannels = new ArrayList<>(); + } + this.failureNotificationChannels.add(failureNotificationChannelsItem); + return this; + } + + /** + * Slack channels notified when a run of this workflow fails. Used when `failure_notification_mode` is `custom`. + * @return failureNotificationChannels + */ + @jakarta.annotation.Nullable + public List getFailureNotificationChannels() { + return failureNotificationChannels; + } + + public void setFailureNotificationChannels(@jakarta.annotation.Nullable List failureNotificationChannels) { + this.failureNotificationChannels = failureNotificationChannels; + } + + public Workflow createdAt(@jakarta.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -866,6 +1033,7 @@ public boolean equals(Object o) { Objects.equals(this.repeatConditionDurationSinceFirstRun, workflow.repeatConditionDurationSinceFirstRun) && Objects.equals(this.repeatConditionNumberOfRepeats, workflow.repeatConditionNumberOfRepeats) && Objects.equals(this.continuouslyRepeat, workflow.continuouslyRepeat) && + Objects.equals(this.runOncePerResource, workflow.runOncePerResource) && Objects.equals(this.repeatOn, workflow.repeatOn) && Objects.equals(this.enabled, workflow.enabled) && Objects.equals(this.locked, workflow.locked) && @@ -879,8 +1047,11 @@ public boolean equals(Object o) { Objects.equals(this.serviceIds, workflow.serviceIds) && Objects.equals(this.functionalityIds, workflow.functionalityIds) && Objects.equals(this.groupIds, workflow.groupIds) && + Objects.equals(this.groupAssignmentIds, workflow.groupAssignmentIds) && Objects.equals(this.causeIds, workflow.causeIds) && Objects.equals(this.subStatusIds, workflow.subStatusIds) && + Objects.equals(this.failureNotificationMode, workflow.failureNotificationMode) && + Objects.equals(this.failureNotificationChannels, workflow.failureNotificationChannels) && Objects.equals(this.createdAt, workflow.createdAt) && Objects.equals(this.updatedAt, workflow.updatedAt); } @@ -891,7 +1062,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, command, commandFeedbackEnabled, wait, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, repeatOn, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, causeIds, subStatusIds, createdAt, updatedAt); + return Objects.hash(name, slug, description, command, commandFeedbackEnabled, wait, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, runOncePerResource, repeatOn, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, groupAssignmentIds, causeIds, subStatusIds, failureNotificationMode, failureNotificationChannels, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -915,6 +1086,7 @@ public String toString() { sb.append(" repeatConditionDurationSinceFirstRun: ").append(toIndentedString(repeatConditionDurationSinceFirstRun)).append("\n"); sb.append(" repeatConditionNumberOfRepeats: ").append(toIndentedString(repeatConditionNumberOfRepeats)).append("\n"); sb.append(" continuouslyRepeat: ").append(toIndentedString(continuouslyRepeat)).append("\n"); + sb.append(" runOncePerResource: ").append(toIndentedString(runOncePerResource)).append("\n"); sb.append(" repeatOn: ").append(toIndentedString(repeatOn)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" locked: ").append(toIndentedString(locked)).append("\n"); @@ -928,8 +1100,11 @@ public String toString() { sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); + sb.append(" groupAssignmentIds: ").append(toIndentedString(groupAssignmentIds)).append("\n"); sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append(" subStatusIds: ").append(toIndentedString(subStatusIds)).append("\n"); + sb.append(" failureNotificationMode: ").append(toIndentedString(failureNotificationMode)).append("\n"); + sb.append(" failureNotificationChannels: ").append(toIndentedString(failureNotificationChannels)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -964,6 +1139,7 @@ private String toIndentedString(Object o) { openapiFields.add("repeat_condition_duration_since_first_run"); openapiFields.add("repeat_condition_number_of_repeats"); openapiFields.add("continuously_repeat"); + openapiFields.add("run_once_per_resource"); openapiFields.add("repeat_on"); openapiFields.add("enabled"); openapiFields.add("locked"); @@ -977,8 +1153,11 @@ private String toIndentedString(Object o) { openapiFields.add("service_ids"); openapiFields.add("functionality_ids"); openapiFields.add("group_ids"); + openapiFields.add("group_assignment_ids"); openapiFields.add("cause_ids"); openapiFields.add("sub_status_ids"); + openapiFields.add("failure_notification_mode"); + openapiFields.add("failure_notification_channels"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -1078,6 +1257,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_ids").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("group_assignment_ids") != null && !jsonObj.get("group_assignment_ids").isJsonNull() && !jsonObj.get("group_assignment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `group_assignment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("group_assignment_ids").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("cause_ids") != null && !jsonObj.get("cause_ids").isJsonNull() && !jsonObj.get("cause_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("cause_ids").toString())); } @@ -1085,6 +1268,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("sub_status_ids") != null && !jsonObj.get("sub_status_ids").isJsonNull() && !jsonObj.get("sub_status_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `sub_status_ids` to be an array in the JSON string but got `%s`", jsonObj.get("sub_status_ids").toString())); } + if ((jsonObj.get("failure_notification_mode") != null && !jsonObj.get("failure_notification_mode").isJsonNull()) && !jsonObj.get("failure_notification_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `failure_notification_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("failure_notification_mode").toString())); + } + // validate the optional field `failure_notification_mode` + if (jsonObj.get("failure_notification_mode") != null && !jsonObj.get("failure_notification_mode").isJsonNull()) { + FailureNotificationModeEnum.validateJsonElement(jsonObj.get("failure_notification_mode")); + } + if (jsonObj.get("failure_notification_channels") != null && !jsonObj.get("failure_notification_channels").isJsonNull()) { + JsonArray jsonArrayfailureNotificationChannels = jsonObj.getAsJsonArray("failure_notification_channels"); + if (jsonArrayfailureNotificationChannels != null) { + // ensure the json data is an array + if (!jsonObj.get("failure_notification_channels").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `failure_notification_channels` to be an array in the JSON string but got `%s`", jsonObj.get("failure_notification_channels").toString())); + } + + // validate the optional field `failure_notification_channels` (array) + for (int i = 0; i < jsonArrayfailureNotificationChannels.size(); i++) { + NewWorkflowDataAttributesFailureNotificationChannelsInner.validateJsonElement(jsonArrayfailureNotificationChannels.get(i)); + }; + } + } if (!jsonObj.get("created_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `created_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("created_at").toString())); } diff --git a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldCondition.java b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldCondition.java index a6b2a45e..3793296c 100644 --- a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldCondition.java @@ -50,7 +50,7 @@ /** * WorkflowActionItemFormFieldCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowActionItemFormFieldCondition { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionList.java b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionList.java index 17898444..090dc2e8 100644 --- a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionList.java @@ -54,7 +54,7 @@ /** * WorkflowActionItemFormFieldConditionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowActionItemFormFieldConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponse.java b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponse.java index f77b971f..fba1baf7 100644 --- a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponse.java @@ -52,7 +52,7 @@ /** * WorkflowActionItemFormFieldConditionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowActionItemFormFieldConditionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponseData.java b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponseData.java index dcf45ac6..ee53e305 100644 --- a/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowActionItemFormFieldConditionResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowActionItemFormFieldConditionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowActionItemFormFieldConditionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java index a1f62e42..7d1cd887 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java @@ -50,7 +50,7 @@ /** * WorkflowCustomFieldSelection */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowCustomFieldSelection { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java index a6d74a56..ab568d99 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java @@ -54,7 +54,7 @@ /** * WorkflowCustomFieldSelectionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowCustomFieldSelectionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java index 7d0c9929..90c2bb7b 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java @@ -52,7 +52,7 @@ /** * WorkflowCustomFieldSelectionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowCustomFieldSelectionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseData.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseData.java index bc2c19f5..125de625 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowCustomFieldSelectionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowCustomFieldSelectionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowFormFieldCondition.java b/src/main/java/com/rootly/client/model/WorkflowFormFieldCondition.java index 30ba4fdd..dec93faf 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldCondition.java @@ -50,7 +50,7 @@ /** * WorkflowFormFieldCondition */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowFormFieldCondition { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java index 01e7ffef..be87c00c 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java @@ -54,7 +54,7 @@ /** * WorkflowFormFieldConditionList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowFormFieldConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java index 328a47d2..1eca6535 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java @@ -52,7 +52,7 @@ /** * WorkflowFormFieldConditionResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowFormFieldConditionResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponseData.java b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponseData.java index 154beec1..81dcffbf 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowFormFieldConditionResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowFormFieldConditionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowGroup.java b/src/main/java/com/rootly/client/model/WorkflowGroup.java index 9dd6ce99..e646031c 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroup.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroup.java @@ -49,7 +49,7 @@ /** * WorkflowGroup */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroup { /** * The kind of the workflow group @@ -66,6 +66,8 @@ public enum KindEnum { PULSE("pulse"), + PROBLEM("problem"), + ALERT("alert"); private String value; diff --git a/src/main/java/com/rootly/client/model/WorkflowGroupList.java b/src/main/java/com/rootly/client/model/WorkflowGroupList.java index 66e810b2..351567e6 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupList.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupList.java @@ -54,7 +54,7 @@ /** * WorkflowGroupList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroupList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java b/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java index e375ecf8..763613db 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java @@ -52,7 +52,7 @@ /** * WorkflowGroupResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroupResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowGroupResponseData.java b/src/main/java/com/rootly/client/model/WorkflowGroupResponseData.java index 3fc287eb..5ab370da 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowGroupResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroupResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowList.java b/src/main/java/com/rootly/client/model/WorkflowList.java index 3c58daac..32da95ca 100644 --- a/src/main/java/com/rootly/client/model/WorkflowList.java +++ b/src/main/java/com/rootly/client/model/WorkflowList.java @@ -54,7 +54,7 @@ /** * WorkflowList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowResponse.java b/src/main/java/com/rootly/client/model/WorkflowResponse.java index 01691cb3..ecfc7cfd 100644 --- a/src/main/java/com/rootly/client/model/WorkflowResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowResponse.java @@ -52,7 +52,7 @@ /** * WorkflowResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowResponseData.java b/src/main/java/com/rootly/client/model/WorkflowResponseData.java index 2581c392..7503b7d2 100644 --- a/src/main/java/com/rootly/client/model/WorkflowResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowRun.java b/src/main/java/com/rootly/client/model/WorkflowRun.java index da794406..abf4da12 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRun.java +++ b/src/main/java/com/rootly/client/model/WorkflowRun.java @@ -51,7 +51,7 @@ /** * WorkflowRun */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowRun { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowRunResponse.java b/src/main/java/com/rootly/client/model/WorkflowRunResponse.java index b92941a4..0deea78c 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunResponse.java @@ -52,7 +52,7 @@ /** * WorkflowRunResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowRunResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowRunResponseData.java b/src/main/java/com/rootly/client/model/WorkflowRunResponseData.java index c1146d4f..e9695121 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowRunResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowRunResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowRunsList.java b/src/main/java/com/rootly/client/model/WorkflowRunsList.java index c9974a70..5e48ec5e 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunsList.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunsList.java @@ -54,7 +54,7 @@ /** * WorkflowRunsList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowRunsList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowTask.java b/src/main/java/com/rootly/client/model/WorkflowTask.java index 56ce498d..146ce7eb 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTask.java +++ b/src/main/java/com/rootly/client/model/WorkflowTask.java @@ -49,7 +49,7 @@ /** * WorkflowTask */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowTask { public static final String SERIALIZED_NAME_WORKFLOW_ID = "workflow_id"; @SerializedName(SERIALIZED_NAME_WORKFLOW_ID) diff --git a/src/main/java/com/rootly/client/model/WorkflowTaskList.java b/src/main/java/com/rootly/client/model/WorkflowTaskList.java index dc73b524..fc51ea89 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskList.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskList.java @@ -54,7 +54,7 @@ /** * WorkflowTaskList */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowTaskList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java b/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java index 68ce7af4..472fac1d 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java @@ -52,7 +52,7 @@ /** * WorkflowTaskResponse */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowTaskResponse { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java b/src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java index 2d60bdd9..48fc6643 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java @@ -49,7 +49,7 @@ /** * WorkflowTaskResponseData */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-08-14T16:47:44.247145921Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowTaskResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/WorkingHours.java b/src/main/java/com/rootly/client/model/WorkingHours.java new file mode 100644 index 00000000..d2546af6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/WorkingHours.java @@ -0,0 +1,294 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rootly.client.JSON; + +/** + * WorkingHours + */ +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-10-07T07:27:00.482815432Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class WorkingHours { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + WORKING_HOUR("working_hour"); + + private String value; + + RuleTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RuleTypeEnum fromValue(String value) { + for (RuleTypeEnum b : RuleTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RuleTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RuleTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RuleTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RuleTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RULE_TYPE = "rule_type"; + @SerializedName(SERIALIZED_NAME_RULE_TYPE) + @jakarta.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_WITHIN_WORKING_HOUR = "within_working_hour"; + @SerializedName(SERIALIZED_NAME_WITHIN_WORKING_HOUR) + @jakarta.annotation.Nonnull + private Boolean withinWorkingHour; + + public WorkingHours() { + } + + public WorkingHours ruleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @jakarta.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@jakarta.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public WorkingHours withinWorkingHour(@jakarta.annotation.Nonnull Boolean withinWorkingHour) { + this.withinWorkingHour = withinWorkingHour; + return this; + } + + /** + * Whether the escalation path should be used within working hours + * @return withinWorkingHour + */ + @jakarta.annotation.Nonnull + public Boolean getWithinWorkingHour() { + return withinWorkingHour; + } + + public void setWithinWorkingHour(@jakarta.annotation.Nonnull Boolean withinWorkingHour) { + this.withinWorkingHour = withinWorkingHour; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkingHours workingHours = (WorkingHours) o; + return Objects.equals(this.ruleType, workingHours.ruleType) && + Objects.equals(this.withinWorkingHour, workingHours.withinWorkingHour); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, withinWorkingHour); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkingHours {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" withinWorkingHour: ").append(toIndentedString(withinWorkingHour)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("rule_type"); + openapiFields.add("within_working_hour"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("within_working_hour"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to WorkingHours + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!WorkingHours.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in WorkingHours is not found in the empty JSON string", WorkingHours.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!WorkingHours.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `WorkingHours` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : WorkingHours.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException(String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("rule_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `rule_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("rule_type").toString())); + } + // validate the required field `rule_type` + RuleTypeEnum.validateJsonElement(jsonObj.get("rule_type")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!WorkingHours.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'WorkingHours' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(WorkingHours.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, WorkingHours value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public WorkingHours read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of WorkingHours given an JSON string + * + * @param jsonString JSON string + * @return An instance of WorkingHours + * @throws IOException if the JSON string is invalid with respect to WorkingHours + */ + public static WorkingHours fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, WorkingHours.class); + } + + /** + * Convert an instance of WorkingHours to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/test/java/com/rootly/client/api/AlertConfigurationApiTest.java b/src/test/java/com/rootly/client/api/AlertConfigurationApiTest.java new file mode 100644 index 00000000..60b5dc97 --- /dev/null +++ b/src/test/java/com/rootly/client/api/AlertConfigurationApiTest.java @@ -0,0 +1,59 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiException; +import com.rootly.client.model.AlertConfigurationResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.UpdateAlertConfiguration; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for AlertConfigurationApi + */ +@Disabled +public class AlertConfigurationApiTest { + + private final AlertConfigurationApi api = new AlertConfigurationApi(); + + /** + * Retrieves the team's alert configuration + * + * @throws ApiException if the Api call fails + */ + @Test + public void getAlertConfigurationTest() throws ApiException { + AlertConfigurationResponse response = api.getAlertConfiguration(); + // TODO: test validations + } + + /** + * Updates the team's alert configuration + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateAlertConfigurationTest() throws ApiException { + UpdateAlertConfiguration updateAlertConfiguration = null; + AlertConfigurationResponse response = api.updateAlertConfiguration(updateAlertConfiguration); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/AlertRoutesApiTest.java b/src/test/java/com/rootly/client/api/AlertRoutesApiTest.java index cd80180f..a2e002cc 100644 --- a/src/test/java/com/rootly/client/api/AlertRoutesApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertRoutesApiTest.java @@ -40,7 +40,7 @@ public class AlertRoutesApiTest { /** * Creates an alert route * - * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Creates a new alert route from provided data. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ## Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule creation happens in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and for an update it includes the rules already on the route, not just those in the payload. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after creation. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * * @throws ApiException if the Api call fails */ @@ -123,7 +123,7 @@ public void patchAlertRouteTest() throws ApiException { /** * Update an alert route * - * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. **Important**: When async processing is enabled, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route after a few minutes to get the updated rules. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. + * Update a specific alert route by id. **Note: This endpoint requires access to Advanced Alert Routing. If you're unsure whether you have access to this feature, please contact Rootly customer support.** ### Asynchronous Rule Creation For organizations with large numbers of routing rules, Rootly supports asynchronous rule processing to improve performance. When enabled, rule updates happen in the background. Asynchronous processing is also applied automatically, whether or not it is enabled for your organization, when a request carries a rule graph too large to save within the request timeout. Size is measured in total dependent records — rules plus their condition groups, conditions and destinations — and includes the rules already on the route, not just those in the payload, so a small payload against a large route may still be processed asynchronously. **Important**: Whenever rules are processed asynchronously, the rules list in the API response will not be up-to-date immediately after update. You should refetch the alert route, or poll the async rule creation status endpoint with the `request_id` you supplied, to confirm the rules have landed. If you experience slow operations when managing alert routes with many rules, contact Rootly customer support to enable asynchronous rule processing for your organization. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/rootly/client/api/AlertsApiTest.java b/src/test/java/com/rootly/client/api/AlertsApiTest.java index 60a5f7c5..c002c753 100644 --- a/src/test/java/com/rootly/client/api/AlertsApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertsApiTest.java @@ -14,6 +14,7 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.AcknowledgeAlert; import com.rootly.client.model.AlertList; import com.rootly.client.model.AlertResponse; import com.rootly.client.model.AttachAlert; @@ -50,7 +51,8 @@ public class AlertsApiTest { @Test public void acknowledgeAlertTest() throws ApiException { String id = null; - AlertResponse response = api.acknowledgeAlert(id); + AcknowledgeAlert acknowledgeAlert = null; + AlertResponse response = api.acknowledgeAlert(id, acknowledgeAlert); // TODO: test validations } diff --git a/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java b/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java index 7d9652a4..8f216401 100644 --- a/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java @@ -102,7 +102,7 @@ public void listIncidentPostmortemTest() throws ApiException { /** * Update an incident retrospective * - * Update a specific incident retrospective by id + * Update a specific incident retrospective by id. The body may be written as `content` (or its alias `smart_content`) and is sanitized to the tags the retrospective editor supports. When no `title` is sent and the body opens with an `<h1>`, that heading becomes the retrospective title, matching the editor. Once a retrospective has been opened in the collaborative editor that editor owns the body, and body writes are rejected with a 409. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/rootly/client/api/IncidentsApiTest.java b/src/test/java/com/rootly/client/api/IncidentsApiTest.java index 48319c44..ae4d9f1b 100644 --- a/src/test/java/com/rootly/client/api/IncidentsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentsApiTest.java @@ -100,7 +100,8 @@ public void cancelIncidentTest() throws ApiException { @Test public void createIncidentTest() throws ApiException { NewIncident newIncident = null; - IncidentResponse response = api.createIncident(newIncident); + String idempotencyKey = null; + IncidentResponse response = api.createIncident(newIncident, idempotencyKey); // TODO: test validations } diff --git a/src/test/java/com/rootly/client/api/PrivateAgentsApiTest.java b/src/test/java/com/rootly/client/api/PrivateAgentsApiTest.java new file mode 100644 index 00000000..e2cbb4ff --- /dev/null +++ b/src/test/java/com/rootly/client/api/PrivateAgentsApiTest.java @@ -0,0 +1,110 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiException; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.PrivateAgentEnrollmentTokenResponse; +import com.rootly.client.model.PrivateAgentList; +import com.rootly.client.model.PrivateAgentResponse; +import com.rootly.client.model.PrivateAgentUpdate; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for PrivateAgentsApi + */ +@Disabled +public class PrivateAgentsApiTest { + + private final PrivateAgentsApi api = new PrivateAgentsApi(); + + /** + * Create a one-time token for agent enrollment + * + * Issue a one-time token valid for 24 hours. No request body is required. Requires Private Agent management permission plus the Private Agents and AI SRE features. The agent uses this token for gRPC Enroll; the agent record is created on enrollment, not by this request. The plaintext is returned only here and is not recoverable. Repeated requests issue distinct tokens; this endpoint is not idempotent. + * + * @throws ApiException if the Api call fails + */ + @Test + public void createPrivateAgentEnrollmentTokenTest() throws ApiException { + PrivateAgentEnrollmentTokenResponse response = api.createPrivateAgentEnrollmentToken(); + // TODO: test validations + } + + /** + * Get private agent + * + * Return provider inventory and last-reported health for one agent. Requires Private Agent read permission plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getPrivateAgentTest() throws ApiException { + UUID id = null; + PrivateAgentResponse response = api.getPrivateAgent(id); + // TODO: test validations + } + + /** + * List private agents + * + * List this tenant's agents, including revoked and offline agents. Inventory pages omit provider snapshots to bound database and response costs; use Get private agent for provider inventory and last-reported health. Requires Private Agent management access plus the Private Agents and AI SRE features. Credentials and capability schemas are never returned. + * + * @throws ApiException if the Api call fails + */ + @Test + public void listPrivateAgentsTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + PrivateAgentList response = api.listPrivateAgents(pageNumber, pageSize); + // TODO: test validations + } + + /** + * Revoke private agent + * + * Invalidate access and refresh credentials and remove provider routing registrations. Requires Private Agent delete permission plus the Private Agents and AI SRE features. Retains the agent and invocation history. Repeated revocation is safe. An executing customer-side operation is not guaranteed to stop immediately. Use a new enrollment token to re-enroll a revoked installation. + * + * @throws ApiException if the Api call fails + */ + @Test + public void revokePrivateAgentTest() throws ApiException { + UUID id = null; + PrivateAgentResponse response = api.revokePrivateAgent(id); + // TODO: test validations + } + + /** + * Update private agent metadata + * + * Update routing metadata or pause tool execution without disconnecting the agent. The agent UUID and provider IDs remain the execution identities. Requires Private Agent update permission. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updatePrivateAgentTest() throws ApiException { + UUID id = null; + PrivateAgentUpdate privateAgentUpdate = null; + api.updatePrivateAgent(id, privateAgentUpdate); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/ProblemActionItemsApiTest.java b/src/test/java/com/rootly/client/api/ProblemActionItemsApiTest.java new file mode 100644 index 00000000..7b0e6782 --- /dev/null +++ b/src/test/java/com/rootly/client/api/ProblemActionItemsApiTest.java @@ -0,0 +1,172 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiException; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewProblemActionItem; +import com.rootly.client.model.ProblemActionItemList; +import com.rootly.client.model.ProblemActionItemResponse; +import com.rootly.client.model.UpdateProblemActionItem; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for ProblemActionItemsApi + */ +@Disabled +public class ProblemActionItemsApiTest { + + private final ProblemActionItemsApi api = new ProblemActionItemsApi(); + + /** + * Creates a problem action item + * + * Creates a new action item on a problem from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createProblemActionItemTest() throws ApiException { + String problemId = null; + NewProblemActionItem newProblemActionItem = null; + ProblemActionItemResponse response = api.createProblemActionItem(problemId, newProblemActionItem); + // TODO: test validations + } + + /** + * Deletes a problem action item + * + * Deletes a problem action item + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteProblemActionItemTest() throws ApiException { + String id = null; + ProblemActionItemResponse response = api.deleteProblemActionItem(id); + // TODO: test validations + } + + /** + * Retrieves a problem action item + * + * Retrieves a specific problem action item by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getProblemActionItemTest() throws ApiException { + String id = null; + ProblemActionItemResponse response = api.getProblemActionItem(id); + // TODO: test validations + } + + /** + * List all problem action items + * + * List all problem action items the caller can access across the team, with filter, sort and pagination support + * + * @throws ApiException if the Api call fails + */ + @Test + public void listAllProblemActionItemsTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String sort = null; + String problemId = null; + String filterSearch = null; + String filterDueDateGt = null; + String filterDueDateGte = null; + String filterDueDateLt = null; + String filterDueDateLte = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String filterStatusEq = null; + String filterStatusNotEq = null; + String filterStatusIn = null; + String filterStatusNotIn = null; + String filterPriorityEq = null; + String filterPriorityNotEq = null; + String filterPriorityIn = null; + String filterPriorityNotIn = null; + String filterAssignedToUserIdEq = null; + String filterAssignedToUserIdNotEq = null; + String filterAssignedToUserIdIn = null; + String filterAssignedToUserIdNotIn = null; + ProblemActionItemList response = api.listAllProblemActionItems(pageNumber, pageSize, sort, problemId, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn); + // TODO: test validations + } + + /** + * List a problem's action items + * + * List action items belonging to a problem, with filter, sort and pagination support + * + * @throws ApiException if the Api call fails + */ + @Test + public void listProblemActionItemsTest() throws ApiException { + String problemId = null; + Integer pageNumber = null; + Integer pageSize = null; + String sort = null; + String filterSearch = null; + String filterDueDateGt = null; + String filterDueDateGte = null; + String filterDueDateLt = null; + String filterDueDateLte = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String filterStatusEq = null; + String filterStatusNotEq = null; + String filterStatusIn = null; + String filterStatusNotIn = null; + String filterPriorityEq = null; + String filterPriorityNotEq = null; + String filterPriorityIn = null; + String filterPriorityNotIn = null; + String filterAssignedToUserIdEq = null; + String filterAssignedToUserIdNotEq = null; + String filterAssignedToUserIdIn = null; + String filterAssignedToUserIdNotIn = null; + ProblemActionItemList response = api.listProblemActionItems(problemId, pageNumber, pageSize, sort, filterSearch, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn, filterAssignedToUserIdEq, filterAssignedToUserIdNotEq, filterAssignedToUserIdIn, filterAssignedToUserIdNotIn); + // TODO: test validations + } + + /** + * Update a problem action item + * + * Updates a problem action item + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateProblemActionItemTest() throws ApiException { + String id = null; + UpdateProblemActionItem updateProblemActionItem = null; + ProblemActionItemResponse response = api.updateProblemActionItem(id, updateProblemActionItem); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/ProblemsApiTest.java b/src/test/java/com/rootly/client/api/ProblemsApiTest.java new file mode 100644 index 00000000..caf29533 --- /dev/null +++ b/src/test/java/com/rootly/client/api/ProblemsApiTest.java @@ -0,0 +1,162 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.api; + +import com.rootly.client.ApiException; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.LinkIncidents; +import com.rootly.client.model.NewProblem; +import com.rootly.client.model.ProblemList; +import com.rootly.client.model.ProblemResponse; +import com.rootly.client.model.UpdateProblem; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * API tests for ProblemsApi + */ +@Disabled +public class ProblemsApiTest { + + private final ProblemsApi api = new ProblemsApi(); + + /** + * Creates a problem + * + * Creates a new problem from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createProblemTest() throws ApiException { + NewProblem newProblem = null; + ProblemResponse response = api.createProblem(newProblem); + // TODO: test validations + } + + /** + * Deletes a problem + * + * Soft-deletes a problem + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteProblemTest() throws ApiException { + String id = null; + ProblemResponse response = api.deleteProblem(id); + // TODO: test validations + } + + /** + * Retrieves a problem + * + * API callers lacking access to the problem's team receive an error. The API deliberately returns 404 rather than 403 so existence is not leaked. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getProblemTest() throws ApiException { + String id = null; + ProblemResponse response = api.getProblem(id); + // TODO: test validations + } + + /** + * Links incidents to a problem + * + * Links one or more incidents to a problem. Accepts `incident_id` (single) or `incident_ids` (array). + * + * @throws ApiException if the Api call fails + */ + @Test + public void linkProblemIncidentsTest() throws ApiException { + String id = null; + LinkIncidents linkIncidents = null; + ProblemResponse response = api.linkProblemIncidents(id, linkIncidents); + // TODO: test validations + } + + /** + * List problems + * + * Sorting by incidents_count would let callers without incident read infer relative hidden incident counts, so it is rejected. + * + * @throws ApiException if the Api call fails + */ + @Test + public void listProblemsTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String sort = null; + String filterSearch = null; + Integer filterOwnerUserId = null; + String filterOwnerGroupId = null; + Integer filterCreatedByUserId = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String filterDueDateGt = null; + String filterDueDateGte = null; + String filterDueDateLt = null; + String filterDueDateLte = null; + String filterStatusEq = null; + String filterStatusNotEq = null; + String filterStatusIn = null; + String filterStatusNotIn = null; + String filterPriorityEq = null; + String filterPriorityNotEq = null; + String filterPriorityIn = null; + String filterPriorityNotIn = null; + ProblemList response = api.listProblems(pageNumber, pageSize, sort, filterSearch, filterOwnerUserId, filterOwnerGroupId, filterCreatedByUserId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterDueDateGt, filterDueDateGte, filterDueDateLt, filterDueDateLte, filterStatusEq, filterStatusNotEq, filterStatusIn, filterStatusNotIn, filterPriorityEq, filterPriorityNotEq, filterPriorityIn, filterPriorityNotIn); + // TODO: test validations + } + + /** + * Unlinks an incident from a problem + * + * Unlinks an incident from a problem + * + * @throws ApiException if the Api call fails + */ + @Test + public void unlinkProblemIncidentTest() throws ApiException { + String id = null; + String incidentId = null; + ProblemResponse response = api.unlinkProblemIncident(id, incidentId); + // TODO: test validations + } + + /** + * Update a problem + * + * When a status transition fails validation, accompanying field updates roll back with it. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateProblemTest() throws ApiException { + String id = null; + UpdateProblem updateProblem = null; + ProblemResponse response = api.updateProblem(id, updateProblem); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/ShiftCoverageRequestsApiTest.java b/src/test/java/com/rootly/client/api/ShiftCoverageRequestsApiTest.java index 727426b0..c8deae22 100644 --- a/src/test/java/com/rootly/client/api/ShiftCoverageRequestsApiTest.java +++ b/src/test/java/com/rootly/client/api/ShiftCoverageRequestsApiTest.java @@ -37,7 +37,7 @@ public class ShiftCoverageRequestsApiTest { /** * creates shift coverage requests * - * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift. + * Creates coverage requests for the shifts overlapping the requested time range. A range can span multiple consecutive shifts (e.g. across a handoff), so one or more coverage requests may be created; the response is always a list. A coverage request broadcasts to schedule members so someone can volunteer to cover the shift, or targets recipient_user_ids when targeted-shift-coverage is enabled. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/rootly/client/api/AlertRetriggerRulesApiTest.java b/src/test/java/com/rootly/client/api/StatusPageTeamsApiTest.java similarity index 62% rename from src/test/java/com/rootly/client/api/AlertRetriggerRulesApiTest.java rename to src/test/java/com/rootly/client/api/StatusPageTeamsApiTest.java index 5373116e..0d3d80ab 100644 --- a/src/test/java/com/rootly/client/api/AlertRetriggerRulesApiTest.java +++ b/src/test/java/com/rootly/client/api/StatusPageTeamsApiTest.java @@ -14,11 +14,11 @@ package com.rootly.client.api; import com.rootly.client.ApiException; -import com.rootly.client.model.AlertRetriggerRuleList; -import com.rootly.client.model.AlertRetriggerRuleResponse; import com.rootly.client.model.ErrorsList; -import com.rootly.client.model.NewAlertRetriggerRule; -import com.rootly.client.model.UpdateAlertRetriggerRule; +import com.rootly.client.model.NewStatusPageTeam; +import com.rootly.client.model.StatusPageTeamList; +import com.rootly.client.model.StatusPageTeamResponse; +import com.rootly.client.model.UpdateStatusPageTeam; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -28,70 +28,88 @@ import java.util.Map; /** - * API tests for AlertRetriggerRulesApi + * API tests for StatusPageTeamsApi */ @Disabled -public class AlertRetriggerRulesApiTest { +public class StatusPageTeamsApiTest { - private final AlertRetriggerRulesApi api = new AlertRetriggerRulesApi(); + private final StatusPageTeamsApi api = new StatusPageTeamsApi(); /** - * Creates an alert re-trigger rule + * Grants a team access to a status page + * + * Assigns a team to a status page. Members of the team get the chosen permission level on that page in addition to their role. Requires an owner or admin role. * * @throws ApiException if the Api call fails */ @Test - public void createAlertRetriggerRuleTest() throws ApiException { - NewAlertRetriggerRule newAlertRetriggerRule = null; - AlertRetriggerRuleResponse response = api.createAlertRetriggerRule(newAlertRetriggerRule); + public void createStatusPageTeamTest() throws ApiException { + String statusPageId = null; + NewStatusPageTeam newStatusPageTeam = null; + StatusPageTeamResponse response = api.createStatusPageTeam(statusPageId, newStatusPageTeam); // TODO: test validations } /** - * Deletes an alert re-trigger rule + * Removes a team's access to a status page + * + * Removes a team from a status page. Its members lose the page access the assignment granted on their next request. Requires an owner or admin role. * * @throws ApiException if the Api call fails */ @Test - public void deleteAlertRetriggerRuleTest() throws ApiException { + public void deleteStatusPageTeamTest() throws ApiException { + String statusPageId = null; String id = null; - api.deleteAlertRetriggerRule(id); + StatusPageTeamResponse response = api.deleteStatusPageTeam(statusPageId, id); // TODO: test validations } /** - * Retrieves an alert re-trigger rule + * Retrieves a status page team assignment + * + * Retrieves a specific status page team assignment by id * * @throws ApiException if the Api call fails */ @Test - public void getAlertRetriggerRuleTest() throws ApiException { + public void getStatusPageTeamTest() throws ApiException { + String statusPageId = null; String id = null; - AlertRetriggerRuleResponse response = api.getAlertRetriggerRule(id); + StatusPageTeamResponse response = api.getStatusPageTeam(statusPageId, id); // TODO: test validations } /** - * List alert re-trigger rules + * Lists the teams with access to a status page + * + * Lists the teams assigned to a status page, oldest first * * @throws ApiException if the Api call fails */ @Test - public void listAlertRetriggerRulesTest() throws ApiException { - AlertRetriggerRuleList response = api.listAlertRetriggerRules(); + public void listStatusPageTeamsTest() throws ApiException { + String statusPageId = null; + String include = null; + Integer pageNumber = null; + Integer pageSize = null; + StatusPageTeamList response = api.listStatusPageTeams(statusPageId, include, pageNumber, pageSize); // TODO: test validations } /** - * Updates an alert re-trigger rule + * Updates a status page team assignment + * + * Changes the permission level of a team on a status page. Requires an owner or admin role. To move the grant to another team, delete it and create a new one. * * @throws ApiException if the Api call fails */ @Test - public void updateAlertRetriggerRuleTest() throws ApiException { + public void updateStatusPageTeamTest() throws ApiException { + String statusPageId = null; String id = null; - UpdateAlertRetriggerRule updateAlertRetriggerRule = null; - AlertRetriggerRuleResponse response = api.updateAlertRetriggerRule(id, updateAlertRetriggerRule); + UpdateStatusPageTeam updateStatusPageTeam = null; + StatusPageTeamResponse response = api.updateStatusPageTeam(statusPageId, id, updateStatusPageTeam); // TODO: test validations } diff --git a/src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java b/src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java index 571df84d..6e026703 100644 --- a/src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java +++ b/src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java @@ -19,6 +19,8 @@ import com.rootly.client.model.UpdateUserPhoneNumber; import com.rootly.client.model.UserPhoneNumberList; import com.rootly.client.model.UserPhoneNumberResponse; +import com.rootly.client.model.VerifyUserPhoneNumber200Response; +import com.rootly.client.model.VerifyUserPhoneNumber429Response; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -78,6 +80,20 @@ public void getUserPhoneNumbersTest() throws ApiException { // TODO: test validations } + /** + * Resend verification code + * + * Resends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * + * @throws ApiException if the Api call fails + */ + @Test + public void resendVerificationUserPhoneNumberTest() throws ApiException { + String id = null; + VerifyUserPhoneNumber200Response response = api.resendVerificationUserPhoneNumber(id); + // TODO: test validations + } + /** * Show user phone number * @@ -107,4 +123,18 @@ public void updateUserPhoneNumberTest() throws ApiException { // TODO: test validations } + /** + * Send verification code + * + * Sends a verification code to the phone number. SMS sends are limited per recipient to 3 per hour and 5 per day. An application rate-limit 429 response includes Retry-After with the remaining wait in seconds. + * + * @throws ApiException if the Api call fails + */ + @Test + public void verifyUserPhoneNumberTest() throws ApiException { + String id = null; + VerifyUserPhoneNumber200Response response = api.verifyUserPhoneNumber(id); + // TODO: test validations + } + } diff --git a/src/test/java/com/rootly/client/model/AcknowledgeAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/AcknowledgeAlertDataAttributesTest.java new file mode 100644 index 00000000..19474226 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AcknowledgeAlertDataAttributesTest.java @@ -0,0 +1,50 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AcknowledgeAlertDataAttributes + */ +public class AcknowledgeAlertDataAttributesTest { + private final AcknowledgeAlertDataAttributes model = new AcknowledgeAlertDataAttributes(); + + /** + * Model tests for AcknowledgeAlertDataAttributes + */ + @Test + public void testAcknowledgeAlertDataAttributes() { + // TODO: test AcknowledgeAlertDataAttributes + } + + /** + * Test the property 'actor' + */ + @Test + public void actorTest() { + // TODO: test actor + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataTest.java b/src/test/java/com/rootly/client/model/AcknowledgeAlertDataTest.java similarity index 90% rename from src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataTest.java rename to src/test/java/com/rootly/client/model/AcknowledgeAlertDataTest.java index 4b2ac1c8..3df40422 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/AcknowledgeAlertDataTest.java @@ -18,24 +18,24 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertRetriggerRuleDataAttributes; +import com.rootly.client.model.AcknowledgeAlertDataAttributes; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for NewAlertRetriggerRuleData + * Model tests for AcknowledgeAlertData */ -public class NewAlertRetriggerRuleDataTest { - private final NewAlertRetriggerRuleData model = new NewAlertRetriggerRuleData(); +public class AcknowledgeAlertDataTest { + private final AcknowledgeAlertData model = new AcknowledgeAlertData(); /** - * Model tests for NewAlertRetriggerRuleData + * Model tests for AcknowledgeAlertData */ @Test - public void testNewAlertRetriggerRuleData() { - // TODO: test NewAlertRetriggerRuleData + public void testAcknowledgeAlertData() { + // TODO: test AcknowledgeAlertData } /** diff --git a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleTest.java b/src/test/java/com/rootly/client/model/AcknowledgeAlertTest.java similarity index 91% rename from src/test/java/com/rootly/client/model/NewAlertRetriggerRuleTest.java rename to src/test/java/com/rootly/client/model/AcknowledgeAlertTest.java index 9b61c12d..68efc869 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleTest.java +++ b/src/test/java/com/rootly/client/model/AcknowledgeAlertTest.java @@ -18,24 +18,24 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertRetriggerRuleData; +import com.rootly.client.model.AcknowledgeAlertData; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for NewAlertRetriggerRule + * Model tests for AcknowledgeAlert */ -public class NewAlertRetriggerRuleTest { - private final NewAlertRetriggerRule model = new NewAlertRetriggerRule(); +public class AcknowledgeAlertTest { + private final AcknowledgeAlert model = new AcknowledgeAlert(); /** - * Model tests for NewAlertRetriggerRule + * Model tests for AcknowledgeAlert */ @Test - public void testNewAlertRetriggerRule() { - // TODO: test NewAlertRetriggerRule + public void testAcknowledgeAlert() { + // TODO: test AcknowledgeAlert } /** diff --git a/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java b/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java index b0b13284..a48aebd9 100644 --- a/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java @@ -256,6 +256,22 @@ public void incidentConditionResolvedAtTest() { // TODO: test incidentConditionResolvedAt } + /** + * Test the property 'incidentConditionScheduledFor' + */ + @Test + public void incidentConditionScheduledForTest() { + // TODO: test incidentConditionScheduledFor + } + + /** + * Test the property 'incidentConditionScheduledUntil' + */ + @Test + public void incidentConditionScheduledUntilTest() { + // TODO: test incidentConditionScheduledUntil + } + /** * Test the property 'incidentConditionalInactivity' */ diff --git a/src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertConfigurationResponseDataTest.java similarity index 90% rename from src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseDataTest.java rename to src/test/java/com/rootly/client/model/AlertConfigurationResponseDataTest.java index ad82066b..4edf1f4d 100644 --- a/src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertConfigurationResponseDataTest.java @@ -18,24 +18,24 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.AlertRetriggerRule; +import com.rootly.client.model.AlertConfiguration; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for AlertRetriggerRuleResponseData + * Model tests for AlertConfigurationResponseData */ -public class AlertRetriggerRuleResponseDataTest { - private final AlertRetriggerRuleResponseData model = new AlertRetriggerRuleResponseData(); +public class AlertConfigurationResponseDataTest { + private final AlertConfigurationResponseData model = new AlertConfigurationResponseData(); /** - * Model tests for AlertRetriggerRuleResponseData + * Model tests for AlertConfigurationResponseData */ @Test - public void testAlertRetriggerRuleResponseData() { - // TODO: test AlertRetriggerRuleResponseData + public void testAlertConfigurationResponseData() { + // TODO: test AlertConfigurationResponseData } /** diff --git a/src/test/java/com/rootly/client/model/AlertConfigurationResponseTest.java b/src/test/java/com/rootly/client/model/AlertConfigurationResponseTest.java new file mode 100644 index 00000000..e02726ed --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertConfigurationResponseTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertConfigurationResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertConfigurationResponse + */ +public class AlertConfigurationResponseTest { + private final AlertConfigurationResponse model = new AlertConfigurationResponse(); + + /** + * Model tests for AlertConfigurationResponse + */ + @Test + public void testAlertConfigurationResponse() { + // TODO: test AlertConfigurationResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRetriggerRuleTest.java b/src/test/java/com/rootly/client/model/AlertConfigurationTest.java similarity index 78% rename from src/test/java/com/rootly/client/model/AlertRetriggerRuleTest.java rename to src/test/java/com/rootly/client/model/AlertConfigurationTest.java index 5624f0da..24b6ca6e 100644 --- a/src/test/java/com/rootly/client/model/AlertRetriggerRuleTest.java +++ b/src/test/java/com/rootly/client/model/AlertConfigurationTest.java @@ -18,68 +18,61 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.AlertRetriggerRuleConditionsInner; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesAlertAcknowledgment; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings; import java.io.IOException; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.openapitools.jackson.nullable.JsonNullable; +import java.util.UUID; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for AlertRetriggerRule + * Model tests for AlertConfiguration */ -public class AlertRetriggerRuleTest { - private final AlertRetriggerRule model = new AlertRetriggerRule(); +public class AlertConfigurationTest { + private final AlertConfiguration model = new AlertConfiguration(); /** - * Model tests for AlertRetriggerRule + * Model tests for AlertConfiguration */ @Test - public void testAlertRetriggerRule() { - // TODO: test AlertRetriggerRule + public void testAlertConfiguration() { + // TODO: test AlertConfiguration } /** - * Test the property 'name' + * Test the property 'alertAcknowledgment' */ @Test - public void nameTest() { - // TODO: test name + public void alertAcknowledgmentTest() { + // TODO: test alertAcknowledgment } /** - * Test the property 'matchMode' + * Test the property 'manualPagingFormSettings' */ @Test - public void matchModeTest() { - // TODO: test matchMode + public void manualPagingFormSettingsTest() { + // TODO: test manualPagingFormSettings } /** - * Test the property 'timeoutMinutes' + * Test the property 'manualPagingUrgencyIds' */ @Test - public void timeoutMinutesTest() { - // TODO: test timeoutMinutes + public void manualPagingUrgencyIdsTest() { + // TODO: test manualPagingUrgencyIds } /** - * Test the property 'position' + * Test the property 'defaultUserNotificationSettings' */ @Test - public void positionTest() { - // TODO: test position - } - - /** - * Test the property 'conditions' - */ - @Test - public void conditionsTest() { - // TODO: test conditions + public void defaultUserNotificationSettingsTest() { + // TODO: test defaultUserNotificationSettings } /** diff --git a/src/test/java/com/rootly/client/model/AlertEventTest.java b/src/test/java/com/rootly/client/model/AlertEventTest.java index f51056f0..6eb0daa8 100644 --- a/src/test/java/com/rootly/client/model/AlertEventTest.java +++ b/src/test/java/com/rootly/client/model/AlertEventTest.java @@ -69,6 +69,30 @@ public void actionTest() { // TODO: test action } + /** + * Test the property 'pageReason' + */ + @Test + public void pageReasonTest() { + // TODO: test pageReason + } + + /** + * Test the property 'slackMessageTs' + */ + @Test + public void slackMessageTsTest() { + // TODO: test slackMessageTs + } + + /** + * Test the property 'slackMessagePermalink' + */ + @Test + public void slackMessagePermalinkTest() { + // TODO: test slackMessagePermalink + } + /** * Test the property 'source' */ diff --git a/src/test/java/com/rootly/client/model/AlertFieldTest.java b/src/test/java/com/rootly/client/model/AlertFieldTest.java index cbc8e807..13a08828 100644 --- a/src/test/java/com/rootly/client/model/AlertFieldTest.java +++ b/src/test/java/com/rootly/client/model/AlertFieldTest.java @@ -19,7 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -38,43 +40,43 @@ public void testAlertField() { } /** - * Test the property 'slug' + * Test the property 'ruleType' */ @Test - public void slugTest() { - // TODO: test slug + public void ruleTypeTest() { + // TODO: test ruleType } /** - * Test the property 'name' + * Test the property 'fieldableType' */ @Test - public void nameTest() { - // TODO: test name + public void fieldableTypeTest() { + // TODO: test fieldableType } /** - * Test the property 'kind' + * Test the property 'fieldableId' */ @Test - public void kindTest() { - // TODO: test kind + public void fieldableIdTest() { + // TODO: test fieldableId } /** - * Test the property 'createdAt' + * Test the property 'operator' */ @Test - public void createdAtTest() { - // TODO: test createdAt + public void operatorTest() { + // TODO: test operator } /** - * Test the property 'updatedAt' + * Test the property 'values' */ @Test - public void updatedAtTest() { - // TODO: test updatedAt + public void valuesTest() { + // TODO: test values } } diff --git a/src/test/java/com/rootly/client/model/AlertGroupAttributesInnerTest.java b/src/test/java/com/rootly/client/model/AlertGroupAttributesInnerTest.java new file mode 100644 index 00000000..779b2347 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertGroupAttributesInnerTest.java @@ -0,0 +1,48 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertGroupAttributesInner + */ +public class AlertGroupAttributesInnerTest { + private final AlertGroupAttributesInner model = new AlertGroupAttributesInner(); + + /** + * Model tests for AlertGroupAttributesInner + */ + @Test + public void testAlertGroupAttributesInner() { + // TODO: test AlertGroupAttributesInner + } + + /** + * Test the property 'jsonPath' + */ + @Test + public void jsonPathTest() { + // TODO: test jsonPath + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertGroupTargetsInnerTest.java b/src/test/java/com/rootly/client/model/AlertGroupTargetsInnerTest.java new file mode 100644 index 00000000..c37e22fe --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertGroupTargetsInnerTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertGroupTargetsInner + */ +public class AlertGroupTargetsInnerTest { + private final AlertGroupTargetsInner model = new AlertGroupTargetsInner(); + + /** + * Model tests for AlertGroupTargetsInner + */ + @Test + public void testAlertGroupTargetsInner() { + // TODO: test AlertGroupTargetsInner + } + + /** + * Test the property 'targetType' + */ + @Test + public void targetTypeTest() { + // TODO: test targetType + } + + /** + * Test the property 'targetId' + */ + @Test + public void targetIdTest() { + // TODO: test targetId + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertGroupTest.java b/src/test/java/com/rootly/client/model/AlertGroupTest.java index e9012066..22704583 100644 --- a/src/test/java/com/rootly/client/model/AlertGroupTest.java +++ b/src/test/java/com/rootly/client/model/AlertGroupTest.java @@ -18,13 +18,14 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertGroupAttributesInner; import com.rootly.client.model.AlertGroupConditionsInner; -import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; -import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; +import com.rootly.client.model.AlertGroupTargetsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -98,6 +99,14 @@ public void groupByAlertUrgencyTest() { // TODO: test groupByAlertUrgency } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'targets' */ diff --git a/src/test/java/com/rootly/client/model/AlertLabelsInnerTest.java b/src/test/java/com/rootly/client/model/AlertLabelsInnerTest.java new file mode 100644 index 00000000..595e8fa2 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertLabelsInnerTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesLabelsInnerValue; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertLabelsInner + */ +public class AlertLabelsInnerTest { + private final AlertLabelsInner model = new AlertLabelsInner(); + + /** + * Model tests for AlertLabelsInner + */ + @Test + public void testAlertLabelsInner() { + // TODO: test AlertLabelsInner + } + + /** + * Test the property 'key' + */ + @Test + public void keyTest() { + // TODO: test key + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInnerTest.java new file mode 100644 index 00000000..61712640 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerConditionsInnerTest.java @@ -0,0 +1,107 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertRouteRulesInnerConditionGroupsInnerConditionsInner + */ +public class AlertRouteRulesInnerConditionGroupsInnerConditionsInnerTest { + private final AlertRouteRulesInnerConditionGroupsInnerConditionsInner model = new AlertRouteRulesInnerConditionGroupsInnerConditionsInner(); + + /** + * Model tests for AlertRouteRulesInnerConditionGroupsInnerConditionsInner + */ + @Test + public void testAlertRouteRulesInnerConditionGroupsInnerConditionsInner() { + // TODO: test AlertRouteRulesInnerConditionGroupsInnerConditionsInner + } + + /** + * Test the property 'propertyFieldConditionType' + */ + @Test + public void propertyFieldConditionTypeTest() { + // TODO: test propertyFieldConditionType + } + + /** + * Test the property 'propertyFieldName' + */ + @Test + public void propertyFieldNameTest() { + // TODO: test propertyFieldName + } + + /** + * Test the property 'propertyFieldType' + */ + @Test + public void propertyFieldTypeTest() { + // TODO: test propertyFieldType + } + + /** + * Test the property 'propertyFieldValue' + */ + @Test + public void propertyFieldValueTest() { + // TODO: test propertyFieldValue + } + + /** + * Test the property 'propertyFieldValues' + */ + @Test + public void propertyFieldValuesTest() { + // TODO: test propertyFieldValues + } + + /** + * Test the property 'alertUrgencyIds' + */ + @Test + public void alertUrgencyIdsTest() { + // TODO: test alertUrgencyIds + } + + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * Test the property 'conditionableId' + */ + @Test + public void conditionableIdTest() { + // TODO: test conditionableId + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerTest.java similarity index 83% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java rename to src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerTest.java index cf158d5a..15e67444 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java +++ b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerConditionGroupsInnerTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertRouteRulesInnerConditionGroupsInnerConditionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -26,33 +27,33 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf + * Model tests for AlertRouteRulesInnerConditionGroupsInner */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf(); +public class AlertRouteRulesInnerConditionGroupsInnerTest { + private final AlertRouteRulesInnerConditionGroupsInner model = new AlertRouteRulesInnerConditionGroupsInner(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf + * Model tests for AlertRouteRulesInnerConditionGroupsInner */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf + public void testAlertRouteRulesInnerConditionGroupsInner() { + // TODO: test AlertRouteRulesInnerConditionGroupsInner } /** - * Test the property 'ruleType' + * Test the property 'position' */ @Test - public void ruleTypeTest() { - // TODO: test ruleType + public void positionTest() { + // TODO: test position } /** - * Test the property 'urgencyIds' + * Test the property 'conditions' */ @Test - public void urgencyIdsTest() { - // TODO: test urgencyIds + public void conditionsTest() { + // TODO: test conditions } } diff --git a/src/test/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInnerTest.java b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInnerTest.java new file mode 100644 index 00000000..212811ba --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerDestinationsInnerTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertRouteRulesInnerDestinationsInner + */ +public class AlertRouteRulesInnerDestinationsInnerTest { + private final AlertRouteRulesInnerDestinationsInner model = new AlertRouteRulesInnerDestinationsInner(); + + /** + * Model tests for AlertRouteRulesInnerDestinationsInner + */ + @Test + public void testAlertRouteRulesInnerDestinationsInner() { + // TODO: test AlertRouteRulesInnerDestinationsInner + } + + /** + * Test the property 'targetType' + */ + @Test + public void targetTypeTest() { + // TODO: test targetType + } + + /** + * Test the property 'targetId' + */ + @Test + public void targetIdTest() { + // TODO: test targetId + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesTest.java b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerTest.java similarity index 81% rename from src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesTest.java rename to src/test/java/com/rootly/client/model/AlertRouteRulesInnerTest.java index bc88cb3b..e7752ddb 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/AlertRouteRulesInnerTest.java @@ -18,27 +18,27 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertRetriggerRuleDataAttributesConditionsInner; +import com.rootly.client.model.AlertRouteRulesInnerConditionGroupsInner; +import com.rootly.client.model.AlertRouteRulesInnerDestinationsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for NewAlertRetriggerRuleDataAttributes + * Model tests for AlertRouteRulesInner */ -public class NewAlertRetriggerRuleDataAttributesTest { - private final NewAlertRetriggerRuleDataAttributes model = new NewAlertRetriggerRuleDataAttributes(); +public class AlertRouteRulesInnerTest { + private final AlertRouteRulesInner model = new AlertRouteRulesInner(); /** - * Model tests for NewAlertRetriggerRuleDataAttributes + * Model tests for AlertRouteRulesInner */ @Test - public void testNewAlertRetriggerRuleDataAttributes() { - // TODO: test NewAlertRetriggerRuleDataAttributes + public void testAlertRouteRulesInner() { + // TODO: test AlertRouteRulesInner } /** @@ -50,35 +50,35 @@ public void nameTest() { } /** - * Test the property 'matchMode' + * Test the property 'position' */ @Test - public void matchModeTest() { - // TODO: test matchMode + public void positionTest() { + // TODO: test position } /** - * Test the property 'timeoutMinutes' + * Test the property 'fallbackRule' */ @Test - public void timeoutMinutesTest() { - // TODO: test timeoutMinutes + public void fallbackRuleTest() { + // TODO: test fallbackRule } /** - * Test the property 'position' + * Test the property 'destinations' */ @Test - public void positionTest() { - // TODO: test position + public void destinationsTest() { + // TODO: test destinations } /** - * Test the property 'conditions' + * Test the property 'conditionGroups' */ @Test - public void conditionsTest() { - // TODO: test conditions + public void conditionGroupsTest() { + // TODO: test conditionGroups } } diff --git a/src/test/java/com/rootly/client/model/AlertRouteTest.java b/src/test/java/com/rootly/client/model/AlertRouteTest.java index a38930ea..04541310 100644 --- a/src/test/java/com/rootly/client/model/AlertRouteTest.java +++ b/src/test/java/com/rootly/client/model/AlertRouteTest.java @@ -18,7 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertRouteDataAttributesRulesInner; +import com.rootly.client.model.AlertRouteRulesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/AlertSlackNotificationsInnerTest.java b/src/test/java/com/rootly/client/model/AlertSlackNotificationsInnerTest.java new file mode 100644 index 00000000..b3d6df25 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertSlackNotificationsInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertSlackNotificationsInner + */ +public class AlertSlackNotificationsInnerTest { + private final AlertSlackNotificationsInner model = new AlertSlackNotificationsInner(); + + /** + * Model tests for AlertSlackNotificationsInner + */ + @Test + public void testAlertSlackNotificationsInner() { + // TODO: test AlertSlackNotificationsInner + } + + /** + * Test the property 'channelId' + */ + @Test + public void channelIdTest() { + // TODO: test channelId + } + + /** + * Test the property 'threadTs' + */ + @Test + public void threadTsTest() { + // TODO: test threadTs + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf6Test.java b/src/test/java/com/rootly/client/model/AlertSourceTest.java similarity index 88% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf6Test.java rename to src/test/java/com/rootly/client/model/AlertSourceTest.java index b93d83fa..d5a192d5 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf6Test.java +++ b/src/test/java/com/rootly/client/model/AlertSourceTest.java @@ -26,17 +26,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + * Model tests for AlertSource */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf6Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf6(); +public class AlertSourceTest { + private final AlertSource model = new AlertSource(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + * Model tests for AlertSource */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf6() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf6 + public void testAlertSource() { + // TODO: test AlertSource } /** diff --git a/src/test/java/com/rootly/client/model/AlertTest.java b/src/test/java/com/rootly/client/model/AlertTest.java index e7fb85c8..94342ff0 100644 --- a/src/test/java/com/rootly/client/model/AlertTest.java +++ b/src/test/java/com/rootly/client/model/AlertTest.java @@ -20,10 +20,11 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertAlertFieldValuesInner; import com.rootly.client.model.AlertAlertingTargetsInner; +import com.rootly.client.model.AlertLabelsInner; +import com.rootly.client.model.AlertSlackNotificationsInner; import com.rootly.client.model.AlertUrgency; import com.rootly.client.model.Environment; import com.rootly.client.model.Functionality; -import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import com.rootly.client.model.Service; import com.rootly.client.model.Team; import com.rootly.client.model.User; @@ -284,6 +285,14 @@ public void alertingTargetsTest() { // TODO: test alertingTargets } + /** + * Test the property 'slackNotifications' + */ + @Test + public void slackNotificationsTest() { + // TODO: test slackNotifications + } + /** * Test the property 'url' */ @@ -308,6 +317,22 @@ public void endedAtTest() { // TODO: test endedAt } + /** + * Test the property 'acknowledgedAt' + */ + @Test + public void acknowledgedAtTest() { + // TODO: test acknowledgedAt + } + + /** + * Test the property 'resolvedAt' + */ + @Test + public void resolvedAtTest() { + // TODO: test resolvedAt + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/AlertUrgencyTest.java b/src/test/java/com/rootly/client/model/AlertUrgencyTest.java index 46ac35e0..67801e66 100644 --- a/src/test/java/com/rootly/client/model/AlertUrgencyTest.java +++ b/src/test/java/com/rootly/client/model/AlertUrgencyTest.java @@ -19,8 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; -import org.openapitools.jackson.nullable.JsonNullable; +import java.util.List; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -39,91 +40,27 @@ public void testAlertUrgency() { } /** - * Test the property 'id' + * Test the property 'ruleType' */ @Test - public void idTest() { - // TODO: test id + public void ruleTypeTest() { + // TODO: test ruleType } /** - * Test the property 'name' + * Test the property 'urgencyIds' */ @Test - public void nameTest() { - // TODO: test name + public void urgencyIdsTest() { + // TODO: test urgencyIds } /** - * Test the property 'description' + * Test the property 'operator' */ @Test - public void descriptionTest() { - // TODO: test description - } - - /** - * Test the property 'position' - */ - @Test - public void positionTest() { - // TODO: test position - } - - /** - * Test the property 'retriggerTimeoutMinutes' - */ - @Test - public void retriggerTimeoutMinutesTest() { - // TODO: test retriggerTimeoutMinutes - } - - /** - * Test the property 'urgency' - */ - @Test - public void urgencyTest() { - // TODO: test urgency - } - - /** - * Test the property 'color' - */ - @Test - public void colorTest() { - // TODO: test color - } - - /** - * Test the property 'teamId' - */ - @Test - public void teamIdTest() { - // TODO: test teamId - } - - /** - * Test the property 'deletedAt' - */ - @Test - public void deletedAtTest() { - // TODO: test deletedAt - } - - /** - * Test the property 'createdAt' - */ - @Test - public void createdAtTest() { - // TODO: test createdAt - } - - /** - * Test the property 'updatedAt' - */ - @Test - public void updatedAtTest() { - // TODO: test updatedAt + public void operatorTest() { + // TODO: test operator } } diff --git a/src/test/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInnerTest.java b/src/test/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInnerTest.java new file mode 100644 index 00000000..4ef37ec7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertsSourceAlertSourceFieldsAttributesInnerTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertsSourceAlertSourceFieldsAttributesInner + */ +public class AlertsSourceAlertSourceFieldsAttributesInnerTest { + private final AlertsSourceAlertSourceFieldsAttributesInner model = new AlertsSourceAlertSourceFieldsAttributesInner(); + + /** + * Model tests for AlertsSourceAlertSourceFieldsAttributesInner + */ + @Test + public void testAlertsSourceAlertSourceFieldsAttributesInner() { + // TODO: test AlertsSourceAlertSourceFieldsAttributesInner + } + + /** + * Test the property 'alertFieldId' + */ + @Test + public void alertFieldIdTest() { + // TODO: test alertFieldId + } + + /** + * Test the property 'templateBody' + */ + @Test + public void templateBodyTest() { + // TODO: test templateBody + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInnerTest.java similarity index 77% rename from src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesConditionsInnerTest.java rename to src/test/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInnerTest.java index 432e2d73..1379d486 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRetriggerRuleDataAttributesConditionsInnerTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceAlertSourceUrgencyRulesAttributesInnerTest.java @@ -19,33 +19,31 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; -import java.util.UUID; +import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for NewAlertRetriggerRuleDataAttributesConditionsInner + * Model tests for AlertsSourceAlertSourceUrgencyRulesAttributesInner */ -public class NewAlertRetriggerRuleDataAttributesConditionsInnerTest { - private final NewAlertRetriggerRuleDataAttributesConditionsInner model = new NewAlertRetriggerRuleDataAttributesConditionsInner(); +public class AlertsSourceAlertSourceUrgencyRulesAttributesInnerTest { + private final AlertsSourceAlertSourceUrgencyRulesAttributesInner model = new AlertsSourceAlertSourceUrgencyRulesAttributesInner(); /** - * Model tests for NewAlertRetriggerRuleDataAttributesConditionsInner + * Model tests for AlertsSourceAlertSourceUrgencyRulesAttributesInner */ @Test - public void testNewAlertRetriggerRuleDataAttributesConditionsInner() { - // TODO: test NewAlertRetriggerRuleDataAttributesConditionsInner + public void testAlertsSourceAlertSourceUrgencyRulesAttributesInner() { + // TODO: test AlertsSourceAlertSourceUrgencyRulesAttributesInner } /** - * Test the property 'kind' + * Test the property 'jsonPath' */ @Test - public void kindTest() { - // TODO: test kind + public void jsonPathTest() { + // TODO: test jsonPath } /** @@ -57,27 +55,43 @@ public void operatorTest() { } /** - * Test the property 'recordIds' + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + + /** + * Test the property 'conditionableType' */ @Test - public void recordIdsTest() { - // TODO: test recordIds + public void conditionableTypeTest() { + // TODO: test conditionableType } /** - * Test the property 'values' + * Test the property 'conditionableId' */ @Test - public void valuesTest() { - // TODO: test values + public void conditionableIdTest() { + // TODO: test conditionableId + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind } /** - * Test the property 'propertyFieldName' + * Test the property 'alertUrgencyId' */ @Test - public void propertyFieldNameTest() { - // TODO: test propertyFieldName + public void alertUrgencyIdTest() { + // TODO: test alertUrgencyId } } diff --git a/src/test/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributesTest.java b/src/test/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributesTest.java new file mode 100644 index 00000000..857d7cd1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertsSourceAlertTemplateAttributesTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertsSourceAlertTemplateAttributes + */ +public class AlertsSourceAlertTemplateAttributesTest { + private final AlertsSourceAlertTemplateAttributes model = new AlertsSourceAlertTemplateAttributes(); + + /** + * Model tests for AlertsSourceAlertTemplateAttributes + */ + @Test + public void testAlertsSourceAlertTemplateAttributes() { + // TODO: test AlertsSourceAlertTemplateAttributes + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'externalUrl' + */ + @Test + public void externalUrlTest() { + // TODO: test externalUrl + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRetriggerRuleConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInnerTest.java similarity index 78% rename from src/test/java/com/rootly/client/model/AlertRetriggerRuleConditionsInnerTest.java rename to src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInnerTest.java index ffd8d89d..f4cc8b54 100644 --- a/src/test/java/com/rootly/client/model/AlertRetriggerRuleConditionsInnerTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesConditionsAttributesInnerTest.java @@ -19,73 +19,71 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; -import java.util.UUID; +import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for AlertRetriggerRuleConditionsInner + * Model tests for AlertsSourceResolutionRuleAttributesConditionsAttributesInner */ -public class AlertRetriggerRuleConditionsInnerTest { - private final AlertRetriggerRuleConditionsInner model = new AlertRetriggerRuleConditionsInner(); +public class AlertsSourceResolutionRuleAttributesConditionsAttributesInnerTest { + private final AlertsSourceResolutionRuleAttributesConditionsAttributesInner model = new AlertsSourceResolutionRuleAttributesConditionsAttributesInner(); /** - * Model tests for AlertRetriggerRuleConditionsInner + * Model tests for AlertsSourceResolutionRuleAttributesConditionsAttributesInner */ @Test - public void testAlertRetriggerRuleConditionsInner() { - // TODO: test AlertRetriggerRuleConditionsInner + public void testAlertsSourceResolutionRuleAttributesConditionsAttributesInner() { + // TODO: test AlertsSourceResolutionRuleAttributesConditionsAttributesInner } /** - * Test the property 'id' + * Test the property 'field' */ @Test - public void idTest() { - // TODO: test id + public void fieldTest() { + // TODO: test field } /** - * Test the property 'kind' + * Test the property 'operator' */ @Test - public void kindTest() { - // TODO: test kind + public void operatorTest() { + // TODO: test operator } /** - * Test the property 'operator' + * Test the property 'value' */ @Test - public void operatorTest() { - // TODO: test operator + public void valueTest() { + // TODO: test value } /** - * Test the property 'recordIds' + * Test the property 'conditionableType' */ @Test - public void recordIdsTest() { - // TODO: test recordIds + public void conditionableTypeTest() { + // TODO: test conditionableType } /** - * Test the property 'values' + * Test the property 'conditionableId' */ @Test - public void valuesTest() { - // TODO: test values + public void conditionableIdTest() { + // TODO: test conditionableId } /** - * Test the property 'propertyFieldName' + * Test the property 'kind' */ @Test - public void propertyFieldNameTest() { - // TODO: test propertyFieldName + public void kindTest() { + // TODO: test kind } } diff --git a/src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesTest.java b/src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesTest.java new file mode 100644 index 00000000..119342b6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertsSourceResolutionRuleAttributesTest.java @@ -0,0 +1,108 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertsSourceResolutionRuleAttributesConditionsAttributesInner; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertsSourceResolutionRuleAttributes + */ +public class AlertsSourceResolutionRuleAttributesTest { + private final AlertsSourceResolutionRuleAttributes model = new AlertsSourceResolutionRuleAttributes(); + + /** + * Model tests for AlertsSourceResolutionRuleAttributes + */ + @Test + public void testAlertsSourceResolutionRuleAttributes() { + // TODO: test AlertsSourceResolutionRuleAttributes + } + + /** + * Test the property 'enabled' + */ + @Test + public void enabledTest() { + // TODO: test enabled + } + + /** + * Test the property 'conditionType' + */ + @Test + public void conditionTypeTest() { + // TODO: test conditionType + } + + /** + * Test the property 'identifierMatchableType' + */ + @Test + public void identifierMatchableTypeTest() { + // TODO: test identifierMatchableType + } + + /** + * Test the property 'identifierMatchableId' + */ + @Test + public void identifierMatchableIdTest() { + // TODO: test identifierMatchableId + } + + /** + * Test the property 'identifierReferenceKind' + */ + @Test + public void identifierReferenceKindTest() { + // TODO: test identifierReferenceKind + } + + /** + * Test the property 'identifierJsonPath' + */ + @Test + public void identifierJsonPathTest() { + // TODO: test identifierJsonPath + } + + /** + * Test the property 'identifierValueRegex' + */ + @Test + public void identifierValueRegexTest() { + // TODO: test identifierValueRegex + } + + /** + * Test the property 'conditionsAttributes' + */ + @Test + public void conditionsAttributesTest() { + // TODO: test conditionsAttributes + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInnerTest.java b/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInnerTest.java new file mode 100644 index 00000000..03a7d8bd --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesFieldMappingsAttributesInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertsSourceSourceableAttributesFieldMappingsAttributesInner + */ +public class AlertsSourceSourceableAttributesFieldMappingsAttributesInnerTest { + private final AlertsSourceSourceableAttributesFieldMappingsAttributesInner model = new AlertsSourceSourceableAttributesFieldMappingsAttributesInner(); + + /** + * Model tests for AlertsSourceSourceableAttributesFieldMappingsAttributesInner + */ + @Test + public void testAlertsSourceSourceableAttributesFieldMappingsAttributesInner() { + // TODO: test AlertsSourceSourceableAttributesFieldMappingsAttributesInner + } + + /** + * Test the property 'field' + */ + @Test + public void fieldTest() { + // TODO: test field + } + + /** + * Test the property 'jsonPath' + */ + @Test + public void jsonPathTest() { + // TODO: test jsonPath + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesTest.java b/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesTest.java index 7a6ee02d..e67fa0a1 100644 --- a/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceSourceableAttributesTest.java @@ -18,7 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner; +import com.rootly.client.model.AlertsSourceSourceableAttributesFieldMappingsAttributesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -74,6 +74,22 @@ public void acceptThreadedEmailsTest() { // TODO: test acceptThreadedEmails } + /** + * Test the property 'notificationTargetType' + */ + @Test + public void notificationTargetTypeTest() { + // TODO: test notificationTargetType + } + + /** + * Test the property 'notificationTargetId' + */ + @Test + public void notificationTargetIdTest() { + // TODO: test notificationTargetId + } + /** * Test the property 'fieldMappingsAttributes' */ diff --git a/src/test/java/com/rootly/client/model/AlertsSourceTest.java b/src/test/java/com/rootly/client/model/AlertsSourceTest.java index e136d73c..287c5701 100644 --- a/src/test/java/com/rootly/client/model/AlertsSourceTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceTest.java @@ -18,11 +18,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertsSourceAlertSourceFieldsAttributesInner; +import com.rootly.client.model.AlertsSourceAlertSourceUrgencyRulesAttributesInner; +import com.rootly.client.model.AlertsSourceAlertTemplateAttributes; +import com.rootly.client.model.AlertsSourceResolutionRuleAttributes; import com.rootly.client.model.AlertsSourceSourceableAttributes; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; -import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/ApiKeyTest.java b/src/test/java/com/rootly/client/model/ApiKeyTest.java index 4735b05f..7421c593 100644 --- a/src/test/java/com/rootly/client/model/ApiKeyTest.java +++ b/src/test/java/com/rootly/client/model/ApiKeyTest.java @@ -62,6 +62,14 @@ public void kindTest() { // TODO: test kind } + /** + * Test the property 'groupId' + */ + @Test + public void groupIdTest() { + // TODO: test groupId + } + /** * Test the property 'roleId' */ diff --git a/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java index dd8bedfe..1d21c08a 100644 --- a/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java @@ -62,6 +62,14 @@ public void kindTest() { // TODO: test kind } + /** + * Test the property 'groupId' + */ + @Test + public void groupIdTest() { + // TODO: test groupId + } + /** * Test the property 'roleId' */ diff --git a/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java b/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java index 720980ba..13b346e7 100644 --- a/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java @@ -56,4 +56,20 @@ public void channelsTest() { // TODO: test channels } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/AuditTest.java b/src/test/java/com/rootly/client/model/AuditTest.java index b9a01f3c..cf652625 100644 --- a/src/test/java/com/rootly/client/model/AuditTest.java +++ b/src/test/java/com/rootly/client/model/AuditTest.java @@ -46,6 +46,14 @@ public void eventTest() { // TODO: test event } + /** + * Test the property 'eventDisplay' + */ + @Test + public void eventDisplayTest() { + // TODO: test eventDisplay + } + /** * Test the property 'itemType' */ diff --git a/src/test/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInnerTest.java b/src/test/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInnerTest.java index c6850496..f59131cc 100644 --- a/src/test/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInnerTest.java +++ b/src/test/java/com/rootly/client/model/BulkUpsertTeamsEntitiesInnerTest.java @@ -73,6 +73,14 @@ public void publicDescriptionTest() { // TODO: test publicDescription } + /** + * Test the property 'scheduleOverridePolicy' + */ + @Test + public void scheduleOverridePolicyTest() { + // TODO: test scheduleOverridePolicy + } + /** * Test the property 'color' */ diff --git a/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java b/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java index 8215e0a4..7948dae9 100644 --- a/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java @@ -38,6 +38,14 @@ public void testCancelIncidentData() { // TODO: test CancelIncidentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java b/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java index 3bd362bb..74d56980 100644 --- a/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java @@ -62,4 +62,20 @@ public void privacyTest() { // TODO: test privacy } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInnerTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInnerTest.java new file mode 100644 index 00000000..e42622d8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationGroupConditionsInnerTest.java @@ -0,0 +1,91 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsGroupCommunicationGroupConditionsInner + */ +public class CommunicationsGroupCommunicationGroupConditionsInnerTest { + private final CommunicationsGroupCommunicationGroupConditionsInner model = new CommunicationsGroupCommunicationGroupConditionsInner(); + + /** + * Model tests for CommunicationsGroupCommunicationGroupConditionsInner + */ + @Test + public void testCommunicationsGroupCommunicationGroupConditionsInner() { + // TODO: test CommunicationsGroupCommunicationGroupConditionsInner + } + + /** + * Test the property 'propertyType' + */ + @Test + public void propertyTypeTest() { + // TODO: test propertyType + } + + /** + * Test the property 'serviceIds' + */ + @Test + public void serviceIdsTest() { + // TODO: test serviceIds + } + + /** + * Test the property 'severityIds' + */ + @Test + public void severityIdsTest() { + // TODO: test severityIds + } + + /** + * Test the property 'functionalityIds' + */ + @Test + public void functionalityIdsTest() { + // TODO: test functionalityIds + } + + /** + * Test the property 'groupIds' + */ + @Test + public void groupIdsTest() { + // TODO: test groupIds + } + + /** + * Test the property 'incidentTypeIds' + */ + @Test + public void incidentTypeIdsTest() { + // TODO: test incidentTypeIds + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java index 4283a516..928a0c85 100644 --- a/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java @@ -19,7 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CommunicationsGroupCommunicationExternalGroupMembersInner; -import com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +import com.rootly.client.model.CommunicationsGroupCommunicationGroupConditionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java index 4cdb5cd1..596a28de 100644 --- a/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -72,6 +73,14 @@ public void subscriptionsTest() { // TODO: test subscriptions } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'filters' */ diff --git a/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java index 97d73f05..3c42187a 100644 --- a/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java @@ -105,4 +105,20 @@ public void postToSlackChannelsTest() { // TODO: test postToSlackChannels } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannelTest.java b/src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannelTest.java new file mode 100644 index 00000000..665a93cf --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsChannelTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateSlackCanvasTaskParamsChannel + */ +public class CreateSlackCanvasTaskParamsChannelTest { + private final CreateSlackCanvasTaskParamsChannel model = new CreateSlackCanvasTaskParamsChannel(); + + /** + * Model tests for CreateSlackCanvasTaskParamsChannel + */ + @Test + public void testCreateSlackCanvasTaskParamsChannel() { + // TODO: test CreateSlackCanvasTaskParamsChannel + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java b/src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsTest.java similarity index 77% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java rename to src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsTest.java index 7621f4be..b54c65b8 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java +++ b/src/test/java/com/rootly/client/model/CreateSlackCanvasTaskParamsTest.java @@ -18,65 +18,72 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + * Model tests for CreateSlackCanvasTaskParams */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf3(); +public class CreateSlackCanvasTaskParamsTest { + private final CreateSlackCanvasTaskParams model = new CreateSlackCanvasTaskParams(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + * Model tests for CreateSlackCanvasTaskParams */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf3() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + public void testCreateSlackCanvasTaskParams() { + // TODO: test CreateSlackCanvasTaskParams } /** - * Test the property 'ruleType' + * Test the property 'taskType' */ @Test - public void ruleTypeTest() { - // TODO: test ruleType + public void taskTypeTest() { + // TODO: test taskType } /** - * Test the property 'fieldableType' + * Test the property 'channel' */ @Test - public void fieldableTypeTest() { - // TODO: test fieldableType + public void channelTest() { + // TODO: test channel } /** - * Test the property 'fieldableId' + * Test the property 'title' */ @Test - public void fieldableIdTest() { - // TODO: test fieldableId + public void titleTest() { + // TODO: test title } /** - * Test the property 'operator' + * Test the property 'content' */ @Test - public void operatorTest() { - // TODO: test operator + public void contentTest() { + // TODO: test content } /** - * Test the property 'values' + * Test the property 'retryCount' */ @Test - public void valuesTest() { - // TODO: test values + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime } } diff --git a/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java index a6775e68..f38b88e3 100644 --- a/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java @@ -70,4 +70,20 @@ public void _privateTest() { // TODO: test _private } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java index e90e8538..7f0faad4 100644 --- a/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java @@ -129,4 +129,20 @@ public void postToSlackChannelsTest() { // TODO: test postToSlackChannels } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java b/src/test/java/com/rootly/client/model/DeferralWindowTest.java similarity index 86% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java rename to src/test/java/com/rootly/client/model/DeferralWindowTest.java index f1ec982d..f11a0e8d 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java +++ b/src/test/java/com/rootly/client/model/DeferralWindowTest.java @@ -18,7 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; +import com.rootly.client.model.DeferralWindowTimeBlocksInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -27,17 +27,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + * Model tests for DeferralWindow */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf5(); +public class DeferralWindowTest { + private final DeferralWindow model = new DeferralWindow(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + * Model tests for DeferralWindow */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf5() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + public void testDeferralWindow() { + // TODO: test DeferralWindow } /** diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java b/src/test/java/com/rootly/client/model/DeferralWindowTimeBlocksInnerTest.java similarity index 88% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java rename to src/test/java/com/rootly/client/model/DeferralWindowTimeBlocksInnerTest.java index dea54ad5..ecbebbee 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java +++ b/src/test/java/com/rootly/client/model/DeferralWindowTimeBlocksInnerTest.java @@ -25,17 +25,25 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + * Model tests for DeferralWindowTimeBlocksInner */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner(); +public class DeferralWindowTimeBlocksInnerTest { + private final DeferralWindowTimeBlocksInner model = new DeferralWindowTimeBlocksInner(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + * Model tests for DeferralWindowTimeBlocksInner */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + public void testDeferralWindowTimeBlocksInner() { + // TODO: test DeferralWindowTimeBlocksInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id } /** @@ -126,4 +134,12 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'endsNextDay' + */ + @Test + public void endsNextDayTest() { + // TODO: test endsNextDay + } + } diff --git a/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java index 687cdab7..cd96c78c 100644 --- a/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -73,6 +74,14 @@ public void subscriptionsTest() { // TODO: test subscriptions } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'lastPollAt' */ diff --git a/src/test/java/com/rootly/client/model/EnvironmentSlackAliasesInnerTest.java b/src/test/java/com/rootly/client/model/EnvironmentSlackAliasesInnerTest.java new file mode 100644 index 00000000..ec85cb5e --- /dev/null +++ b/src/test/java/com/rootly/client/model/EnvironmentSlackAliasesInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EnvironmentSlackAliasesInner + */ +public class EnvironmentSlackAliasesInnerTest { + private final EnvironmentSlackAliasesInner model = new EnvironmentSlackAliasesInner(); + + /** + * Model tests for EnvironmentSlackAliasesInner + */ + @Test + public void testEnvironmentSlackAliasesInner() { + // TODO: test EnvironmentSlackAliasesInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/EnvironmentSlackChannelsInnerTest.java b/src/test/java/com/rootly/client/model/EnvironmentSlackChannelsInnerTest.java new file mode 100644 index 00000000..fe223f55 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EnvironmentSlackChannelsInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EnvironmentSlackChannelsInner + */ +public class EnvironmentSlackChannelsInnerTest { + private final EnvironmentSlackChannelsInner model = new EnvironmentSlackChannelsInner(); + + /** + * Model tests for EnvironmentSlackChannelsInner + */ + @Test + public void testEnvironmentSlackChannelsInner() { + // TODO: test EnvironmentSlackChannelsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/EnvironmentTest.java b/src/test/java/com/rootly/client/model/EnvironmentTest.java index 1d5b95a1..f7e1b55e 100644 --- a/src/test/java/com/rootly/client/model/EnvironmentTest.java +++ b/src/test/java/com/rootly/client/model/EnvironmentTest.java @@ -18,9 +18,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java index 943ef054..4569e7ce 100644 --- a/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java @@ -18,8 +18,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import java.io.IOException; import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -53,4 +55,12 @@ public void escalationPolicyLevelTest() { // TODO: test escalationPolicyLevel } + /** + * Test the property 'actor' + */ + @Test + public void actorTest() { + // TODO: test actor + } + } diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java b/src/test/java/com/rootly/client/model/EscalationPolicyBusinessHoursTest.java similarity index 80% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java rename to src/test/java/com/rootly/client/model/EscalationPolicyBusinessHoursTest.java index dcb9dc7c..d42b8330 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyBusinessHoursTest.java @@ -22,37 +22,54 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + * Model tests for EscalationPolicyBusinessHours */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf4(); +public class EscalationPolicyBusinessHoursTest { + private final EscalationPolicyBusinessHours model = new EscalationPolicyBusinessHours(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + * Model tests for EscalationPolicyBusinessHours */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf4() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + public void testEscalationPolicyBusinessHours() { + // TODO: test EscalationPolicyBusinessHours } /** - * Test the property 'ruleType' + * Test the property 'timeZone' */ @Test - public void ruleTypeTest() { - // TODO: test ruleType + public void timeZoneTest() { + // TODO: test timeZone } /** - * Test the property 'serviceIds' + * Test the property 'days' */ @Test - public void serviceIdsTest() { - // TODO: test serviceIds + public void daysTest() { + // TODO: test days + } + + /** + * Test the property 'startTime' + */ + @Test + public void startTimeTest() { + // TODO: test startTime + } + + /** + * Test the property 'endTime' + */ + @Test + public void endTimeTest() { + // TODO: test endTime } } diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInnerTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInnerTest.java new file mode 100644 index 00000000..5c7b160a --- /dev/null +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelNotificationTargetParamsInnerTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EscalationPolicyLevelNotificationTargetParamsInner + */ +public class EscalationPolicyLevelNotificationTargetParamsInnerTest { + private final EscalationPolicyLevelNotificationTargetParamsInner model = new EscalationPolicyLevelNotificationTargetParamsInner(); + + /** + * Model tests for EscalationPolicyLevelNotificationTargetParamsInner + */ + @Test + public void testEscalationPolicyLevelNotificationTargetParamsInner() { + // TODO: test EscalationPolicyLevelNotificationTargetParamsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'teamMembers' + */ + @Test + public void teamMembersTest() { + // TODO: test teamMembers + } + +} diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java index 7ebc73ee..78623deb 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java @@ -18,7 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner; +import com.rootly.client.model.EscalationPolicyLevelNotificationTargetParamsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java index 7e8f9be9..c821aec5 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java @@ -18,8 +18,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EscalationPolicyPathTimeRestrictionsInner; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; -import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -170,6 +171,22 @@ public void rulesTest() { // TODO: test rules } + /** + * Test the property 'notificationTypeRules' + */ + @Test + public void notificationTypeRulesTest() { + // TODO: test notificationTypeRules + } + + /** + * Test the property 'notificationTypeFallback' + */ + @Test + public void notificationTypeFallbackTest() { + // TODO: test notificationTypeFallback + } + /** * Test the property 'timeRestrictionTimeZone' */ diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInnerTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInnerTest.java new file mode 100644 index 00000000..836b7122 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathTimeRestrictionsInnerTest.java @@ -0,0 +1,72 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EscalationPolicyPathTimeRestrictionsInner + */ +public class EscalationPolicyPathTimeRestrictionsInnerTest { + private final EscalationPolicyPathTimeRestrictionsInner model = new EscalationPolicyPathTimeRestrictionsInner(); + + /** + * Model tests for EscalationPolicyPathTimeRestrictionsInner + */ + @Test + public void testEscalationPolicyPathTimeRestrictionsInner() { + // TODO: test EscalationPolicyPathTimeRestrictionsInner + } + + /** + * Test the property 'startDay' + */ + @Test + public void startDayTest() { + // TODO: test startDay + } + + /** + * Test the property 'startTime' + */ + @Test + public void startTimeTest() { + // TODO: test startTime + } + + /** + * Test the property 'endDay' + */ + @Test + public void endDayTest() { + // TODO: test endDay + } + + /** + * Test the property 'endTime' + */ + @Test + public void endTimeTest() { + // TODO: test endTime + } + +} diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyTest.java index 9fb1c3f2..6940461d 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyTest.java @@ -18,7 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyDataAttributesBusinessHours; +import com.rootly.client.model.EscalationPolicyBusinessHours; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/FunctionalityTest.java b/src/test/java/com/rootly/client/model/FunctionalityTest.java index 6c33d411..3fadf6e1 100644 --- a/src/test/java/com/rootly/client/model/FunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/FunctionalityTest.java @@ -18,9 +18,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java b/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java index dada5508..13b28ebf 100644 --- a/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java @@ -22,7 +22,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -144,4 +146,20 @@ public void retryWaitTimeTest() { // TODO: test retryWaitTime } + /** + * Test the property 'expectedResponseHeaders' + */ + @Test + public void expectedResponseHeadersTest() { + // TODO: test expectedResponseHeaders + } + + /** + * Test the property 'followRedirects' + */ + @Test + public void followRedirectsTest() { + // TODO: test followRedirects + } + } diff --git a/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java b/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java index a6ceab16..6a7d02c5 100644 --- a/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java @@ -37,6 +37,14 @@ public void testInTriageIncidentData() { // TODO: test InTriageIncidentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/IncidentTest.java b/src/test/java/com/rootly/client/model/IncidentTest.java index 6b5177f1..382cd16a 100644 --- a/src/test/java/com/rootly/client/model/IncidentTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTest.java @@ -22,8 +22,8 @@ import com.rootly.client.model.FunctionalityResponse; import com.rootly.client.model.IncidentTypeResponse; import com.rootly.client.model.IncidentZoomMeetingGlobalDialInNumbersInner; +import com.rootly.client.model.NullableSeverityResponse; import com.rootly.client.model.ServiceResponse; -import com.rootly.client.model.SeverityResponse; import com.rootly.client.model.TeamResponse; import java.io.IOException; import java.util.ArrayList; @@ -583,6 +583,14 @@ public void asanaTaskUrlTest() { // TODO: test asanaTaskUrl } + /** + * Test the property 'linearIssueKey' + */ + @Test + public void linearIssueKeyTest() { + // TODO: test linearIssueKey + } + /** * Test the property 'linearIssueId' */ diff --git a/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java b/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java index 089e44bc..7b4820d5 100644 --- a/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java @@ -272,6 +272,22 @@ public void incidentConditionResolvedAtTest() { // TODO: test incidentConditionResolvedAt } + /** + * Test the property 'incidentConditionScheduledFor' + */ + @Test + public void incidentConditionScheduledForTest() { + // TODO: test incidentConditionScheduledFor + } + + /** + * Test the property 'incidentConditionScheduledUntil' + */ + @Test + public void incidentConditionScheduledUntilTest() { + // TODO: test incidentConditionScheduledUntil + } + /** * Test the property 'incidentConditionalInactivity' */ diff --git a/src/test/java/com/rootly/client/model/IncidentTypeTest.java b/src/test/java/com/rootly/client/model/IncidentTypeTest.java index 8d09b89c..3d5a7fe9 100644 --- a/src/test/java/com/rootly/client/model/IncidentTypeTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTypeTest.java @@ -18,9 +18,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java b/src/test/java/com/rootly/client/model/JSONPathTest.java similarity index 89% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java rename to src/test/java/com/rootly/client/model/JSONPathTest.java index 78487e57..a9b01a2c 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java +++ b/src/test/java/com/rootly/client/model/JSONPathTest.java @@ -27,17 +27,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + * Model tests for JSONPath */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf2(); +public class JSONPathTest { + private final JSONPath model = new JSONPath(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + * Model tests for JSONPath */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf2() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + public void testJSONPath() { + // TODO: test JSONPath } /** diff --git a/src/test/java/com/rootly/client/model/LinkIncidentsDataAttributesTest.java b/src/test/java/com/rootly/client/model/LinkIncidentsDataAttributesTest.java new file mode 100644 index 00000000..67e6c700 --- /dev/null +++ b/src/test/java/com/rootly/client/model/LinkIncidentsDataAttributesTest.java @@ -0,0 +1,58 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for LinkIncidentsDataAttributes + */ +public class LinkIncidentsDataAttributesTest { + private final LinkIncidentsDataAttributes model = new LinkIncidentsDataAttributes(); + + /** + * Model tests for LinkIncidentsDataAttributes + */ + @Test + public void testLinkIncidentsDataAttributes() { + // TODO: test LinkIncidentsDataAttributes + } + + /** + * Test the property 'incidentId' + */ + @Test + public void incidentIdTest() { + // TODO: test incidentId + } + + /** + * Test the property 'incidentIds' + */ + @Test + public void incidentIdsTest() { + // TODO: test incidentIds + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataTest.java b/src/test/java/com/rootly/client/model/LinkIncidentsDataTest.java similarity index 90% rename from src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataTest.java rename to src/test/java/com/rootly/client/model/LinkIncidentsDataTest.java index 7c472119..5fba25c5 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/LinkIncidentsDataTest.java @@ -18,24 +18,24 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.UpdateAlertRetriggerRuleDataAttributes; +import com.rootly.client.model.LinkIncidentsDataAttributes; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for UpdateAlertRetriggerRuleData + * Model tests for LinkIncidentsData */ -public class UpdateAlertRetriggerRuleDataTest { - private final UpdateAlertRetriggerRuleData model = new UpdateAlertRetriggerRuleData(); +public class LinkIncidentsDataTest { + private final LinkIncidentsData model = new LinkIncidentsData(); /** - * Model tests for UpdateAlertRetriggerRuleData + * Model tests for LinkIncidentsData */ @Test - public void testUpdateAlertRetriggerRuleData() { - // TODO: test UpdateAlertRetriggerRuleData + public void testLinkIncidentsData() { + // TODO: test LinkIncidentsData } /** diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleTest.java b/src/test/java/com/rootly/client/model/LinkIncidentsTest.java similarity index 90% rename from src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleTest.java rename to src/test/java/com/rootly/client/model/LinkIncidentsTest.java index c66a8db6..f8d8075d 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleTest.java +++ b/src/test/java/com/rootly/client/model/LinkIncidentsTest.java @@ -18,24 +18,24 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.UpdateAlertRetriggerRuleData; +import com.rootly.client.model.LinkIncidentsData; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for UpdateAlertRetriggerRule + * Model tests for LinkIncidents */ -public class UpdateAlertRetriggerRuleTest { - private final UpdateAlertRetriggerRule model = new UpdateAlertRetriggerRule(); +public class LinkIncidentsTest { + private final LinkIncidents model = new LinkIncidents(); /** - * Model tests for UpdateAlertRetriggerRule + * Model tests for LinkIncidents */ @Test - public void testUpdateAlertRetriggerRule() { - // TODO: test UpdateAlertRetriggerRule + public void testLinkIncidents() { + // TODO: test LinkIncidents } /** diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParamsTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParamsTest.java new file mode 100644 index 00000000..5b508bd9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/LiveCallRouterEscalationPolicyTriggerParamsTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for LiveCallRouterEscalationPolicyTriggerParams + */ +public class LiveCallRouterEscalationPolicyTriggerParamsTest { + private final LiveCallRouterEscalationPolicyTriggerParams model = new LiveCallRouterEscalationPolicyTriggerParams(); + + /** + * Model tests for LiveCallRouterEscalationPolicyTriggerParams + */ + @Test + public void testLiveCallRouterEscalationPolicyTriggerParams() { + // TODO: test LiveCallRouterEscalationPolicyTriggerParams + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + +} diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterPagingTargetsInnerTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterPagingTargetsInnerTest.java new file mode 100644 index 00000000..43c31a72 --- /dev/null +++ b/src/test/java/com/rootly/client/model/LiveCallRouterPagingTargetsInnerTest.java @@ -0,0 +1,64 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for LiveCallRouterPagingTargetsInner + */ +public class LiveCallRouterPagingTargetsInnerTest { + private final LiveCallRouterPagingTargetsInner model = new LiveCallRouterPagingTargetsInner(); + + /** + * Model tests for LiveCallRouterPagingTargetsInner + */ + @Test + public void testLiveCallRouterPagingTargetsInner() { + // TODO: test LiveCallRouterPagingTargetsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'alertUrgencyId' + */ + @Test + public void alertUrgencyIdTest() { + // TODO: test alertUrgencyId + } + +} diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterTest.java index 4b6ed737..bf542bea 100644 --- a/src/test/java/com/rootly/client/model/LiveCallRouterTest.java +++ b/src/test/java/com/rootly/client/model/LiveCallRouterTest.java @@ -18,8 +18,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewLiveCallRouterDataAttributesPagingTargetsInner; -import com.rootly.client.model.UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams; +import com.rootly.client.model.LiveCallRouterEscalationPolicyTriggerParams; +import com.rootly.client.model.LiveCallRouterPagingTargetsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java b/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java index ae0f4e8f..a695b0fa 100644 --- a/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java @@ -38,6 +38,14 @@ public void testMitigateIncidentData() { // TODO: test MitigateIncidentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1Test.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1Test.java new file mode 100644 index 00000000..1562c2dc --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOf1Test.java @@ -0,0 +1,48 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertDataAttributesActorOneOf1 + */ +public class NewAlertDataAttributesActorOneOf1Test { + private final NewAlertDataAttributesActorOneOf1 model = new NewAlertDataAttributesActorOneOf1(); + + /** + * Model tests for NewAlertDataAttributesActorOneOf1 + */ + @Test + public void testNewAlertDataAttributesActorOneOf1() { + // TODO: test NewAlertDataAttributesActorOneOf1 + } + + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOfTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOfTest.java new file mode 100644 index 00000000..e2b18cde --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorOneOfTest.java @@ -0,0 +1,48 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertDataAttributesActorOneOf + */ +public class NewAlertDataAttributesActorOneOfTest { + private final NewAlertDataAttributesActorOneOf model = new NewAlertDataAttributesActorOneOf(); + + /** + * Model tests for NewAlertDataAttributesActorOneOf + */ + @Test + public void testNewAlertDataAttributesActorOneOf() { + // TODO: test NewAlertDataAttributesActorOneOf + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorTest.java new file mode 100644 index 00000000..0b9e0a22 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesActorTest.java @@ -0,0 +1,58 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActorOneOf; +import com.rootly.client.model.NewAlertDataAttributesActorOneOf1; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertDataAttributesActor + */ +public class NewAlertDataAttributesActorTest { + private final NewAlertDataAttributesActor model = new NewAlertDataAttributesActor(); + + /** + * Model tests for NewAlertDataAttributesActor + */ + @Test + public void testNewAlertDataAttributesActor() { + // TODO: test NewAlertDataAttributesActor + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java index 0b11d940..a82e1527 100644 --- a/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import com.rootly.client.model.NewAlertDataAttributesNotificationTargetsInner; @@ -44,6 +45,14 @@ public void testNewAlertDataAttributes() { // TODO: test NewAlertDataAttributes } + /** + * Test the property 'actor' + */ + @Test + public void actorTest() { + // TODO: test actor + } + /** * Test the property 'noise' */ diff --git a/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java index c13647e7..49ed92a9 100644 --- a/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java @@ -19,7 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -54,4 +56,12 @@ public void nameTest() { // TODO: test name } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + } diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java index 0a27b6a5..1786525a 100644 --- a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -75,6 +76,14 @@ public void timeWindowTest() { // TODO: test timeWindow } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'targets' */ diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java index c3a0d5a7..0791cb75 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java @@ -65,6 +65,22 @@ public void acceptThreadedEmailsTest() { // TODO: test acceptThreadedEmails } + /** + * Test the property 'notificationTargetType' + */ + @Test + public void notificationTargetTypeTest() { + // TODO: test notificationTargetType + } + + /** + * Test the property 'notificationTargetId' + */ + @Test + public void notificationTargetIdTest() { + // TODO: test notificationTargetId + } + /** * Test the property 'fieldMappingsAttributes' */ diff --git a/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java b/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java index 341ca2dd..bf91b9a6 100644 --- a/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java +++ b/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -72,4 +73,12 @@ public void subscriptionsTest() { // TODO: test subscriptions } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInnerTest.java similarity index 80% rename from src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataAttributesTest.java rename to src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInnerTest.java index 6a37422a..7d97d953 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRetriggerRuleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesNotificationTypeRulesInnerTest.java @@ -18,35 +18,34 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertRetriggerRuleDataAttributesConditionsInner; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** - * Model tests for UpdateAlertRetriggerRuleDataAttributes + * Model tests for NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner */ -public class UpdateAlertRetriggerRuleDataAttributesTest { - private final UpdateAlertRetriggerRuleDataAttributes model = new UpdateAlertRetriggerRuleDataAttributes(); +public class NewEscalationPolicyPathDataAttributesNotificationTypeRulesInnerTest { + private final NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner model = new NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner(); /** - * Model tests for UpdateAlertRetriggerRuleDataAttributes + * Model tests for NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner */ @Test - public void testUpdateAlertRetriggerRuleDataAttributes() { - // TODO: test UpdateAlertRetriggerRuleDataAttributes + public void testNewEscalationPolicyPathDataAttributesNotificationTypeRulesInner() { + // TODO: test NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner } /** - * Test the property 'name' + * Test the property 'notificationType' */ @Test - public void nameTest() { - // TODO: test name + public void notificationTypeTest() { + // TODO: test notificationType } /** @@ -57,22 +56,6 @@ public void matchModeTest() { // TODO: test matchMode } - /** - * Test the property 'timeoutMinutes' - */ - @Test - public void timeoutMinutesTest() { - // TODO: test timeoutMinutes - } - - /** - * Test the property 'position' - */ - @Test - public void positionTest() { - // TODO: test position - } - /** * Test the property 'conditions' */ diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java index 69222e99..7b95149b 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java @@ -18,15 +18,15 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf2; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf3; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf4; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf6; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf7; +import com.rootly.client.model.AlertField; +import com.rootly.client.model.AlertSource; +import com.rootly.client.model.AlertUrgency; +import com.rootly.client.model.DeferralWindow; +import com.rootly.client.model.DeferralWindowTimeBlocksInner; +import com.rootly.client.model.JSONPath; +import com.rootly.client.model.RelatedIncidents; +import com.rootly.client.model.Service; +import com.rootly.client.model.WorkingHours; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -65,6 +65,14 @@ public void urgencyIdsTest() { // TODO: test urgencyIds } + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + /** * Test the property 'withinWorkingHour' */ @@ -81,14 +89,6 @@ public void jsonPathTest() { // TODO: test jsonPath } - /** - * Test the property 'operator' - */ - @Test - public void operatorTest() { - // TODO: test operator - } - /** * Test the property 'value' */ diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java index a7cf1cbf..f3fda21e 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner; import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner; import com.rootly.client.model.NewEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; @@ -146,6 +147,22 @@ public void rulesTest() { // TODO: test rules } + /** + * Test the property 'notificationTypeRules' + */ + @Test + public void notificationTypeRulesTest() { + // TODO: test notificationTypeRules + } + + /** + * Test the property 'notificationTypeFallback' + */ + @Test + public void notificationTypeFallbackTest() { + // TODO: test notificationTypeFallback + } + /** * Test the property 'timeRestrictionTimeZone' */ diff --git a/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java index d2101a76..d01a42c1 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java @@ -256,6 +256,30 @@ public void jiraIssueUrlTest() { // TODO: test jiraIssueUrl } + /** + * Test the property 'linearIssueKey' + */ + @Test + public void linearIssueKeyTest() { + // TODO: test linearIssueKey + } + + /** + * Test the property 'linearIssueId' + */ + @Test + public void linearIssueIdTest() { + // TODO: test linearIssueId + } + + /** + * Test the property 'linearIssueUrl' + */ + @Test + public void linearIssueUrlTest() { + // TODO: test linearIssueUrl + } + /** * Test the property 'notifyEmails' */ diff --git a/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java index e6dd020c..9fec5545 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java @@ -200,6 +200,14 @@ public void liveCallRoutingPermissionsTest() { // TODO: test liveCallRoutingPermissions } + /** + * Test the property 'membersPermissions' + */ + @Test + public void membersPermissionsTest() { + // TODO: test membersPermissions + } + /** * Test the property 'scheduleOverridePermissions' */ diff --git a/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java index 7d29fdf1..27f62dd1 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java @@ -56,6 +56,22 @@ public void summaryTest() { // TODO: test summary } + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + /** * Test the property 'externalUrl' */ @@ -112,4 +128,12 @@ public void incidentTypeIdsTest() { // TODO: test incidentTypeIds } + /** + * Test the property 'causeIds' + */ + @Test + public void causeIdsTest() { + // TODO: test causeIds + } + } diff --git a/src/test/java/com/rootly/client/model/NewProblemActionItemDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewProblemActionItemDataAttributesTest.java new file mode 100644 index 00000000..0eab098f --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewProblemActionItemDataAttributesTest.java @@ -0,0 +1,97 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewProblemActionItemDataAttributes + */ +public class NewProblemActionItemDataAttributesTest { + private final NewProblemActionItemDataAttributes model = new NewProblemActionItemDataAttributes(); + + /** + * Model tests for NewProblemActionItemDataAttributes + */ + @Test + public void testNewProblemActionItemDataAttributes() { + // TODO: test NewProblemActionItemDataAttributes + } + + /** + * Test the property 'summary' + */ + @Test + public void summaryTest() { + // TODO: test summary + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'assignedToUserId' + */ + @Test + public void assignedToUserIdTest() { + // TODO: test assignedToUserId + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'dueDate' + */ + @Test + public void dueDateTest() { + // TODO: test dueDate + } + + /** + * Test the property 'jiraIssueUrl' + */ + @Test + public void jiraIssueUrlTest() { + // TODO: test jiraIssueUrl + } + +} diff --git a/src/test/java/com/rootly/client/model/NewProblemActionItemDataTest.java b/src/test/java/com/rootly/client/model/NewProblemActionItemDataTest.java new file mode 100644 index 00000000..d8d782cb --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewProblemActionItemDataTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemActionItemDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewProblemActionItemData + */ +public class NewProblemActionItemDataTest { + private final NewProblemActionItemData model = new NewProblemActionItemData(); + + /** + * Model tests for NewProblemActionItemData + */ + @Test + public void testNewProblemActionItemData() { + // TODO: test NewProblemActionItemData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/NewProblemActionItemTest.java b/src/test/java/com/rootly/client/model/NewProblemActionItemTest.java new file mode 100644 index 00000000..c01e9c3a --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewProblemActionItemTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemActionItemData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewProblemActionItem + */ +public class NewProblemActionItemTest { + private final NewProblemActionItem model = new NewProblemActionItem(); + + /** + * Model tests for NewProblemActionItem + */ + @Test + public void testNewProblemActionItem() { + // TODO: test NewProblemActionItem + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewProblemDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewProblemDataAttributesTest.java new file mode 100644 index 00000000..857205a6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewProblemDataAttributesTest.java @@ -0,0 +1,180 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewProblemDataAttributes + */ +public class NewProblemDataAttributesTest { + private final NewProblemDataAttributes model = new NewProblemDataAttributes(); + + /** + * Model tests for NewProblemDataAttributes + */ + @Test + public void testNewProblemDataAttributes() { + // TODO: test NewProblemDataAttributes + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'ownerUserId' + */ + @Test + public void ownerUserIdTest() { + // TODO: test ownerUserId + } + + /** + * Test the property 'ownerGroupId' + */ + @Test + public void ownerGroupIdTest() { + // TODO: test ownerGroupId + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'dueDate' + */ + @Test + public void dueDateTest() { + // TODO: test dueDate + } + + /** + * Test the property 'scope' + */ + @Test + public void scopeTest() { + // TODO: test scope + } + + /** + * Test the property 'exitCriteria' + */ + @Test + public void exitCriteriaTest() { + // TODO: test exitCriteria + } + + /** + * Test the property 'impactSoFar' + */ + @Test + public void impactSoFarTest() { + // TODO: test impactSoFar + } + + /** + * Test the property 'rootCause' + */ + @Test + public void rootCauseTest() { + // TODO: test rootCause + } + + /** + * Test the property 'resolution' + */ + @Test + public void resolutionTest() { + // TODO: test resolution + } + + /** + * Test the property 'deferralReason' + */ + @Test + public void deferralReasonTest() { + // TODO: test deferralReason + } + + /** + * Test the property 'cancellationReason' + */ + @Test + public void cancellationReasonTest() { + // TODO: test cancellationReason + } + + /** + * Test the property 'nextReviewAt' + */ + @Test + public void nextReviewAtTest() { + // TODO: test nextReviewAt + } + + /** + * Test the property 'reReviewCadence' + */ + @Test + public void reReviewCadenceTest() { + // TODO: test reReviewCadence + } + + /** + * Test the property 'incidentIds' + */ + @Test + public void incidentIdsTest() { + // TODO: test incidentIds + } + + /** + * Test the property 'formFieldSelections' + */ + @Test + public void formFieldSelectionsTest() { + // TODO: test formFieldSelections + } + +} diff --git a/src/test/java/com/rootly/client/model/NewProblemDataTest.java b/src/test/java/com/rootly/client/model/NewProblemDataTest.java new file mode 100644 index 00000000..d0e9d2f4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewProblemDataTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewProblemData + */ +public class NewProblemDataTest { + private final NewProblemData model = new NewProblemData(); + + /** + * Model tests for NewProblemData + */ + @Test + public void testNewProblemData() { + // TODO: test NewProblemData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/NewProblemTest.java b/src/test/java/com/rootly/client/model/NewProblemTest.java new file mode 100644 index 00000000..e27d8058 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewProblemTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewProblemData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewProblem + */ +public class NewProblemTest { + private final NewProblem model = new NewProblem(); + + /** + * Model tests for NewProblem + */ + @Test + public void testNewProblem() { + // TODO: test NewProblem + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java index 94b1dbff..2c8ad158 100644 --- a/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java @@ -256,6 +256,14 @@ public void statusPagesPermissionsTest() { // TODO: test statusPagesPermissions } + /** + * Test the property 'statusPageUpdatesPermissions' + */ + @Test + public void statusPageUpdatesPermissionsTest() { + // TODO: test statusPageUpdatesPermissions + } + /** * Test the property 'webhooksPermissions' */ @@ -296,6 +304,14 @@ public void edgeConnectorPermissionsTest() { // TODO: test edgeConnectorPermissions } + /** + * Test the property 'privateAgentPermissions' + */ + @Test + public void privateAgentPermissionsTest() { + // TODO: test privateAgentPermissions + } + /** * Test the property 'slasPermissions' */ diff --git a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHoursTest.java b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHoursTest.java new file mode 100644 index 00000000..abc7ab86 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesBusinessHoursTest.java @@ -0,0 +1,64 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewScheduleDataAttributesBusinessHours + */ +public class NewScheduleDataAttributesBusinessHoursTest { + private final NewScheduleDataAttributesBusinessHours model = new NewScheduleDataAttributesBusinessHours(); + + /** + * Model tests for NewScheduleDataAttributesBusinessHours + */ + @Test + public void testNewScheduleDataAttributesBusinessHours() { + // TODO: test NewScheduleDataAttributesBusinessHours + } + + /** + * Test the property 'startTime' + */ + @Test + public void startTimeTest() { + // TODO: test startTime + } + + /** + * Test the property 'endTime' + */ + @Test + public void endTimeTest() { + // TODO: test endTime + } + + /** + * Test the property 'includeWeekends' + */ + @Test + public void includeWeekendsTest() { + // TODO: test includeWeekends + } + +} diff --git a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java index 8d3dc8cb..f2c22d4f 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewScheduleDataAttributesBusinessHours; import com.rootly.client.model.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; @@ -66,6 +67,14 @@ public void allTimeCoverageTest() { // TODO: test allTimeCoverage } + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + /** * Test the property 'slackUserGroup' */ @@ -162,4 +171,12 @@ public void shiftReportTimeZoneTest() { // TODO: test shiftReportTimeZone } + /** + * Test the property 'businessHours' + */ + @Test + public void businessHoursTest() { + // TODO: test businessHours + } + } diff --git a/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java index 7ba80e39..910ec6e1 100644 --- a/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java @@ -19,7 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -86,4 +88,12 @@ public void hashicorpVaultVersionTest() { // TODO: test hashicorpVaultVersion } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + } diff --git a/src/test/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributesTest.java index 5a11deb0..fc4fe2cd 100644 --- a/src/test/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewShiftCoverageRequestDataAttributesTest.java @@ -20,7 +20,9 @@ import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -62,4 +64,12 @@ public void userIdTest() { // TODO: test userId } + /** + * Test the property 'recipientUserIds' + */ + @Test + public void recipientUserIdsTest() { + // TODO: test recipientUserIds + } + } diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTeamDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTeamDataAttributesTest.java new file mode 100644 index 00000000..95e62a22 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewStatusPageTeamDataAttributesTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewStatusPageTeamDataAttributes + */ +public class NewStatusPageTeamDataAttributesTest { + private final NewStatusPageTeamDataAttributes model = new NewStatusPageTeamDataAttributes(); + + /** + * Model tests for NewStatusPageTeamDataAttributes + */ + @Test + public void testNewStatusPageTeamDataAttributes() { + // TODO: test NewStatusPageTeamDataAttributes + } + + /** + * Test the property 'groupId' + */ + @Test + public void groupIdTest() { + // TODO: test groupId + } + + /** + * Test the property 'permissionLevel' + */ + @Test + public void permissionLevelTest() { + // TODO: test permissionLevel + } + +} diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTeamDataTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTeamDataTest.java new file mode 100644 index 00000000..60523c6b --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewStatusPageTeamDataTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewStatusPageTeamDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewStatusPageTeamData + */ +public class NewStatusPageTeamDataTest { + private final NewStatusPageTeamData model = new NewStatusPageTeamData(); + + /** + * Model tests for NewStatusPageTeamData + */ + @Test + public void testNewStatusPageTeamData() { + // TODO: test NewStatusPageTeamData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTeamTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTeamTest.java new file mode 100644 index 00000000..b3edb12c --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewStatusPageTeamTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewStatusPageTeamData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewStatusPageTeam + */ +public class NewStatusPageTeamTest { + private final NewStatusPageTeam model = new NewStatusPageTeam(); + + /** + * Model tests for NewStatusPageTeam + */ + @Test + public void testNewStatusPageTeam() { + // TODO: test NewStatusPageTeam + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java index 147d5ed8..f6e2afba 100644 --- a/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java @@ -181,6 +181,22 @@ public void serviceNowCiSysIdTest() { // TODO: test serviceNowCiSysId } + /** + * Test the property 'scimGroupId' + */ + @Test + public void scimGroupIdTest() { + // TODO: test scimGroupId + } + + /** + * Test the property 'scimGroupExternalId' + */ + @Test + public void scimGroupExternalIdTest() { + // TODO: test scimGroupExternalId + } + /** * Test the property 'userIds' */ @@ -277,6 +293,14 @@ public void autoAddMembersScopeTest() { // TODO: test autoAddMembersScope } + /** + * Test the property 'scheduleOverridePolicy' + */ + @Test + public void scheduleOverridePolicyTest() { + // TODO: test scheduleOverridePolicy + } + /** * Test the property 'properties' */ diff --git a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInnerTest.java b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInnerTest.java new file mode 100644 index 00000000..c37e5f61 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesFailureNotificationChannelsInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewWorkflowDataAttributesFailureNotificationChannelsInner + */ +public class NewWorkflowDataAttributesFailureNotificationChannelsInnerTest { + private final NewWorkflowDataAttributesFailureNotificationChannelsInner model = new NewWorkflowDataAttributesFailureNotificationChannelsInner(); + + /** + * Model tests for NewWorkflowDataAttributesFailureNotificationChannelsInner + */ + @Test + public void testNewWorkflowDataAttributesFailureNotificationChannelsInner() { + // TODO: test NewWorkflowDataAttributesFailureNotificationChannelsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java index b7c5c7b1..9d797e76 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner; import com.rootly.client.model.NewWorkflowDataAttributesTriggerParams; import java.io.IOException; import java.util.ArrayList; @@ -129,6 +130,14 @@ public void continuouslyRepeatTest() { // TODO: test continuouslyRepeat } + /** + * Test the property 'runOncePerResource' + */ + @Test + public void runOncePerResourceTest() { + // TODO: test runOncePerResource + } + /** * Test the property 'repeatOn' */ @@ -233,6 +242,14 @@ public void groupIdsTest() { // TODO: test groupIds } + /** + * Test the property 'groupAssignmentIds' + */ + @Test + public void groupAssignmentIdsTest() { + // TODO: test groupAssignmentIds + } + /** * Test the property 'causeIds' */ @@ -249,4 +266,20 @@ public void subStatusIdsTest() { // TODO: test subStatusIds } + /** + * Test the property 'failureNotificationMode' + */ + @Test + public void failureNotificationModeTest() { + // TODO: test failureNotificationMode + } + + /** + * Test the property 'failureNotificationChannels' + */ + @Test + public void failureNotificationChannelsTest() { + // TODO: test failureNotificationChannels + } + } diff --git a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java index 060f8dec..bbdb73a7 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java @@ -280,6 +280,22 @@ public void incidentConditionResolvedAtTest() { // TODO: test incidentConditionResolvedAt } + /** + * Test the property 'incidentConditionScheduledFor' + */ + @Test + public void incidentConditionScheduledForTest() { + // TODO: test incidentConditionScheduledFor + } + + /** + * Test the property 'incidentConditionScheduledUntil' + */ + @Test + public void incidentConditionScheduledUntilTest() { + // TODO: test incidentConditionScheduledUntil + } + /** * Test the property 'incidentConditionalInactivity' */ diff --git a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java index 37e428bb..bc92caa0 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java @@ -91,6 +91,8 @@ import com.rootly.client.model.CreateSharepointPageTaskParams; import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; import com.rootly.client.model.CreateSlackChannelTaskParams; import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; @@ -123,6 +125,7 @@ import com.rootly.client.model.PrintTaskParams; import com.rootly.client.model.PublishIncidentTaskParams; import com.rootly.client.model.RedisClientTaskParams; +import com.rootly.client.model.RemoveFromSlackChannelTaskParams; import com.rootly.client.model.RemoveGoogleDocsPermissionsTaskParams; import com.rootly.client.model.RenameGoogleChatSpaceTaskParams; import com.rootly.client.model.RenameMicrosoftTeamsChannelTaskParams; @@ -178,6 +181,7 @@ import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; +import com.rootly.client.model.UpdateSlackCanvasTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; import com.rootly.client.model.UpdateStatusTaskParams; import com.rootly.client.model.UpdateTrelloCardTaskParams; @@ -187,7 +191,9 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -366,6 +372,22 @@ public void emojiTest() { // TODO: test emoji } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + /** * Test the property 'groupId' */ @@ -1174,22 +1196,6 @@ public void updatePayloadTest() { // TODO: test updatePayload } - /** - * Test the property 'retryCount' - */ - @Test - public void retryCountTest() { - // TODO: test retryCount - } - - /** - * Test the property 'retryWaitTime' - */ - @Test - public void retryWaitTimeTest() { - // TODO: test retryWaitTime - } - /** * Test the property 'parentIssueId' */ @@ -1630,6 +1636,22 @@ public void succeedOnStatusTest() { // TODO: test succeedOnStatus } + /** + * Test the property 'expectedResponseHeaders' + */ + @Test + public void expectedResponseHeadersTest() { + // TODO: test expectedResponseHeaders + } + + /** + * Test the property 'followRedirects' + */ + @Test + public void followRedirectsTest() { + // TODO: test followRedirects + } + /** * Test the property 'slackUsers' */ @@ -1806,6 +1828,38 @@ public void statusPageIdsTest() { // TODO: test statusPageIds } + /** + * Test the property 'selectedComponentKeys' + */ + @Test + public void selectedComponentKeysTest() { + // TODO: test selectedComponentKeys + } + + /** + * Test the property 'selectedComponentStatuses' + */ + @Test + public void selectedComponentStatusesTest() { + // TODO: test selectedComponentStatuses + } + + /** + * Test the property 'syncIncidentComponents' + */ + @Test + public void syncIncidentComponentsTest() { + // TODO: test syncIncidentComponents + } + + /** + * Test the property 'syncedComponentStatus' + */ + @Test + public void syncedComponentStatusTest() { + // TODO: test syncedComponentStatus + } + /** * Test the property 'integrationPayload' */ @@ -1822,6 +1876,22 @@ public void commandsTest() { // TODO: test commands } + /** + * Test the property 'targetKind' + */ + @Test + public void targetKindTest() { + // TODO: test targetKind + } + + /** + * Test the property 'dryRun' + */ + @Test + public void dryRunTest() { + // TODO: test dryRun + } + /** * Test the property 'privacy' */ @@ -1990,6 +2060,14 @@ public void sendOnlyAsThreadedMessageTest() { // TODO: test sendOnlyAsThreadedMessage } + /** + * Test the property 'allowCrossWorkflowThreading' + */ + @Test + public void allowCrossWorkflowThreadingTest() { + // TODO: test allowCrossWorkflowThreading + } + /** * Test the property 'metricQueries' */ @@ -2110,6 +2188,22 @@ public void storyIdTest() { // TODO: test storyId } + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'sectionName' + */ + @Test + public void sectionNameTest() { + // TODO: test sectionName + } + /** * Test the property 'inactivityTimeout' */ diff --git a/src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseTest.java b/src/test/java/com/rootly/client/model/NullableSeverityResponseTest.java similarity index 90% rename from src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseTest.java rename to src/test/java/com/rootly/client/model/NullableSeverityResponseTest.java index f5a16f3c..8ef3f542 100644 --- a/src/test/java/com/rootly/client/model/AlertRetriggerRuleResponseTest.java +++ b/src/test/java/com/rootly/client/model/NullableSeverityResponseTest.java @@ -18,8 +18,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.AlertRetriggerRuleResponseData; import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.SeverityResponseData; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -28,17 +28,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for AlertRetriggerRuleResponse + * Model tests for NullableSeverityResponse */ -public class AlertRetriggerRuleResponseTest { - private final AlertRetriggerRuleResponse model = new AlertRetriggerRuleResponse(); +public class NullableSeverityResponseTest { + private final NullableSeverityResponse model = new NullableSeverityResponse(); /** - * Model tests for AlertRetriggerRuleResponse + * Model tests for NullableSeverityResponse */ @Test - public void testAlertRetriggerRuleResponse() { - // TODO: test AlertRetriggerRuleResponse + public void testNullableSeverityResponse() { + // TODO: test NullableSeverityResponse } /** diff --git a/src/test/java/com/rootly/client/model/OnCallRoleTest.java b/src/test/java/com/rootly/client/model/OnCallRoleTest.java index 23794540..be52128a 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleTest.java @@ -199,6 +199,14 @@ public void liveCallRoutingPermissionsTest() { // TODO: test liveCallRoutingPermissions } + /** + * Test the property 'membersPermissions' + */ + @Test + public void membersPermissionsTest() { + // TODO: test membersPermissions + } + /** * Test the property 'scheduleOverridePermissions' */ diff --git a/src/test/java/com/rootly/client/model/OverriddenShiftTest.java b/src/test/java/com/rootly/client/model/OverriddenShiftTest.java new file mode 100644 index 00000000..55622d53 --- /dev/null +++ b/src/test/java/com/rootly/client/model/OverriddenShiftTest.java @@ -0,0 +1,89 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for OverriddenShift + */ +public class OverriddenShiftTest { + private final OverriddenShift model = new OverriddenShift(); + + /** + * Model tests for OverriddenShift + */ + @Test + public void testOverriddenShift() { + // TODO: test OverriddenShift + } + + /** + * Test the property 'startsAt' + */ + @Test + public void startsAtTest() { + // TODO: test startsAt + } + + /** + * Test the property 'endsAt' + */ + @Test + public void endsAtTest() { + // TODO: test endsAt + } + + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + + /** + * Test the property 'rotationId' + */ + @Test + public void rotationIdTest() { + // TODO: test rotationId + } + + /** + * Test the property 'assigneeType' + */ + @Test + public void assigneeTypeTest() { + // TODO: test assigneeType + } + + /** + * Test the property 'assigneeId' + */ + @Test + public void assigneeIdTest() { + // TODO: test assigneeId + } + +} diff --git a/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java index 60c46803..9465cb99 100644 --- a/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java @@ -38,6 +38,14 @@ public void testPatchAlertRouteData() { // TODO: test PatchAlertRouteData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/PlaybookTest.java b/src/test/java/com/rootly/client/model/PlaybookTest.java index 214cf892..c0dc75fc 100644 --- a/src/test/java/com/rootly/client/model/PlaybookTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookTest.java @@ -56,6 +56,22 @@ public void summaryTest() { // TODO: test summary } + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + /** * Test the property 'externalUrl' */ @@ -112,6 +128,14 @@ public void incidentTypeIdsTest() { // TODO: test incidentTypeIds } + /** + * Test the property 'causeIds' + */ + @Test + public void causeIdsTest() { + // TODO: test causeIds + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java b/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java index 277dd837..393a29cd 100644 --- a/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java @@ -272,6 +272,22 @@ public void incidentConditionResolvedAtTest() { // TODO: test incidentConditionResolvedAt } + /** + * Test the property 'incidentConditionScheduledFor' + */ + @Test + public void incidentConditionScheduledForTest() { + // TODO: test incidentConditionScheduledFor + } + + /** + * Test the property 'incidentConditionScheduledUntil' + */ + @Test + public void incidentConditionScheduledUntilTest() { + // TODO: test incidentConditionScheduledUntil + } + /** * Test the property 'incidentConditionalInactivity' */ diff --git a/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInnerTest.java b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInnerTest.java new file mode 100644 index 00000000..881bdc25 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerCapabilitiesInnerTest.java @@ -0,0 +1,72 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentAttributesProvidersInnerCapabilitiesInner + */ +public class PrivateAgentAttributesProvidersInnerCapabilitiesInnerTest { + private final PrivateAgentAttributesProvidersInnerCapabilitiesInner model = new PrivateAgentAttributesProvidersInnerCapabilitiesInner(); + + /** + * Model tests for PrivateAgentAttributesProvidersInnerCapabilitiesInner + */ + @Test + public void testPrivateAgentAttributesProvidersInnerCapabilitiesInner() { + // TODO: test PrivateAgentAttributesProvidersInnerCapabilitiesInner + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'version' + */ + @Test + public void versionTest() { + // TODO: test version + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'sensitivity' + */ + @Test + public void sensitivityTest() { + // TODO: test sensitivity + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealthTest.java b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealthTest.java new file mode 100644 index 00000000..470ad06c --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerHealthTest.java @@ -0,0 +1,64 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentAttributesProvidersInnerHealth + */ +public class PrivateAgentAttributesProvidersInnerHealthTest { + private final PrivateAgentAttributesProvidersInnerHealth model = new PrivateAgentAttributesProvidersInnerHealth(); + + /** + * Model tests for PrivateAgentAttributesProvidersInnerHealth + */ + @Test + public void testPrivateAgentAttributesProvidersInnerHealth() { + // TODO: test PrivateAgentAttributesProvidersInnerHealth + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'observedAt' + */ + @Test + public void observedAtTest() { + // TODO: test observedAt + } + + /** + * Test the property 'message' + */ + @Test + public void messageTest() { + // TODO: test message + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicyTest.java b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicyTest.java new file mode 100644 index 00000000..0a43bf26 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerPolicyTest.java @@ -0,0 +1,418 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentAttributesProvidersInnerPolicy + */ +public class PrivateAgentAttributesProvidersInnerPolicyTest { + private final PrivateAgentAttributesProvidersInnerPolicy model = new PrivateAgentAttributesProvidersInnerPolicy(); + + /** + * Model tests for PrivateAgentAttributesProvidersInnerPolicy + */ + @Test + public void testPrivateAgentAttributesProvidersInnerPolicy() { + // TODO: test PrivateAgentAttributesProvidersInnerPolicy + } + + /** + * Test the property 'digest' + */ + @Test + public void digestTest() { + // TODO: test digest + } + + /** + * Test the property 'clusterScoped' + */ + @Test + public void clusterScopedTest() { + // TODO: test clusterScoped + } + + /** + * Test the property 'podLogs' + */ + @Test + public void podLogsTest() { + // TODO: test podLogs + } + + /** + * Test the property 'maximumConcurrency' + */ + @Test + public void maximumConcurrencyTest() { + // TODO: test maximumConcurrency + } + + /** + * Test the property 'maximumAttributeValues' + */ + @Test + public void maximumAttributeValuesTest() { + // TODO: test maximumAttributeValues + } + + /** + * Test the property 'maximumDocuments' + */ + @Test + public void maximumDocumentsTest() { + // TODO: test maximumDocuments + } + + /** + * Test the property 'maximumEntries' + */ + @Test + public void maximumEntriesTest() { + // TODO: test maximumEntries + } + + /** + * Test the property 'maximumExemplars' + */ + @Test + public void maximumExemplarsTest() { + // TODO: test maximumExemplars + } + + /** + * Test the property 'maximumIndices' + */ + @Test + public void maximumIndicesTest() { + // TODO: test maximumIndices + } + + /** + * Test the property 'maximumLabelValues' + */ + @Test + public void maximumLabelValuesTest() { + // TODO: test maximumLabelValues + } + + /** + * Test the property 'maximumNodes' + */ + @Test + public void maximumNodesTest() { + // TODO: test maximumNodes + } + + /** + * Test the property 'maximumPatternPoints' + */ + @Test + public void maximumPatternPointsTest() { + // TODO: test maximumPatternPoints + } + + /** + * Test the property 'maximumPointsPerSeries' + */ + @Test + public void maximumPointsPerSeriesTest() { + // TODO: test maximumPointsPerSeries + } + + /** + * Test the property 'maximumProfileTypes' + */ + @Test + public void maximumProfileTypesTest() { + // TODO: test maximumProfileTypes + } + + /** + * Test the property 'maximumQueryBytes' + */ + @Test + public void maximumQueryBytesTest() { + // TODO: test maximumQueryBytes + } + + /** + * Test the property 'maximumRequestBytes' + */ + @Test + public void maximumRequestBytesTest() { + // TODO: test maximumRequestBytes + } + + /** + * Test the property 'maximumResponseBytes' + */ + @Test + public void maximumResponseBytesTest() { + // TODO: test maximumResponseBytes + } + + /** + * Test the property 'maximumRangeSeconds' + */ + @Test + public void maximumRangeSecondsTest() { + // TODO: test maximumRangeSeconds + } + + /** + * Test the property 'maximumRows' + */ + @Test + public void maximumRowsTest() { + // TODO: test maximumRows + } + + /** + * Test the property 'maximumResultBytes' + */ + @Test + public void maximumResultBytesTest() { + // TODO: test maximumResultBytes + } + + /** + * Test the property 'maximumItems' + */ + @Test + public void maximumItemsTest() { + // TODO: test maximumItems + } + + /** + * Test the property 'maximumMessages' + */ + @Test + public void maximumMessagesTest() { + // TODO: test maximumMessages + } + + /** + * Test the property 'maximumMessageBytes' + */ + @Test + public void maximumMessageBytesTest() { + // TODO: test maximumMessageBytes + } + + /** + * Test the property 'maximumScanRecords' + */ + @Test + public void maximumScanRecordsTest() { + // TODO: test maximumScanRecords + } + + /** + * Test the property 'maximumScanBytes' + */ + @Test + public void maximumScanBytesTest() { + // TODO: test maximumScanBytes + } + + /** + * Test the property 'maximumSeries' + */ + @Test + public void maximumSeriesTest() { + // TODO: test maximumSeries + } + + /** + * Test the property 'maximumShards' + */ + @Test + public void maximumShardsTest() { + // TODO: test maximumShards + } + + /** + * Test the property 'maximumSlowlogEntries' + */ + @Test + public void maximumSlowlogEntriesTest() { + // TODO: test maximumSlowlogEntries + } + + /** + * Test the property 'maximumSpansPerSpanSet' + */ + @Test + public void maximumSpansPerSpanSetTest() { + // TODO: test maximumSpansPerSpanSet + } + + /** + * Test the property 'maximumStaleValues' + */ + @Test + public void maximumStaleValuesTest() { + // TODO: test maximumStaleValues + } + + /** + * Test the property 'maximumTimeoutSeconds' + */ + @Test + public void maximumTimeoutSecondsTest() { + // TODO: test maximumTimeoutSeconds + } + + /** + * Test the property 'maximumTraces' + */ + @Test + public void maximumTracesTest() { + // TODO: test maximumTraces + } + + /** + * Test the property 'stuckTransactionSeconds' + */ + @Test + public void stuckTransactionSecondsTest() { + // TODO: test stuckTransactionSeconds + } + + /** + * Test the property 'namespaces' + */ + @Test + public void namespacesTest() { + // TODO: test namespaces + } + + /** + * Test the property 'allowedIndices' + */ + @Test + public void allowedIndicesTest() { + // TODO: test allowedIndices + } + + /** + * Test the property 'timestampField' + */ + @Test + public void timestampFieldTest() { + // TODO: test timestampField + } + + /** + * Test the property 'database' + */ + @Test + public void databaseTest() { + // TODO: test database + } + + /** + * Test the property 'allowedSchemas' + */ + @Test + public void allowedSchemasTest() { + // TODO: test allowedSchemas + } + + /** + * Test the property 'allowedMethods' + */ + @Test + public void allowedMethodsTest() { + // TODO: test allowedMethods + } + + /** + * Test the property 'allowedPathPrefixes' + */ + @Test + public void allowedPathPrefixesTest() { + // TODO: test allowedPathPrefixes + } + + /** + * Test the property 'allowedRequestHeaders' + */ + @Test + public void allowedRequestHeadersTest() { + // TODO: test allowedRequestHeaders + } + + /** + * Test the property 'exposedResponseHeaders' + */ + @Test + public void exposedResponseHeadersTest() { + // TODO: test exposedResponseHeaders + } + + /** + * Test the property 'allowedTopics' + */ + @Test + public void allowedTopicsTest() { + // TODO: test allowedTopics + } + + /** + * Test the property 'deniedTopics' + */ + @Test + public void deniedTopicsTest() { + // TODO: test deniedTopics + } + + /** + * Test the property 'includeInternalTopics' + */ + @Test + public void includeInternalTopicsTest() { + // TODO: test includeInternalTopics + } + + /** + * Test the property 'allowMessageReads' + */ + @Test + public void allowMessageReadsTest() { + // TODO: test allowMessageReads + } + + /** + * Test the property 'includeMessageValues' + */ + @Test + public void includeMessageValuesTest() { + // TODO: test includeMessageValues + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerTest.java b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerTest.java new file mode 100644 index 00000000..03d31567 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentAttributesProvidersInnerTest.java @@ -0,0 +1,93 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentAttributesProvidersInnerCapabilitiesInner; +import com.rootly.client.model.PrivateAgentAttributesProvidersInnerHealth; +import com.rootly.client.model.PrivateAgentAttributesProvidersInnerPolicy; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentAttributesProvidersInner + */ +public class PrivateAgentAttributesProvidersInnerTest { + private final PrivateAgentAttributesProvidersInner model = new PrivateAgentAttributesProvidersInner(); + + /** + * Model tests for PrivateAgentAttributesProvidersInner + */ + @Test + public void testPrivateAgentAttributesProvidersInner() { + // TODO: test PrivateAgentAttributesProvidersInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'version' + */ + @Test + public void versionTest() { + // TODO: test version + } + + /** + * Test the property 'health' + */ + @Test + public void healthTest() { + // TODO: test health + } + + /** + * Test the property 'policy' + */ + @Test + public void policyTest() { + // TODO: test policy + } + + /** + * Test the property 'capabilities' + */ + @Test + public void capabilitiesTest() { + // TODO: test capabilities + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentAttributesTest.java b/src/test/java/com/rootly/client/model/PrivateAgentAttributesTest.java new file mode 100644 index 00000000..deb757c9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentAttributesTest.java @@ -0,0 +1,140 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentAttributesProvidersInner; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentAttributes + */ +public class PrivateAgentAttributesTest { + private final PrivateAgentAttributes model = new PrivateAgentAttributes(); + + /** + * Model tests for PrivateAgentAttributes + */ + @Test + public void testPrivateAgentAttributes() { + // TODO: test PrivateAgentAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'enabled' + */ + @Test + public void enabledTest() { + // TODO: test enabled + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'online' + */ + @Test + public void onlineTest() { + // TODO: test online + } + + /** + * Test the property 'deploymentMode' + */ + @Test + public void deploymentModeTest() { + // TODO: test deploymentMode + } + + /** + * Test the property 'agentVersion' + */ + @Test + public void agentVersionTest() { + // TODO: test agentVersion + } + + /** + * Test the property 'lastSeenAt' + */ + @Test + public void lastSeenAtTest() { + // TODO: test lastSeenAt + } + + /** + * Test the property 'schemaDigest' + */ + @Test + public void schemaDigestTest() { + // TODO: test schemaDigest + } + + /** + * Test the property 'createdAt' + */ + @Test + public void createdAtTest() { + // TODO: test createdAt + } + + /** + * Test the property 'updatedAt' + */ + @Test + public void updatedAtTest() { + // TODO: test updatedAt + } + + /** + * Test the property 'providers' + */ + @Test + public void providersTest() { + // TODO: test providers + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributesTest.java b/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributesTest.java new file mode 100644 index 00000000..7e1e3d45 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataAttributesTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentEnrollmentTokenResponseDataAttributes + */ +public class PrivateAgentEnrollmentTokenResponseDataAttributesTest { + private final PrivateAgentEnrollmentTokenResponseDataAttributes model = new PrivateAgentEnrollmentTokenResponseDataAttributes(); + + /** + * Model tests for PrivateAgentEnrollmentTokenResponseDataAttributes + */ + @Test + public void testPrivateAgentEnrollmentTokenResponseDataAttributes() { + // TODO: test PrivateAgentEnrollmentTokenResponseDataAttributes + } + + /** + * Test the property 'token' + */ + @Test + public void tokenTest() { + // TODO: test token + } + + /** + * Test the property 'expiresAt' + */ + @Test + public void expiresAtTest() { + // TODO: test expiresAt + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataTest.java b/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataTest.java new file mode 100644 index 00000000..c2325d30 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseDataTest.java @@ -0,0 +1,66 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentEnrollmentTokenResponseDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentEnrollmentTokenResponseData + */ +public class PrivateAgentEnrollmentTokenResponseDataTest { + private final PrivateAgentEnrollmentTokenResponseData model = new PrivateAgentEnrollmentTokenResponseData(); + + /** + * Model tests for PrivateAgentEnrollmentTokenResponseData + */ + @Test + public void testPrivateAgentEnrollmentTokenResponseData() { + // TODO: test PrivateAgentEnrollmentTokenResponseData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseTest.java b/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseTest.java new file mode 100644 index 00000000..95eff930 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentEnrollmentTokenResponseTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentEnrollmentTokenResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentEnrollmentTokenResponse + */ +public class PrivateAgentEnrollmentTokenResponseTest { + private final PrivateAgentEnrollmentTokenResponse model = new PrivateAgentEnrollmentTokenResponse(); + + /** + * Model tests for PrivateAgentEnrollmentTokenResponse + */ + @Test + public void testPrivateAgentEnrollmentTokenResponse() { + // TODO: test PrivateAgentEnrollmentTokenResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentListTest.java b/src/test/java/com/rootly/client/model/PrivateAgentListTest.java new file mode 100644 index 00000000..0cc89384 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentListTest.java @@ -0,0 +1,59 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentSummary; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentList + */ +public class PrivateAgentListTest { + private final PrivateAgentList model = new PrivateAgentList(); + + /** + * Model tests for PrivateAgentList + */ + @Test + public void testPrivateAgentList() { + // TODO: test PrivateAgentList + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentResponseTest.java b/src/test/java/com/rootly/client/model/PrivateAgentResponseTest.java new file mode 100644 index 00000000..096563da --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentResponseTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgent; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentResponse + */ +public class PrivateAgentResponseTest { + private final PrivateAgentResponse model = new PrivateAgentResponse(); + + /** + * Model tests for PrivateAgentResponse + */ + @Test + public void testPrivateAgentResponse() { + // TODO: test PrivateAgentResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentSummaryAttributesTest.java b/src/test/java/com/rootly/client/model/PrivateAgentSummaryAttributesTest.java new file mode 100644 index 00000000..b35b789a --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentSummaryAttributesTest.java @@ -0,0 +1,129 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentSummaryAttributes + */ +public class PrivateAgentSummaryAttributesTest { + private final PrivateAgentSummaryAttributes model = new PrivateAgentSummaryAttributes(); + + /** + * Model tests for PrivateAgentSummaryAttributes + */ + @Test + public void testPrivateAgentSummaryAttributes() { + // TODO: test PrivateAgentSummaryAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'enabled' + */ + @Test + public void enabledTest() { + // TODO: test enabled + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'online' + */ + @Test + public void onlineTest() { + // TODO: test online + } + + /** + * Test the property 'deploymentMode' + */ + @Test + public void deploymentModeTest() { + // TODO: test deploymentMode + } + + /** + * Test the property 'agentVersion' + */ + @Test + public void agentVersionTest() { + // TODO: test agentVersion + } + + /** + * Test the property 'lastSeenAt' + */ + @Test + public void lastSeenAtTest() { + // TODO: test lastSeenAt + } + + /** + * Test the property 'schemaDigest' + */ + @Test + public void schemaDigestTest() { + // TODO: test schemaDigest + } + + /** + * Test the property 'createdAt' + */ + @Test + public void createdAtTest() { + // TODO: test createdAt + } + + /** + * Test the property 'updatedAt' + */ + @Test + public void updatedAtTest() { + // TODO: test updatedAt + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentSummaryTest.java b/src/test/java/com/rootly/client/model/PrivateAgentSummaryTest.java new file mode 100644 index 00000000..73159d75 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentSummaryTest.java @@ -0,0 +1,66 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentSummaryAttributes; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentSummary + */ +public class PrivateAgentSummaryTest { + private final PrivateAgentSummary model = new PrivateAgentSummary(); + + /** + * Model tests for PrivateAgentSummary + */ + @Test + public void testPrivateAgentSummary() { + // TODO: test PrivateAgentSummary + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentTest.java b/src/test/java/com/rootly/client/model/PrivateAgentTest.java new file mode 100644 index 00000000..aa7e0614 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentTest.java @@ -0,0 +1,66 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentAttributes; +import java.io.IOException; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgent + */ +public class PrivateAgentTest { + private final PrivateAgent model = new PrivateAgent(); + + /** + * Model tests for PrivateAgent + */ + @Test + public void testPrivateAgent() { + // TODO: test PrivateAgent + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentUpdateDataAttributesTest.java b/src/test/java/com/rootly/client/model/PrivateAgentUpdateDataAttributesTest.java new file mode 100644 index 00000000..598875b6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentUpdateDataAttributesTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentUpdateDataAttributes + */ +public class PrivateAgentUpdateDataAttributesTest { + private final PrivateAgentUpdateDataAttributes model = new PrivateAgentUpdateDataAttributes(); + + /** + * Model tests for PrivateAgentUpdateDataAttributes + */ + @Test + public void testPrivateAgentUpdateDataAttributes() { + // TODO: test PrivateAgentUpdateDataAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'enabled' + */ + @Test + public void enabledTest() { + // TODO: test enabled + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentUpdateDataTest.java b/src/test/java/com/rootly/client/model/PrivateAgentUpdateDataTest.java new file mode 100644 index 00000000..1acb9e70 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentUpdateDataTest.java @@ -0,0 +1,57 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentUpdateDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentUpdateData + */ +public class PrivateAgentUpdateDataTest { + private final PrivateAgentUpdateData model = new PrivateAgentUpdateData(); + + /** + * Model tests for PrivateAgentUpdateData + */ + @Test + public void testPrivateAgentUpdateData() { + // TODO: test PrivateAgentUpdateData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/PrivateAgentUpdateTest.java b/src/test/java/com/rootly/client/model/PrivateAgentUpdateTest.java new file mode 100644 index 00000000..690a944a --- /dev/null +++ b/src/test/java/com/rootly/client/model/PrivateAgentUpdateTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.PrivateAgentUpdateData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PrivateAgentUpdate + */ +public class PrivateAgentUpdateTest { + private final PrivateAgentUpdate model = new PrivateAgentUpdate(); + + /** + * Model tests for PrivateAgentUpdate + */ + @Test + public void testPrivateAgentUpdate() { + // TODO: test PrivateAgentUpdate + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRetriggerRuleListTest.java b/src/test/java/com/rootly/client/model/ProblemActionItemListTest.java similarity index 91% rename from src/test/java/com/rootly/client/model/AlertRetriggerRuleListTest.java rename to src/test/java/com/rootly/client/model/ProblemActionItemListTest.java index 417fd50d..e3455a7e 100644 --- a/src/test/java/com/rootly/client/model/AlertRetriggerRuleListTest.java +++ b/src/test/java/com/rootly/client/model/ProblemActionItemListTest.java @@ -18,10 +18,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.AlertRetriggerRuleResponseData; import com.rootly.client.model.JsonapiIncludedResource; import com.rootly.client.model.Links; import com.rootly.client.model.Meta; +import com.rootly.client.model.ProblemActionItemResponseData; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -30,17 +30,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for AlertRetriggerRuleList + * Model tests for ProblemActionItemList */ -public class AlertRetriggerRuleListTest { - private final AlertRetriggerRuleList model = new AlertRetriggerRuleList(); +public class ProblemActionItemListTest { + private final ProblemActionItemList model = new ProblemActionItemList(); /** - * Model tests for AlertRetriggerRuleList + * Model tests for ProblemActionItemList */ @Test - public void testAlertRetriggerRuleList() { - // TODO: test AlertRetriggerRuleList + public void testProblemActionItemList() { + // TODO: test ProblemActionItemList } /** diff --git a/src/test/java/com/rootly/client/model/ProblemActionItemResponseDataTest.java b/src/test/java/com/rootly/client/model/ProblemActionItemResponseDataTest.java new file mode 100644 index 00000000..7ad3e87d --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemActionItemResponseDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.ProblemActionItem; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ProblemActionItemResponseData + */ +public class ProblemActionItemResponseDataTest { + private final ProblemActionItemResponseData model = new ProblemActionItemResponseData(); + + /** + * Model tests for ProblemActionItemResponseData + */ + @Test + public void testProblemActionItemResponseData() { + // TODO: test ProblemActionItemResponseData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/ProblemActionItemResponseTest.java b/src/test/java/com/rootly/client/model/ProblemActionItemResponseTest.java new file mode 100644 index 00000000..b5cfc134 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemActionItemResponseTest.java @@ -0,0 +1,60 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.ProblemActionItemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ProblemActionItemResponse + */ +public class ProblemActionItemResponseTest { + private final ProblemActionItemResponse model = new ProblemActionItemResponse(); + + /** + * Model tests for ProblemActionItemResponse + */ + @Test + public void testProblemActionItemResponse() { + // TODO: test ProblemActionItemResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'included' + */ + @Test + public void includedTest() { + // TODO: test included + } + +} diff --git a/src/test/java/com/rootly/client/model/ProblemActionItemTest.java b/src/test/java/com/rootly/client/model/ProblemActionItemTest.java new file mode 100644 index 00000000..e840da01 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemActionItemTest.java @@ -0,0 +1,138 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UserFlatResponse; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ProblemActionItem + */ +public class ProblemActionItemTest { + private final ProblemActionItem model = new ProblemActionItem(); + + /** + * Model tests for ProblemActionItem + */ + @Test + public void testProblemActionItem() { + // TODO: test ProblemActionItem + } + + /** + * Test the property 'problemId' + */ + @Test + public void problemIdTest() { + // TODO: test problemId + } + + /** + * Test the property 'summary' + */ + @Test + public void summaryTest() { + // TODO: test summary + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'assignedToUserId' + */ + @Test + public void assignedToUserIdTest() { + // TODO: test assignedToUserId + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'dueDate' + */ + @Test + public void dueDateTest() { + // TODO: test dueDate + } + + /** + * Test the property 'jiraIssueUrl' + */ + @Test + public void jiraIssueUrlTest() { + // TODO: test jiraIssueUrl + } + + /** + * Test the property 'assignedTo' + */ + @Test + public void assignedToTest() { + // TODO: test assignedTo + } + + /** + * Test the property 'createdBy' + */ + @Test + public void createdByTest() { + // TODO: test createdBy + } + + /** + * Test the property 'createdAt' + */ + @Test + public void createdAtTest() { + // TODO: test createdAt + } + + /** + * Test the property 'updatedAt' + */ + @Test + public void updatedAtTest() { + // TODO: test updatedAt + } + +} diff --git a/src/test/java/com/rootly/client/model/ProblemListTest.java b/src/test/java/com/rootly/client/model/ProblemListTest.java new file mode 100644 index 00000000..871ce289 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemListTest.java @@ -0,0 +1,78 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.ProblemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ProblemList + */ +public class ProblemListTest { + private final ProblemList model = new ProblemList(); + + /** + * Model tests for ProblemList + */ + @Test + public void testProblemList() { + // TODO: test ProblemList + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'links' + */ + @Test + public void linksTest() { + // TODO: test links + } + + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + + /** + * Test the property 'included' + */ + @Test + public void includedTest() { + // TODO: test included + } + +} diff --git a/src/test/java/com/rootly/client/model/ProblemResponseDataTest.java b/src/test/java/com/rootly/client/model/ProblemResponseDataTest.java new file mode 100644 index 00000000..3eb47943 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemResponseDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.Problem; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ProblemResponseData + */ +public class ProblemResponseDataTest { + private final ProblemResponseData model = new ProblemResponseData(); + + /** + * Model tests for ProblemResponseData + */ + @Test + public void testProblemResponseData() { + // TODO: test ProblemResponseData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/ProblemResponseTest.java b/src/test/java/com/rootly/client/model/ProblemResponseTest.java new file mode 100644 index 00000000..7465f281 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemResponseTest.java @@ -0,0 +1,60 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.ProblemResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ProblemResponse + */ +public class ProblemResponseTest { + private final ProblemResponse model = new ProblemResponse(); + + /** + * Model tests for ProblemResponse + */ + @Test + public void testProblemResponse() { + // TODO: test ProblemResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'included' + */ + @Test + public void includedTest() { + // TODO: test included + } + +} diff --git a/src/test/java/com/rootly/client/model/ProblemTest.java b/src/test/java/com/rootly/client/model/ProblemTest.java new file mode 100644 index 00000000..38789e33 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ProblemTest.java @@ -0,0 +1,324 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for Problem + */ +public class ProblemTest { + private final Problem model = new Problem(); + + /** + * Model tests for Problem + */ + @Test + public void testProblem() { + // TODO: test Problem + } + + /** + * Test the property 'sequentialId' + */ + @Test + public void sequentialIdTest() { + // TODO: test sequentialId + } + + /** + * Test the property 'displayId' + */ + @Test + public void displayIdTest() { + // TODO: test displayId + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'ownerUserId' + */ + @Test + public void ownerUserIdTest() { + // TODO: test ownerUserId + } + + /** + * Test the property 'ownerGroupId' + */ + @Test + public void ownerGroupIdTest() { + // TODO: test ownerGroupId + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'dueDate' + */ + @Test + public void dueDateTest() { + // TODO: test dueDate + } + + /** + * Test the property 'scope' + */ + @Test + public void scopeTest() { + // TODO: test scope + } + + /** + * Test the property 'exitCriteria' + */ + @Test + public void exitCriteriaTest() { + // TODO: test exitCriteria + } + + /** + * Test the property 'impactSoFar' + */ + @Test + public void impactSoFarTest() { + // TODO: test impactSoFar + } + + /** + * Test the property 'rootCause' + */ + @Test + public void rootCauseTest() { + // TODO: test rootCause + } + + /** + * Test the property 'resolution' + */ + @Test + public void resolutionTest() { + // TODO: test resolution + } + + /** + * Test the property 'deferralReason' + */ + @Test + public void deferralReasonTest() { + // TODO: test deferralReason + } + + /** + * Test the property 'cancellationReason' + */ + @Test + public void cancellationReasonTest() { + // TODO: test cancellationReason + } + + /** + * Test the property 'nextReviewAt' + */ + @Test + public void nextReviewAtTest() { + // TODO: test nextReviewAt + } + + /** + * Test the property 'reReviewCadence' + */ + @Test + public void reReviewCadenceTest() { + // TODO: test reReviewCadence + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'createdByUserId' + */ + @Test + public void createdByUserIdTest() { + // TODO: test createdByUserId + } + + /** + * Test the property 'inProgressByUserId' + */ + @Test + public void inProgressByUserIdTest() { + // TODO: test inProgressByUserId + } + + /** + * Test the property 'completedByUserId' + */ + @Test + public void completedByUserIdTest() { + // TODO: test completedByUserId + } + + /** + * Test the property 'deferredByUserId' + */ + @Test + public void deferredByUserIdTest() { + // TODO: test deferredByUserId + } + + /** + * Test the property 'cancelledByUserId' + */ + @Test + public void cancelledByUserIdTest() { + // TODO: test cancelledByUserId + } + + /** + * Test the property 'inProgressAt' + */ + @Test + public void inProgressAtTest() { + // TODO: test inProgressAt + } + + /** + * Test the property 'completedAt' + */ + @Test + public void completedAtTest() { + // TODO: test completedAt + } + + /** + * Test the property 'deferredAt' + */ + @Test + public void deferredAtTest() { + // TODO: test deferredAt + } + + /** + * Test the property 'cancelledAt' + */ + @Test + public void cancelledAtTest() { + // TODO: test cancelledAt + } + + /** + * Test the property 'incidentIds' + */ + @Test + public void incidentIdsTest() { + // TODO: test incidentIds + } + + /** + * Test the property 'incidentsCount' + */ + @Test + public void incidentsCountTest() { + // TODO: test incidentsCount + } + + /** + * Test the property 'actionItemsCount' + */ + @Test + public void actionItemsCountTest() { + // TODO: test actionItemsCount + } + + /** + * Test the property 'subscribersCount' + */ + @Test + public void subscribersCountTest() { + // TODO: test subscribersCount + } + + /** + * Test the property 'usersAssignedCount' + */ + @Test + public void usersAssignedCountTest() { + // TODO: test usersAssignedCount + } + + /** + * Test the property 'url' + */ + @Test + public void urlTest() { + // TODO: test url + } + + /** + * Test the property 'createdAt' + */ + @Test + public void createdAtTest() { + // TODO: test createdAt + } + + /** + * Test the property 'updatedAt' + */ + @Test + public void updatedAtTest() { + // TODO: test updatedAt + } + +} diff --git a/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java index be41f4b0..11525097 100644 --- a/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java @@ -22,7 +22,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -121,6 +123,38 @@ public void statusPageIdsTest() { // TODO: test statusPageIds } + /** + * Test the property 'selectedComponentKeys' + */ + @Test + public void selectedComponentKeysTest() { + // TODO: test selectedComponentKeys + } + + /** + * Test the property 'selectedComponentStatuses' + */ + @Test + public void selectedComponentStatusesTest() { + // TODO: test selectedComponentStatuses + } + + /** + * Test the property 'syncIncidentComponents' + */ + @Test + public void syncIncidentComponentsTest() { + // TODO: test syncIncidentComponents + } + + /** + * Test the property 'syncedComponentStatus' + */ + @Test + public void syncedComponentStatusTest() { + // TODO: test syncedComponentStatus + } + /** * Test the property 'integrationPayload' */ diff --git a/src/test/java/com/rootly/client/model/PulseLabelsInnerTest.java b/src/test/java/com/rootly/client/model/PulseLabelsInnerTest.java new file mode 100644 index 00000000..8605aa81 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PulseLabelsInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PulseLabelsInner + */ +public class PulseLabelsInnerTest { + private final PulseLabelsInner model = new PulseLabelsInner(); + + /** + * Model tests for PulseLabelsInner + */ + @Test + public void testPulseLabelsInner() { + // TODO: test PulseLabelsInner + } + + /** + * Test the property 'key' + */ + @Test + public void keyTest() { + // TODO: test key + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/com/rootly/client/model/PulseRefsInnerTest.java b/src/test/java/com/rootly/client/model/PulseRefsInnerTest.java new file mode 100644 index 00000000..85de0ed6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PulseRefsInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PulseRefsInner + */ +public class PulseRefsInnerTest { + private final PulseRefsInner model = new PulseRefsInner(); + + /** + * Model tests for PulseRefsInner + */ + @Test + public void testPulseRefsInner() { + // TODO: test PulseRefsInner + } + + /** + * Test the property 'key' + */ + @Test + public void keyTest() { + // TODO: test key + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/com/rootly/client/model/PulseTest.java b/src/test/java/com/rootly/client/model/PulseTest.java index 01b003af..4209444b 100644 --- a/src/test/java/com/rootly/client/model/PulseTest.java +++ b/src/test/java/com/rootly/client/model/PulseTest.java @@ -19,8 +19,8 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Environment; -import com.rootly.client.model.NewPulseDataAttributesLabelsInner; -import com.rootly.client.model.NewPulseDataAttributesRefsInner; +import com.rootly.client.model.PulseLabelsInner; +import com.rootly.client.model.PulseRefsInner; import com.rootly.client.model.Service; import java.io.IOException; import java.util.ArrayList; diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf7Test.java b/src/test/java/com/rootly/client/model/RelatedIncidentsTest.java similarity index 87% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf7Test.java rename to src/test/java/com/rootly/client/model/RelatedIncidentsTest.java index 4695dd40..bc4add9d 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf7Test.java +++ b/src/test/java/com/rootly/client/model/RelatedIncidentsTest.java @@ -24,17 +24,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + * Model tests for RelatedIncidents */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf7Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf7(); +public class RelatedIncidentsTest { + private final RelatedIncidents model = new RelatedIncidents(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + * Model tests for RelatedIncidents */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf7() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf7 + public void testRelatedIncidents() { + // TODO: test RelatedIncidents } /** diff --git a/src/test/java/com/rootly/client/model/RemoveFromSlackChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/RemoveFromSlackChannelTaskParamsTest.java new file mode 100644 index 00000000..25e984c6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/RemoveFromSlackChannelTaskParamsTest.java @@ -0,0 +1,64 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for RemoveFromSlackChannelTaskParams + */ +public class RemoveFromSlackChannelTaskParamsTest { + private final RemoveFromSlackChannelTaskParams model = new RemoveFromSlackChannelTaskParams(); + + /** + * Model tests for RemoveFromSlackChannelTaskParams + */ + @Test + public void testRemoveFromSlackChannelTaskParams() { + // TODO: test RemoveFromSlackChannelTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'targetKind' + */ + @Test + public void targetKindTest() { + // TODO: test targetKind + } + + /** + * Test the property 'dryRun' + */ + @Test + public void dryRunTest() { + // TODO: test dryRun + } + +} diff --git a/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java index 965ec546..bf110d68 100644 --- a/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java @@ -62,4 +62,20 @@ public void titleTest() { // TODO: test title } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java index 487d158f..9a878948 100644 --- a/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import java.io.IOException; import java.util.Arrays; import org.openapitools.jackson.nullable.JsonNullable; @@ -54,4 +55,12 @@ public void resolveRelatedIncidentsTest() { // TODO: test resolveRelatedIncidents } + /** + * Test the property 'actor' + */ + @Test + public void actorTest() { + // TODO: test actor + } + } diff --git a/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java b/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java index b8c313a6..af68f164 100644 --- a/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java @@ -38,6 +38,14 @@ public void testResolveIncidentData() { // TODO: test ResolveIncidentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java b/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java index ea677f89..d7840aa2 100644 --- a/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java @@ -37,6 +37,14 @@ public void testRestartIncidentData() { // TODO: test RestartIncidentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/RoleTest.java b/src/test/java/com/rootly/client/model/RoleTest.java index 5a18c1dc..c8218d7f 100644 --- a/src/test/java/com/rootly/client/model/RoleTest.java +++ b/src/test/java/com/rootly/client/model/RoleTest.java @@ -272,6 +272,14 @@ public void statusPagesPermissionsTest() { // TODO: test statusPagesPermissions } + /** + * Test the property 'statusPageUpdatesPermissions' + */ + @Test + public void statusPageUpdatesPermissionsTest() { + // TODO: test statusPageUpdatesPermissions + } + /** * Test the property 'webhooksPermissions' */ @@ -312,6 +320,14 @@ public void edgeConnectorPermissionsTest() { // TODO: test edgeConnectorPermissions } + /** + * Test the property 'privateAgentPermissions' + */ + @Test + public void privateAgentPermissionsTest() { + // TODO: test privateAgentPermissions + } + /** * Test the property 'slasPermissions' */ diff --git a/src/test/java/com/rootly/client/model/ScheduleBusinessHoursTest.java b/src/test/java/com/rootly/client/model/ScheduleBusinessHoursTest.java new file mode 100644 index 00000000..16a3683d --- /dev/null +++ b/src/test/java/com/rootly/client/model/ScheduleBusinessHoursTest.java @@ -0,0 +1,64 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ScheduleBusinessHours + */ +public class ScheduleBusinessHoursTest { + private final ScheduleBusinessHours model = new ScheduleBusinessHours(); + + /** + * Model tests for ScheduleBusinessHours + */ + @Test + public void testScheduleBusinessHours() { + // TODO: test ScheduleBusinessHours + } + + /** + * Test the property 'startTime' + */ + @Test + public void startTimeTest() { + // TODO: test startTime + } + + /** + * Test the property 'endTime' + */ + @Test + public void endTimeTest() { + // TODO: test endTime + } + + /** + * Test the property 'includeWeekends' + */ + @Test + public void includeWeekendsTest() { + // TODO: test includeWeekends + } + +} diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInnerTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInnerTest.java new file mode 100644 index 00000000..59659516 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayActiveTimeAttributesInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ScheduleRotationActiveDayActiveTimeAttributesInner + */ +public class ScheduleRotationActiveDayActiveTimeAttributesInnerTest { + private final ScheduleRotationActiveDayActiveTimeAttributesInner model = new ScheduleRotationActiveDayActiveTimeAttributesInner(); + + /** + * Model tests for ScheduleRotationActiveDayActiveTimeAttributesInner + */ + @Test + public void testScheduleRotationActiveDayActiveTimeAttributesInner() { + // TODO: test ScheduleRotationActiveDayActiveTimeAttributesInner + } + + /** + * Test the property 'startTime' + */ + @Test + public void startTimeTest() { + // TODO: test startTime + } + + /** + * Test the property 'endTime' + */ + @Test + public void endTimeTest() { + // TODO: test endTime + } + +} diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java index b76bdeb3..9b2ea648 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java @@ -18,7 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner; +import com.rootly.client.model.ScheduleRotationActiveDayActiveTimeAttributesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInnerTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInnerTest.java new file mode 100644 index 00000000..86c3a6d5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveTimeAttributesInnerTest.java @@ -0,0 +1,56 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ScheduleRotationActiveTimeAttributesInner + */ +public class ScheduleRotationActiveTimeAttributesInnerTest { + private final ScheduleRotationActiveTimeAttributesInner model = new ScheduleRotationActiveTimeAttributesInner(); + + /** + * Model tests for ScheduleRotationActiveTimeAttributesInner + */ + @Test + public void testScheduleRotationActiveTimeAttributesInner() { + // TODO: test ScheduleRotationActiveTimeAttributesInner + } + + /** + * Test the property 'startTime' + */ + @Test + public void startTimeTest() { + // TODO: test startTime + } + + /** + * Test the property 'endTime' + */ + @Test + public void endTimeTest() { + // TODO: test endTime + } + +} diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationTest.java index 76cf3246..32f11f18 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationTest.java @@ -18,8 +18,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; +import com.rootly.client.model.ScheduleRotationActiveTimeAttributesInner; import java.io.IOException; import java.time.OffsetDateTime; import java.util.ArrayList; diff --git a/src/test/java/com/rootly/client/model/ScheduleTest.java b/src/test/java/com/rootly/client/model/ScheduleTest.java index 8fa252d1..b0341b75 100644 --- a/src/test/java/com/rootly/client/model/ScheduleTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.ScheduleBusinessHours; import com.rootly.client.model.ScheduleSlackChannel; import com.rootly.client.model.ScheduleSlackUserGroup; import java.io.IOException; @@ -66,6 +67,14 @@ public void allTimeCoverageTest() { // TODO: test allTimeCoverage } + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + /** * Test the property 'slackUserGroup' */ @@ -162,6 +171,14 @@ public void shiftReportTimeZoneTest() { // TODO: test shiftReportTimeZone } + /** + * Test the property 'businessHours' + */ + @Test + public void businessHoursTest() { + // TODO: test businessHours + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/SecretTest.java b/src/test/java/com/rootly/client/model/SecretTest.java index 617db91e..ffd29700 100644 --- a/src/test/java/com/rootly/client/model/SecretTest.java +++ b/src/test/java/com/rootly/client/model/SecretTest.java @@ -19,7 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -78,6 +80,14 @@ public void hashicorpVaultVersionTest() { // TODO: test hashicorpVaultVersion } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/ServiceTest.java b/src/test/java/com/rootly/client/model/ServiceTest.java index 0fad50f3..d70014a6 100644 --- a/src/test/java/com/rootly/client/model/ServiceTest.java +++ b/src/test/java/com/rootly/client/model/ServiceTest.java @@ -18,16 +18,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; -import com.rootly.client.model.ServiceAlertBroadcastChannel; -import com.rootly.client.model.ServiceIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -46,163 +40,11 @@ public void testService() { } /** - * Test the property 'name' + * Test the property 'ruleType' */ @Test - public void nameTest() { - // TODO: test name - } - - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - - /** - * Test the property 'managedBy' - */ - @Test - public void managedByTest() { - // TODO: test managedBy - } - - /** - * Test the property 'description' - */ - @Test - public void descriptionTest() { - // TODO: test description - } - - /** - * Test the property 'publicDescription' - */ - @Test - public void publicDescriptionTest() { - // TODO: test publicDescription - } - - /** - * Test the property 'notifyEmails' - */ - @Test - public void notifyEmailsTest() { - // TODO: test notifyEmails - } - - /** - * Test the property 'color' - */ - @Test - public void colorTest() { - // TODO: test color - } - - /** - * Test the property 'position' - */ - @Test - public void positionTest() { - // TODO: test position - } - - /** - * Test the property 'backstageId' - */ - @Test - public void backstageIdTest() { - // TODO: test backstageId - } - - /** - * Test the property 'externalId' - */ - @Test - public void externalIdTest() { - // TODO: test externalId - } - - /** - * Test the property 'pagerdutyId' - */ - @Test - public void pagerdutyIdTest() { - // TODO: test pagerdutyId - } - - /** - * Test the property 'opsgenieId' - */ - @Test - public void opsgenieIdTest() { - // TODO: test opsgenieId - } - - /** - * Test the property 'cortexId' - */ - @Test - public void cortexIdTest() { - // TODO: test cortexId - } - - /** - * Test the property 'serviceNowCiSysId' - */ - @Test - public void serviceNowCiSysIdTest() { - // TODO: test serviceNowCiSysId - } - - /** - * Test the property 'githubRepositoryName' - */ - @Test - public void githubRepositoryNameTest() { - // TODO: test githubRepositoryName - } - - /** - * Test the property 'githubRepositoryBranch' - */ - @Test - public void githubRepositoryBranchTest() { - // TODO: test githubRepositoryBranch - } - - /** - * Test the property 'gitlabRepositoryName' - */ - @Test - public void gitlabRepositoryNameTest() { - // TODO: test gitlabRepositoryName - } - - /** - * Test the property 'gitlabRepositoryBranch' - */ - @Test - public void gitlabRepositoryBranchTest() { - // TODO: test gitlabRepositoryBranch - } - - /** - * Test the property 'kubernetesDeploymentName' - */ - @Test - public void kubernetesDeploymentNameTest() { - // TODO: test kubernetesDeploymentName - } - - /** - * Test the property 'environmentIds' - */ - @Test - public void environmentIdsTest() { - // TODO: test environmentIds + public void ruleTypeTest() { + // TODO: test ruleType } /** @@ -214,123 +56,11 @@ public void serviceIdsTest() { } /** - * Test the property 'ownerGroupIds' - */ - @Test - public void ownerGroupIdsTest() { - // TODO: test ownerGroupIds - } - - /** - * Test the property 'ownerUserIds' - */ - @Test - public void ownerUserIdsTest() { - // TODO: test ownerUserIds - } - - /** - * Test the property 'alertUrgencyId' - */ - @Test - public void alertUrgencyIdTest() { - // TODO: test alertUrgencyId - } - - /** - * Test the property 'escalationPolicyId' - */ - @Test - public void escalationPolicyIdTest() { - // TODO: test escalationPolicyId - } - - /** - * Test the property 'alertsEmailEnabled' - */ - @Test - public void alertsEmailEnabledTest() { - // TODO: test alertsEmailEnabled - } - - /** - * Test the property 'alertsEmailAddress' - */ - @Test - public void alertsEmailAddressTest() { - // TODO: test alertsEmailAddress - } - - /** - * Test the property 'slackChannels' - */ - @Test - public void slackChannelsTest() { - // TODO: test slackChannels - } - - /** - * Test the property 'slackAliases' - */ - @Test - public void slackAliasesTest() { - // TODO: test slackAliases - } - - /** - * Test the property 'alertBroadcastEnabled' - */ - @Test - public void alertBroadcastEnabledTest() { - // TODO: test alertBroadcastEnabled - } - - /** - * Test the property 'alertBroadcastChannel' - */ - @Test - public void alertBroadcastChannelTest() { - // TODO: test alertBroadcastChannel - } - - /** - * Test the property 'incidentBroadcastEnabled' - */ - @Test - public void incidentBroadcastEnabledTest() { - // TODO: test incidentBroadcastEnabled - } - - /** - * Test the property 'incidentBroadcastChannel' - */ - @Test - public void incidentBroadcastChannelTest() { - // TODO: test incidentBroadcastChannel - } - - /** - * Test the property 'properties' - */ - @Test - public void propertiesTest() { - // TODO: test properties - } - - /** - * Test the property 'createdAt' - */ - @Test - public void createdAtTest() { - // TODO: test createdAt - } - - /** - * Test the property 'updatedAt' + * Test the property 'operator' */ @Test - public void updatedAtTest() { - // TODO: test updatedAt + public void operatorTest() { + // TODO: test operator } } diff --git a/src/test/java/com/rootly/client/model/SeverityTest.java b/src/test/java/com/rootly/client/model/SeverityTest.java index b226d65b..9d34cfce 100644 --- a/src/test/java/com/rootly/client/model/SeverityTest.java +++ b/src/test/java/com/rootly/client/model/SeverityTest.java @@ -18,8 +18,8 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/ShiftTest.java b/src/test/java/com/rootly/client/model/ShiftTest.java index 3a64a362..1841a440 100644 --- a/src/test/java/com/rootly/client/model/ShiftTest.java +++ b/src/test/java/com/rootly/client/model/ShiftTest.java @@ -18,8 +18,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.OverriddenShift; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -94,4 +97,12 @@ public void userIdTest() { // TODO: test userId } + /** + * Test the property 'overriddenShifts' + */ + @Test + public void overriddenShiftsTest() { + // TODO: test overriddenShifts + } + } diff --git a/src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java index c529f41e..90e6c76e 100644 --- a/src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java @@ -18,8 +18,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import java.io.IOException; import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -45,4 +47,12 @@ public void delayMinutesTest() { // TODO: test delayMinutes } + /** + * Test the property 'actor' + */ + @Test + public void actorTest() { + // TODO: test actor + } + } diff --git a/src/test/java/com/rootly/client/model/StatusPageTeamListTest.java b/src/test/java/com/rootly/client/model/StatusPageTeamListTest.java new file mode 100644 index 00000000..5245c837 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusPageTeamListTest.java @@ -0,0 +1,78 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.StatusPageTeamResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for StatusPageTeamList + */ +public class StatusPageTeamListTest { + private final StatusPageTeamList model = new StatusPageTeamList(); + + /** + * Model tests for StatusPageTeamList + */ + @Test + public void testStatusPageTeamList() { + // TODO: test StatusPageTeamList + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'links' + */ + @Test + public void linksTest() { + // TODO: test links + } + + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + + /** + * Test the property 'included' + */ + @Test + public void includedTest() { + // TODO: test included + } + +} diff --git a/src/test/java/com/rootly/client/model/StatusPageTeamResponseDataTest.java b/src/test/java/com/rootly/client/model/StatusPageTeamResponseDataTest.java new file mode 100644 index 00000000..77a36bb3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusPageTeamResponseDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.StatusPageTeam; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for StatusPageTeamResponseData + */ +public class StatusPageTeamResponseDataTest { + private final StatusPageTeamResponseData model = new StatusPageTeamResponseData(); + + /** + * Model tests for StatusPageTeamResponseData + */ + @Test + public void testStatusPageTeamResponseData() { + // TODO: test StatusPageTeamResponseData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/StatusPageTeamResponseTest.java b/src/test/java/com/rootly/client/model/StatusPageTeamResponseTest.java new file mode 100644 index 00000000..f4378ff7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusPageTeamResponseTest.java @@ -0,0 +1,60 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.JsonapiIncludedResource; +import com.rootly.client.model.StatusPageTeamResponseData; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for StatusPageTeamResponse + */ +public class StatusPageTeamResponseTest { + private final StatusPageTeamResponse model = new StatusPageTeamResponse(); + + /** + * Model tests for StatusPageTeamResponse + */ + @Test + public void testStatusPageTeamResponse() { + // TODO: test StatusPageTeamResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + + /** + * Test the property 'included' + */ + @Test + public void includedTest() { + // TODO: test included + } + +} diff --git a/src/test/java/com/rootly/client/model/StatusPageTeamTest.java b/src/test/java/com/rootly/client/model/StatusPageTeamTest.java new file mode 100644 index 00000000..40b33241 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusPageTeamTest.java @@ -0,0 +1,82 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for StatusPageTeam + */ +public class StatusPageTeamTest { + private final StatusPageTeam model = new StatusPageTeam(); + + /** + * Model tests for StatusPageTeam + */ + @Test + public void testStatusPageTeam() { + // TODO: test StatusPageTeam + } + + /** + * Test the property 'statusPageId' + */ + @Test + public void statusPageIdTest() { + // TODO: test statusPageId + } + + /** + * Test the property 'groupId' + */ + @Test + public void groupIdTest() { + // TODO: test groupId + } + + /** + * Test the property 'permissionLevel' + */ + @Test + public void permissionLevelTest() { + // TODO: test permissionLevel + } + + /** + * Test the property 'createdAt' + */ + @Test + public void createdAtTest() { + // TODO: test createdAt + } + + /** + * Test the property 'updatedAt' + */ + @Test + public void updatedAtTest() { + // TODO: test updatedAt + } + +} diff --git a/src/test/java/com/rootly/client/model/TeamTest.java b/src/test/java/com/rootly/client/model/TeamTest.java index 1b7f188a..0e587f54 100644 --- a/src/test/java/com/rootly/client/model/TeamTest.java +++ b/src/test/java/com/rootly/client/model/TeamTest.java @@ -18,9 +18,9 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.EnvironmentSlackAliasesInner; +import com.rootly.client.model.EnvironmentSlackChannelsInner; import com.rootly.client.model.NewCauseDataAttributesPropertiesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; -import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import com.rootly.client.model.ServiceAlertBroadcastChannel; import com.rootly.client.model.ServiceIncidentBroadcastChannel; import java.io.IOException; @@ -181,6 +181,14 @@ public void serviceNowCiSysIdTest() { // TODO: test serviceNowCiSysId } + /** + * Test the property 'scimGroupId' + */ + @Test + public void scimGroupIdTest() { + // TODO: test scimGroupId + } + /** * Test the property 'userIds' */ @@ -285,6 +293,14 @@ public void autoAddMembersScopeTest() { // TODO: test autoAddMembersScope } + /** + * Test the property 'scheduleOverridePolicy' + */ + @Test + public void scheduleOverridePolicyTest() { + // TODO: test scheduleOverridePolicy + } + /** * Test the property 'properties' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgmentTest.java b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgmentTest.java new file mode 100644 index 00000000..e6b3b95d --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesAlertAcknowledgmentTest.java @@ -0,0 +1,64 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertConfigurationDataAttributesAlertAcknowledgment + */ +public class UpdateAlertConfigurationDataAttributesAlertAcknowledgmentTest { + private final UpdateAlertConfigurationDataAttributesAlertAcknowledgment model = new UpdateAlertConfigurationDataAttributesAlertAcknowledgment(); + + /** + * Model tests for UpdateAlertConfigurationDataAttributesAlertAcknowledgment + */ + @Test + public void testUpdateAlertConfigurationDataAttributesAlertAcknowledgment() { + // TODO: test UpdateAlertConfigurationDataAttributesAlertAcknowledgment + } + + /** + * Test the property 'timeoutEnabled' + */ + @Test + public void timeoutEnabledTest() { + // TODO: test timeoutEnabled + } + + /** + * Test the property 'timeoutMinutes' + */ + @Test + public void timeoutMinutesTest() { + // TODO: test timeoutMinutes + } + + /** + * Test the property 'retriggerManualAlerts' + */ + @Test + public void retriggerManualAlertsTest() { + // TODO: test retriggerManualAlerts + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettingsTest.java b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettingsTest.java new file mode 100644 index 00000000..3da8bae3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettingsTest.java @@ -0,0 +1,58 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.Set; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + */ +public class UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettingsTest { + private final UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings model = new UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings(); + + /** + * Model tests for UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + */ + @Test + public void testUpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings() { + // TODO: test UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings + } + + /** + * Test the property 'audibleContactTypes' + */ + @Test + public void audibleContactTypesTest() { + // TODO: test audibleContactTypes + } + + /** + * Test the property 'quietContactTypes' + */ + @Test + public void quietContactTypesTest() { + // TODO: test quietContactTypes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesTest.java new file mode 100644 index 00000000..deccdc51 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataAttributesTest.java @@ -0,0 +1,77 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesAlertAcknowledgment; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributesDefaultUserNotificationSettings; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertConfigurationDataAttributes + */ +public class UpdateAlertConfigurationDataAttributesTest { + private final UpdateAlertConfigurationDataAttributes model = new UpdateAlertConfigurationDataAttributes(); + + /** + * Model tests for UpdateAlertConfigurationDataAttributes + */ + @Test + public void testUpdateAlertConfigurationDataAttributes() { + // TODO: test UpdateAlertConfigurationDataAttributes + } + + /** + * Test the property 'alertAcknowledgment' + */ + @Test + public void alertAcknowledgmentTest() { + // TODO: test alertAcknowledgment + } + + /** + * Test the property 'manualPagingFormSettings' + */ + @Test + public void manualPagingFormSettingsTest() { + // TODO: test manualPagingFormSettings + } + + /** + * Test the property 'manualPagingUrgencyIds' + */ + @Test + public void manualPagingUrgencyIdsTest() { + // TODO: test manualPagingUrgencyIds + } + + /** + * Test the property 'defaultUserNotificationSettings' + */ + @Test + public void defaultUserNotificationSettingsTest() { + // TODO: test defaultUserNotificationSettings + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataTest.java new file mode 100644 index 00000000..6d32f688 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertConfigurationData + */ +public class UpdateAlertConfigurationDataTest { + private final UpdateAlertConfigurationData model = new UpdateAlertConfigurationData(); + + /** + * Model tests for UpdateAlertConfigurationData + */ + @Test + public void testUpdateAlertConfigurationData() { + // TODO: test UpdateAlertConfigurationData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertConfigurationTest.java b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationTest.java new file mode 100644 index 00000000..29e7a348 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertConfigurationTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateAlertConfigurationData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertConfiguration + */ +public class UpdateAlertConfigurationTest { + private final UpdateAlertConfiguration model = new UpdateAlertConfiguration(); + + /** + * Model tests for UpdateAlertConfiguration + */ + @Test + public void testUpdateAlertConfiguration() { + // TODO: test UpdateAlertConfiguration + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java index a302984f..f8e25909 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewAlertDataAttributesActor; import com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import java.io.IOException; @@ -43,6 +44,14 @@ public void testUpdateAlertDataAttributes() { // TODO: test UpdateAlertDataAttributes } + /** + * Test the property 'actor' + */ + @Test + public void actorTest() { + // TODO: test actor + } + /** * Test the property 'noise' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java index a1f53fc3..da666f3a 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertData() { // TODO: test UpdateAlertData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java index d09f37b3..969b7c2f 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertEventData() { // TODO: test UpdateAlertEventData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java index e221f2c5..64c74a82 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java @@ -19,7 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -54,4 +56,12 @@ public void nameTest() { // TODO: test name } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java index 27a095df..2104eaca 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertFieldData() { // TODO: test UpdateAlertFieldData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java index f716d85d..af44da78 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -75,6 +76,14 @@ public void timeWindowTest() { // TODO: test timeWindow } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'targets' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java index c0a7aa99..953ae43a 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertGroupData() { // TODO: test UpdateAlertGroupData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java index d40a7d42..35da2c6f 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertRouteData() { // TODO: test UpdateAlertRouteData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java index 6b75139d..311ce858 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertRoutingRuleData() { // TODO: test UpdateAlertRoutingRuleData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java index 3db4f612..d6f78b2f 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertUrgencyData() { // TODO: test UpdateAlertUrgencyData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java new file mode 100644 index 00000000..c7ceb076 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ +public class UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest { + private final UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner model = new UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner(); + + /** + * Model tests for UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ + @Test + public void testUpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner() { + // TODO: test UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + } + + /** + * Test the property 'alertFieldId' + */ + @Test + public void alertFieldIdTest() { + // TODO: test alertFieldId + } + + /** + * Test the property 'templateBody' + */ + @Test + public void templateBodyTest() { + // TODO: test templateBody + } + + /** + * Test the property 'destroy' + */ + @Test + public void destroyTest() { + // TODO: test destroy + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java index 1efbf4d2..5161c35c 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java @@ -18,11 +18,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesSourceableAttributes; +import com.rootly.client.model.UpdateAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java index 200a3c2b..c8a9d981 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAlertsSourceData() { // TODO: test UpdateAlertsSourceData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java b/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java index d5957110..370e5453 100644 --- a/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java @@ -38,6 +38,14 @@ public void testUpdateApiKeyData() { // TODO: test UpdateApiKeyData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java b/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java index d0ffd726..e2fefd32 100644 --- a/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java @@ -38,6 +38,14 @@ public void testUpdateAuthorizationData() { // TODO: test UpdateAuthorizationData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java index 63cae73f..bb6fe107 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCatalogChecklistTemplateData() { // TODO: test UpdateCatalogChecklistTemplateData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java index 1347c955..ebd9b34c 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCatalogData() { // TODO: test UpdateCatalogData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java index ee1731f1..252e211f 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCatalogEntityData() { // TODO: test UpdateCatalogEntityData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java index 9080afbc..d12d7312 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCatalogEntityPropertyData() { // TODO: test UpdateCatalogEntityPropertyData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java index 224be3af..68cbd3fc 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCatalogFieldData() { // TODO: test UpdateCatalogFieldData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java index 2d575e5e..5eb3d329 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCatalogPropertyData() { // TODO: test UpdateCatalogPropertyData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java b/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java index a50a5826..3414b422 100644 --- a/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCauseData() { // TODO: test UpdateCauseData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java index 607f0d5f..ac0483a3 100644 --- a/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCommunicationsGroupData() { // TODO: test UpdateCommunicationsGroupData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java index 63a4aa77..ec3cf2a9 100644 --- a/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCommunicationsStageData() { // TODO: test UpdateCommunicationsStageData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java index 536a18c4..9e9158fd 100644 --- a/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCommunicationsTemplateData() { // TODO: test UpdateCommunicationsTemplateData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java index fce8a7ef..e5ddfc4b 100644 --- a/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCommunicationsTypeData() { // TODO: test UpdateCommunicationsTypeData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java index e3b7c2fa..6c292358 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCustomFieldData() { // TODO: test UpdateCustomFieldData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java index 85765a32..d149825d 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCustomFieldOptionData() { // TODO: test UpdateCustomFieldOptionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java index 728e84e3..82a404d2 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java @@ -38,6 +38,14 @@ public void testUpdateCustomFormData() { // TODO: test UpdateCustomFormData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java index cd04cb13..fcdb59e8 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java @@ -38,6 +38,14 @@ public void testUpdateDashboardData() { // TODO: test UpdateDashboardData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java index 88b410e6..49ee6089 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java @@ -38,6 +38,14 @@ public void testUpdateDashboardPanelData() { // TODO: test UpdateDashboardPanelData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnectorTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnectorTest.java index 2e8b4a83..e5fc991d 100644 --- a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnectorTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorEdgeConnectorTest.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -71,4 +72,12 @@ public void subscriptionsTest() { // TODO: test subscriptions } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java index 374f1de5..f682688d 100644 --- a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -71,6 +72,14 @@ public void subscriptionsTest() { // TODO: test subscriptions } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + /** * Test the property 'filters' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java b/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java index 340b3fd7..37cdbe54 100644 --- a/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java @@ -38,6 +38,14 @@ public void testUpdateEnvironmentData() { // TODO: test UpdateEnvironmentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java index 940da724..1254324f 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java @@ -38,6 +38,14 @@ public void testUpdateEscalationPolicyData() { // TODO: test UpdateEscalationPolicyData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java index 14fca18f..d2347506 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java @@ -38,6 +38,14 @@ public void testUpdateEscalationPolicyLevelData() { // TODO: test UpdateEscalationPolicyLevelData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java index 83805019..d37164f4 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java @@ -18,15 +18,15 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf2; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf3; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf4; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf6; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerOneOf7; +import com.rootly.client.model.AlertField; +import com.rootly.client.model.AlertSource; +import com.rootly.client.model.AlertUrgency; +import com.rootly.client.model.DeferralWindow; +import com.rootly.client.model.DeferralWindowTimeBlocksInner; +import com.rootly.client.model.JSONPath; +import com.rootly.client.model.RelatedIncidents; +import com.rootly.client.model.Service; +import com.rootly.client.model.WorkingHours; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -65,6 +65,14 @@ public void urgencyIdsTest() { // TODO: test urgencyIds } + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + /** * Test the property 'withinWorkingHour' */ @@ -81,14 +89,6 @@ public void jsonPathTest() { // TODO: test jsonPath } - /** - * Test the property 'operator' - */ - @Test - public void operatorTest() { - // TODO: test operator - } - /** * Test the property 'value' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java index 91a6be2c..b56e44e5 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesNotificationTypeRulesInner; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; @@ -146,6 +147,22 @@ public void rulesTest() { // TODO: test rules } + /** + * Test the property 'notificationTypeRules' + */ + @Test + public void notificationTypeRulesTest() { + // TODO: test notificationTypeRules + } + + /** + * Test the property 'notificationTypeFallback' + */ + @Test + public void notificationTypeFallbackTest() { + // TODO: test notificationTypeFallback + } + /** * Test the property 'timeRestrictionTimeZone' */ diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java index f1bc730d..1a279184 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java @@ -38,6 +38,14 @@ public void testUpdateEscalationPolicyPathData() { // TODO: test UpdateEscalationPolicyPathData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java index 334cfa08..eb6658e2 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormFieldData() { // TODO: test UpdateFormFieldData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java index a8f5d932..0b4966ea 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormFieldOptionData() { // TODO: test UpdateFormFieldOptionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java index 057191e5..1581097b 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormFieldPlacementConditionData() { // TODO: test UpdateFormFieldPlacementConditionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java index d0fa7e40..630ff7f8 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormFieldPlacementData() { // TODO: test UpdateFormFieldPlacementData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java index ada8155a..2c5a732a 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormFieldPositionData() { // TODO: test UpdateFormFieldPositionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java index 00320182..205ec8a7 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormSetConditionData() { // TODO: test UpdateFormSetConditionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java index 0d38de0b..4adfa4d9 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFormSetData() { // TODO: test UpdateFormSetData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java b/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java index bc522c81..9ca38643 100644 --- a/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java @@ -38,6 +38,14 @@ public void testUpdateFunctionalityData() { // TODO: test UpdateFunctionalityData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java b/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java index b48498ad..1de8d7a8 100644 --- a/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java @@ -38,6 +38,14 @@ public void testUpdateHeartbeatData() { // TODO: test UpdateHeartbeatData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java index 80d5fc6c..44a71df3 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentActionItemData() { // TODO: test UpdateIncidentActionItemData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java index aa34f5ee..08125c8b 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentCustomFieldSelectionData() { // TODO: test UpdateIncidentCustomFieldSelectionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java index 7554a736..5876919f 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java @@ -256,6 +256,30 @@ public void jiraIssueUrlTest() { // TODO: test jiraIssueUrl } + /** + * Test the property 'linearIssueKey' + */ + @Test + public void linearIssueKeyTest() { + // TODO: test linearIssueKey + } + + /** + * Test the property 'linearIssueId' + */ + @Test + public void linearIssueIdTest() { + // TODO: test linearIssueId + } + + /** + * Test the property 'linearIssueUrl' + */ + @Test + public void linearIssueUrlTest() { + // TODO: test linearIssueUrl + } + /** * Test the property 'scheduledFor' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java index 0805d3d8..002de779 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentData() { // TODO: test UpdateIncidentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java index 0c89ce94..25640c06 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentEventData() { // TODO: test UpdateIncidentEventData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java index 14c12b71..0a1e2463 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentEventFunctionalityData() { // TODO: test UpdateIncidentEventFunctionalityData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java index 3e5d823d..e6386076 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentEventServiceData() { // TODO: test UpdateIncidentEventServiceData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java index ced71c3e..606403b2 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentFeedbackData() { // TODO: test UpdateIncidentFeedbackData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java index 535ea311..5d94c682 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentFormFieldSelectionData() { // TODO: test UpdateIncidentFormFieldSelectionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java index ec3989eb..86e3bcd6 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentPermissionSetBooleanData() { // TODO: test UpdateIncidentPermissionSetBooleanData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java index 8206c648..662d753d 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentPermissionSetData() { // TODO: test UpdateIncidentPermissionSetData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java index 410a1ba4..5d0c4917 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentPermissionSetResourceData() { // TODO: test UpdateIncidentPermissionSetResourceData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java index 5896566b..dd2218d4 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java @@ -48,6 +48,14 @@ public void titleTest() { // TODO: test title } + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + /** * Test the property 'status' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java index 6e7bfc3f..da7664a0 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentPostMortemData() { // TODO: test UpdateIncidentPostMortemData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java index 897325f5..c0d232fd 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentRetrospectiveStepData() { // TODO: test UpdateIncidentRetrospectiveStepData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java index 855a91b1..070281db 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentRoleData() { // TODO: test UpdateIncidentRoleData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java index c32f0b40..50fcb372 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentRoleTaskData() { // TODO: test UpdateIncidentRoleTaskData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java index a440a6f4..351ce993 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentStatusPageEventData() { // TODO: test UpdateIncidentStatusPageEventData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java index 1aabed35..8018fa2a 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentSubStatusData() { // TODO: test UpdateIncidentSubStatusData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java index b095c383..3ff1272c 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java @@ -38,6 +38,14 @@ public void testUpdateIncidentTypeData() { // TODO: test UpdateIncidentTypeData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java index 9855f895..5aed9712 100644 --- a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java @@ -38,6 +38,14 @@ public void testUpdateLiveCallRouterData() { // TODO: test UpdateLiveCallRouterData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java index a34d7731..cda578e4 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java @@ -38,6 +38,14 @@ public void testUpdateOnCallPayReportData() { // TODO: test UpdateOnCallPayReportData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java index b89daab4..d85e7433 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java @@ -200,6 +200,14 @@ public void liveCallRoutingPermissionsTest() { // TODO: test liveCallRoutingPermissions } + /** + * Test the property 'membersPermissions' + */ + @Test + public void membersPermissionsTest() { + // TODO: test membersPermissions + } + /** * Test the property 'scheduleOverridePermissions' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java index 1769dcdc..d611c2b8 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java @@ -38,6 +38,14 @@ public void testUpdateOnCallRoleData() { // TODO: test UpdateOnCallRoleData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java index 81acf6fb..f47e77ae 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java @@ -38,6 +38,14 @@ public void testUpdateOnCallShadowData() { // TODO: test UpdateOnCallShadowData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java b/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java index ac34f244..372df3cd 100644 --- a/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java @@ -38,6 +38,14 @@ public void testUpdateOverrideShiftData() { // TODO: test UpdateOverrideShiftData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java index ab7554f3..a0a32d90 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java @@ -56,6 +56,22 @@ public void summaryTest() { // TODO: test summary } + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + /** * Test the property 'externalUrl' */ @@ -112,4 +128,12 @@ public void incidentTypeIdsTest() { // TODO: test incidentTypeIds } + /** + * Test the property 'causeIds' + */ + @Test + public void causeIdsTest() { + // TODO: test causeIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java index 5b5172c7..70ff55b6 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java @@ -38,6 +38,14 @@ public void testUpdatePlaybookData() { // TODO: test UpdatePlaybookData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java index d467c255..25caf8a7 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java @@ -38,6 +38,14 @@ public void testUpdatePlaybookTaskData() { // TODO: test UpdatePlaybookTaskData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java index ff2145dd..623d1ed5 100644 --- a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java @@ -38,6 +38,14 @@ public void testUpdatePostMortemTemplateData() { // TODO: test UpdatePostMortemTemplateData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateProblemActionItemDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateProblemActionItemDataAttributesTest.java new file mode 100644 index 00000000..99d8dfb8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateProblemActionItemDataAttributesTest.java @@ -0,0 +1,97 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateProblemActionItemDataAttributes + */ +public class UpdateProblemActionItemDataAttributesTest { + private final UpdateProblemActionItemDataAttributes model = new UpdateProblemActionItemDataAttributes(); + + /** + * Model tests for UpdateProblemActionItemDataAttributes + */ + @Test + public void testUpdateProblemActionItemDataAttributes() { + // TODO: test UpdateProblemActionItemDataAttributes + } + + /** + * Test the property 'summary' + */ + @Test + public void summaryTest() { + // TODO: test summary + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'assignedToUserId' + */ + @Test + public void assignedToUserIdTest() { + // TODO: test assignedToUserId + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'dueDate' + */ + @Test + public void dueDateTest() { + // TODO: test dueDate + } + + /** + * Test the property 'jiraIssueUrl' + */ + @Test + public void jiraIssueUrlTest() { + // TODO: test jiraIssueUrl + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateProblemActionItemDataTest.java b/src/test/java/com/rootly/client/model/UpdateProblemActionItemDataTest.java new file mode 100644 index 00000000..d5b72067 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateProblemActionItemDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemActionItemDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateProblemActionItemData + */ +public class UpdateProblemActionItemDataTest { + private final UpdateProblemActionItemData model = new UpdateProblemActionItemData(); + + /** + * Model tests for UpdateProblemActionItemData + */ + @Test + public void testUpdateProblemActionItemData() { + // TODO: test UpdateProblemActionItemData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateProblemActionItemTest.java b/src/test/java/com/rootly/client/model/UpdateProblemActionItemTest.java new file mode 100644 index 00000000..9091a25c --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateProblemActionItemTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemActionItemData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateProblemActionItem + */ +public class UpdateProblemActionItemTest { + private final UpdateProblemActionItem model = new UpdateProblemActionItem(); + + /** + * Model tests for UpdateProblemActionItem + */ + @Test + public void testUpdateProblemActionItem() { + // TODO: test UpdateProblemActionItem + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateProblemDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateProblemDataAttributesTest.java new file mode 100644 index 00000000..90d74f11 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateProblemDataAttributesTest.java @@ -0,0 +1,188 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateProblemDataAttributes + */ +public class UpdateProblemDataAttributesTest { + private final UpdateProblemDataAttributes model = new UpdateProblemDataAttributes(); + + /** + * Model tests for UpdateProblemDataAttributes + */ + @Test + public void testUpdateProblemDataAttributes() { + // TODO: test UpdateProblemDataAttributes + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'ownerUserId' + */ + @Test + public void ownerUserIdTest() { + // TODO: test ownerUserId + } + + /** + * Test the property 'ownerGroupId' + */ + @Test + public void ownerGroupIdTest() { + // TODO: test ownerGroupId + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'dueDate' + */ + @Test + public void dueDateTest() { + // TODO: test dueDate + } + + /** + * Test the property 'scope' + */ + @Test + public void scopeTest() { + // TODO: test scope + } + + /** + * Test the property 'exitCriteria' + */ + @Test + public void exitCriteriaTest() { + // TODO: test exitCriteria + } + + /** + * Test the property 'impactSoFar' + */ + @Test + public void impactSoFarTest() { + // TODO: test impactSoFar + } + + /** + * Test the property 'rootCause' + */ + @Test + public void rootCauseTest() { + // TODO: test rootCause + } + + /** + * Test the property 'resolution' + */ + @Test + public void resolutionTest() { + // TODO: test resolution + } + + /** + * Test the property 'deferralReason' + */ + @Test + public void deferralReasonTest() { + // TODO: test deferralReason + } + + /** + * Test the property 'cancellationReason' + */ + @Test + public void cancellationReasonTest() { + // TODO: test cancellationReason + } + + /** + * Test the property 'nextReviewAt' + */ + @Test + public void nextReviewAtTest() { + // TODO: test nextReviewAt + } + + /** + * Test the property 'reReviewCadence' + */ + @Test + public void reReviewCadenceTest() { + // TODO: test reReviewCadence + } + + /** + * Test the property 'formFieldSelections' + */ + @Test + public void formFieldSelectionsTest() { + // TODO: test formFieldSelections + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'expectedStatus' + */ + @Test + public void expectedStatusTest() { + // TODO: test expectedStatus + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateProblemDataTest.java b/src/test/java/com/rootly/client/model/UpdateProblemDataTest.java new file mode 100644 index 00000000..f4a94450 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateProblemDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateProblemData + */ +public class UpdateProblemDataTest { + private final UpdateProblemData model = new UpdateProblemData(); + + /** + * Model tests for UpdateProblemData + */ + @Test + public void testUpdateProblemData() { + // TODO: test UpdateProblemData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateProblemTest.java b/src/test/java/com/rootly/client/model/UpdateProblemTest.java new file mode 100644 index 00000000..52bbba59 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateProblemTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateProblemData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateProblem + */ +public class UpdateProblemTest { + private final UpdateProblem model = new UpdateProblem(); + + /** + * Model tests for UpdateProblem + */ + @Test + public void testUpdateProblem() { + // TODO: test UpdateProblem + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java b/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java index ca6c2734..f97e5e10 100644 --- a/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java @@ -38,6 +38,14 @@ public void testUpdatePulseData() { // TODO: test UpdatePulseData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java index 0cd9873c..034fc22c 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java @@ -38,6 +38,14 @@ public void testUpdateRetrospectiveConfigurationData() { // TODO: test UpdateRetrospectiveConfigurationData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java index 2f588852..ea37fe0a 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java @@ -38,6 +38,14 @@ public void testUpdateRetrospectiveProcessData() { // TODO: test UpdateRetrospectiveProcessData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java index 5db381a7..81c14954 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java @@ -38,6 +38,14 @@ public void testUpdateRetrospectiveProcessGroupData() { // TODO: test UpdateRetrospectiveProcessGroupData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java index 2995244c..72cc4f3b 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java @@ -38,6 +38,14 @@ public void testUpdateRetrospectiveProcessGroupStepData() { // TODO: test UpdateRetrospectiveProcessGroupStepData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java index 34c20244..5d687e52 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java @@ -38,6 +38,14 @@ public void testUpdateRetrospectiveStepData() { // TODO: test UpdateRetrospectiveStepData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java index beb4b80b..606b369b 100644 --- a/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java @@ -256,6 +256,14 @@ public void statusPagesPermissionsTest() { // TODO: test statusPagesPermissions } + /** + * Test the property 'statusPageUpdatesPermissions' + */ + @Test + public void statusPageUpdatesPermissionsTest() { + // TODO: test statusPageUpdatesPermissions + } + /** * Test the property 'webhooksPermissions' */ @@ -296,6 +304,14 @@ public void edgeConnectorPermissionsTest() { // TODO: test edgeConnectorPermissions } + /** + * Test the property 'privateAgentPermissions' + */ + @Test + public void privateAgentPermissionsTest() { + // TODO: test privateAgentPermissions + } + /** * Test the property 'slasPermissions' */ diff --git a/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java b/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java index aee4a915..d6fd4b5b 100644 --- a/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java @@ -38,6 +38,14 @@ public void testUpdateRoleData() { // TODO: test UpdateRoleData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java index 561fcb31..e42e0a4a 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewScheduleDataAttributesBusinessHours; import com.rootly.client.model.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; @@ -66,6 +67,14 @@ public void allTimeCoverageTest() { // TODO: test allTimeCoverage } + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + /** * Test the property 'slackUserGroup' */ @@ -162,4 +171,12 @@ public void shiftReportTimeZoneTest() { // TODO: test shiftReportTimeZone } + /** + * Test the property 'businessHours' + */ + @Test + public void businessHoursTest() { + // TODO: test businessHours + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java index c6599db8..ac7b6558 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java @@ -38,6 +38,14 @@ public void testUpdateScheduleData() { // TODO: test UpdateScheduleData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java index d4d4b179..487c0d5d 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java @@ -38,6 +38,14 @@ public void testUpdateScheduleRotationActiveDayData() { // TODO: test UpdateScheduleRotationActiveDayData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java index 041c72e5..1a1b941d 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java @@ -38,6 +38,14 @@ public void testUpdateScheduleRotationData() { // TODO: test UpdateScheduleRotationData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java index 8d0c6baa..2264bc76 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java @@ -38,6 +38,14 @@ public void testUpdateScheduleRotationUserData() { // TODO: test UpdateScheduleRotationUserData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java index 14f88de5..ca17aba5 100644 --- a/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java @@ -19,7 +19,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -78,4 +80,12 @@ public void hashicorpVaultVersionTest() { // TODO: test hashicorpVaultVersion } + /** + * Test the property 'ownerGroupIds' + */ + @Test + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java b/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java index 96067023..6955b366 100644 --- a/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java @@ -38,6 +38,14 @@ public void testUpdateSecretData() { // TODO: test UpdateSecretData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java b/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java index 234991f1..c6765fd6 100644 --- a/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java @@ -38,6 +38,14 @@ public void testUpdateServiceData() { // TODO: test UpdateServiceData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java b/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java index 43cfa20f..ce3fb552 100644 --- a/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java @@ -38,6 +38,14 @@ public void testUpdateSeverityData() { // TODO: test UpdateSeverityData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateSlaDataTest.java b/src/test/java/com/rootly/client/model/UpdateSlaDataTest.java index 684cef6f..0dca1e44 100644 --- a/src/test/java/com/rootly/client/model/UpdateSlaDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSlaDataTest.java @@ -38,6 +38,14 @@ public void testUpdateSlaData() { // TODO: test UpdateSlaData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateSlackCanvasTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateSlackCanvasTaskParamsTest.java new file mode 100644 index 00000000..69a8529f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateSlackCanvasTaskParamsTest.java @@ -0,0 +1,98 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; +import java.io.IOException; +import java.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateSlackCanvasTaskParams + */ +public class UpdateSlackCanvasTaskParamsTest { + private final UpdateSlackCanvasTaskParams model = new UpdateSlackCanvasTaskParams(); + + /** + * Model tests for UpdateSlackCanvasTaskParams + */ + @Test + public void testUpdateSlackCanvasTaskParams() { + // TODO: test UpdateSlackCanvasTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'channel' + */ + @Test + public void channelTest() { + // TODO: test channel + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'sectionName' + */ + @Test + public void sectionNameTest() { + // TODO: test sectionName + } + + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java index 81f8eaf5..07c72a36 100644 --- a/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java @@ -62,4 +62,20 @@ public void topicTest() { // TODO: test topic } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataTest.java index ec985cef..33d2fa94 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageAnnouncementDataTest.java @@ -38,6 +38,14 @@ public void testUpdateStatusPageAnnouncementData() { // TODO: test UpdateStatusPageAnnouncementData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageComponentDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageComponentDataTest.java index 7b2575e6..aa96a1d6 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageComponentDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageComponentDataTest.java @@ -38,6 +38,14 @@ public void testUpdateStatusPageComponentData() { // TODO: test UpdateStatusPageComponentData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataTest.java index d705e3de..b271c538 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageComponentGroupDataTest.java @@ -38,6 +38,14 @@ public void testUpdateStatusPageComponentGroupData() { // TODO: test UpdateStatusPageComponentGroupData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java index 2fc452ff..3ddbe938 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java @@ -38,6 +38,14 @@ public void testUpdateStatusPageData() { // TODO: test UpdateStatusPageData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributesTest.java new file mode 100644 index 00000000..fc289494 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataAttributesTest.java @@ -0,0 +1,48 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateStatusPageTeamDataAttributes + */ +public class UpdateStatusPageTeamDataAttributesTest { + private final UpdateStatusPageTeamDataAttributes model = new UpdateStatusPageTeamDataAttributes(); + + /** + * Model tests for UpdateStatusPageTeamDataAttributes + */ + @Test + public void testUpdateStatusPageTeamDataAttributes() { + // TODO: test UpdateStatusPageTeamDataAttributes + } + + /** + * Test the property 'permissionLevel' + */ + @Test + public void permissionLevelTest() { + // TODO: test permissionLevel + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataTest.java new file mode 100644 index 00000000..90dedd7a --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTeamDataTest.java @@ -0,0 +1,65 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateStatusPageTeamDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateStatusPageTeamData + */ +public class UpdateStatusPageTeamDataTest { + private final UpdateStatusPageTeamData model = new UpdateStatusPageTeamData(); + + /** + * Model tests for UpdateStatusPageTeamData + */ + @Test + public void testUpdateStatusPageTeamData() { + // TODO: test UpdateStatusPageTeamData + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTeamTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTeamTest.java new file mode 100644 index 00000000..11614a92 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTeamTest.java @@ -0,0 +1,49 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.UpdateStatusPageTeamData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateStatusPageTeam + */ +public class UpdateStatusPageTeamTest { + private final UpdateStatusPageTeam model = new UpdateStatusPageTeam(); + + /** + * Model tests for UpdateStatusPageTeam + */ + @Test + public void testUpdateStatusPageTeam() { + // TODO: test UpdateStatusPageTeam + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java index 90151cd4..e0d0647a 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java @@ -38,6 +38,14 @@ public void testUpdateStatusPageTemplateData() { // TODO: test UpdateStatusPageTemplateData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java b/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java index a8f5c26e..a039e481 100644 --- a/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java @@ -38,6 +38,14 @@ public void testUpdateSubStatusData() { // TODO: test UpdateSubStatusData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java index 6469c2c6..dcebbaac 100644 --- a/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java @@ -173,6 +173,22 @@ public void serviceNowCiSysIdTest() { // TODO: test serviceNowCiSysId } + /** + * Test the property 'scimGroupId' + */ + @Test + public void scimGroupIdTest() { + // TODO: test scimGroupId + } + + /** + * Test the property 'scimGroupExternalId' + */ + @Test + public void scimGroupExternalIdTest() { + // TODO: test scimGroupExternalId + } + /** * Test the property 'userIds' */ @@ -269,6 +285,14 @@ public void autoAddMembersScopeTest() { // TODO: test autoAddMembersScope } + /** + * Test the property 'scheduleOverridePolicy' + */ + @Test + public void scheduleOverridePolicyTest() { + // TODO: test scheduleOverridePolicy + } + /** * Test the property 'properties' */ diff --git a/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java b/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java index 68aca3a1..a8791f74 100644 --- a/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java @@ -38,6 +38,14 @@ public void testUpdateTeamData() { // TODO: test UpdateTeamData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateUserDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserDataTest.java index d2a1e22d..0333824c 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserDataTest.java @@ -38,6 +38,14 @@ public void testUpdateUserData() { // TODO: test UpdateUserData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java index 7d824571..07aa2bcb 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java @@ -38,6 +38,14 @@ public void testUpdateUserEmailAddressData() { // TODO: test UpdateUserEmailAddressData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java index 7e80af7b..ae18c545 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java @@ -38,6 +38,14 @@ public void testUpdateUserNotificationRuleData() { // TODO: test UpdateUserNotificationRuleData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java index 4a8c2ffc..e608cb54 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java @@ -38,6 +38,14 @@ public void testUpdateUserPhoneNumberData() { // TODO: test UpdateUserPhoneNumberData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java index 7c56c62f..0a2cb82a 100644 --- a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java @@ -38,6 +38,14 @@ public void testUpdateWebhooksEndpointData() { // TODO: test UpdateWebhooksEndpointData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataTest.java index e366d4b5..af590c5d 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowActionItemFormFieldConditionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateWorkflowActionItemFormFieldConditionData() { // TODO: test UpdateWorkflowActionItemFormFieldConditionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java index b35a67b2..cfca608c 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateWorkflowCustomFieldSelectionData() { // TODO: test UpdateWorkflowCustomFieldSelectionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java index 9881215c..97caebeb 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner; import com.rootly.client.model.NewWorkflowDataAttributesTriggerParams; import java.io.IOException; import java.util.ArrayList; @@ -121,6 +122,14 @@ public void continuouslyRepeatTest() { // TODO: test continuouslyRepeat } + /** + * Test the property 'runOncePerResource' + */ + @Test + public void runOncePerResourceTest() { + // TODO: test runOncePerResource + } + /** * Test the property 'enabled' */ @@ -217,6 +226,14 @@ public void groupIdsTest() { // TODO: test groupIds } + /** + * Test the property 'groupAssignmentIds' + */ + @Test + public void groupAssignmentIdsTest() { + // TODO: test groupAssignmentIds + } + /** * Test the property 'causeIds' */ @@ -233,4 +250,20 @@ public void subStatusIdsTest() { // TODO: test subStatusIds } + /** + * Test the property 'failureNotificationMode' + */ + @Test + public void failureNotificationModeTest() { + // TODO: test failureNotificationMode + } + + /** + * Test the property 'failureNotificationChannels' + */ + @Test + public void failureNotificationChannelsTest() { + // TODO: test failureNotificationChannels + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java index 23f131a9..186a8daf 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java @@ -38,6 +38,14 @@ public void testUpdateWorkflowFormFieldConditionData() { // TODO: test UpdateWorkflowFormFieldConditionData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java index 47c23349..2c1ad5c3 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java @@ -38,6 +38,14 @@ public void testUpdateWorkflowGroupData() { // TODO: test UpdateWorkflowGroupData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java index ff0f55d3..6d3758e8 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java @@ -91,6 +91,8 @@ import com.rootly.client.model.CreateSharepointPageTaskParams; import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParams; +import com.rootly.client.model.CreateSlackCanvasTaskParamsChannel; import com.rootly.client.model.CreateSlackChannelTaskParams; import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; @@ -123,6 +125,7 @@ import com.rootly.client.model.PrintTaskParams; import com.rootly.client.model.PublishIncidentTaskParams; import com.rootly.client.model.RedisClientTaskParams; +import com.rootly.client.model.RemoveFromSlackChannelTaskParams; import com.rootly.client.model.RemoveGoogleDocsPermissionsTaskParams; import com.rootly.client.model.RenameGoogleChatSpaceTaskParams; import com.rootly.client.model.RenameMicrosoftTeamsChannelTaskParams; @@ -178,6 +181,7 @@ import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; +import com.rootly.client.model.UpdateSlackCanvasTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; import com.rootly.client.model.UpdateStatusTaskParams; import com.rootly.client.model.UpdateTrelloCardTaskParams; @@ -187,7 +191,9 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.openapitools.jackson.nullable.JsonNullable; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -366,6 +372,22 @@ public void emojiTest() { // TODO: test emoji } + /** + * Test the property 'retryCount' + */ + @Test + public void retryCountTest() { + // TODO: test retryCount + } + + /** + * Test the property 'retryWaitTime' + */ + @Test + public void retryWaitTimeTest() { + // TODO: test retryWaitTime + } + /** * Test the property 'groupId' */ @@ -1174,22 +1196,6 @@ public void updatePayloadTest() { // TODO: test updatePayload } - /** - * Test the property 'retryCount' - */ - @Test - public void retryCountTest() { - // TODO: test retryCount - } - - /** - * Test the property 'retryWaitTime' - */ - @Test - public void retryWaitTimeTest() { - // TODO: test retryWaitTime - } - /** * Test the property 'parentIssueId' */ @@ -1630,6 +1636,22 @@ public void succeedOnStatusTest() { // TODO: test succeedOnStatus } + /** + * Test the property 'expectedResponseHeaders' + */ + @Test + public void expectedResponseHeadersTest() { + // TODO: test expectedResponseHeaders + } + + /** + * Test the property 'followRedirects' + */ + @Test + public void followRedirectsTest() { + // TODO: test followRedirects + } + /** * Test the property 'slackUsers' */ @@ -1806,6 +1828,38 @@ public void statusPageIdsTest() { // TODO: test statusPageIds } + /** + * Test the property 'selectedComponentKeys' + */ + @Test + public void selectedComponentKeysTest() { + // TODO: test selectedComponentKeys + } + + /** + * Test the property 'selectedComponentStatuses' + */ + @Test + public void selectedComponentStatusesTest() { + // TODO: test selectedComponentStatuses + } + + /** + * Test the property 'syncIncidentComponents' + */ + @Test + public void syncIncidentComponentsTest() { + // TODO: test syncIncidentComponents + } + + /** + * Test the property 'syncedComponentStatus' + */ + @Test + public void syncedComponentStatusTest() { + // TODO: test syncedComponentStatus + } + /** * Test the property 'integrationPayload' */ @@ -1822,6 +1876,22 @@ public void commandsTest() { // TODO: test commands } + /** + * Test the property 'targetKind' + */ + @Test + public void targetKindTest() { + // TODO: test targetKind + } + + /** + * Test the property 'dryRun' + */ + @Test + public void dryRunTest() { + // TODO: test dryRun + } + /** * Test the property 'privacy' */ @@ -1990,6 +2060,14 @@ public void sendOnlyAsThreadedMessageTest() { // TODO: test sendOnlyAsThreadedMessage } + /** + * Test the property 'allowCrossWorkflowThreading' + */ + @Test + public void allowCrossWorkflowThreadingTest() { + // TODO: test allowCrossWorkflowThreading + } + /** * Test the property 'metricQueries' */ @@ -2110,6 +2188,22 @@ public void storyIdTest() { // TODO: test storyId } + /** + * Test the property 'operation' + */ + @Test + public void operationTest() { + // TODO: test operation + } + + /** + * Test the property 'sectionName' + */ + @Test + public void sectionNameTest() { + // TODO: test sectionName + } + /** * Test the property 'inactivityTimeout' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java index 25247e86..84a41085 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java @@ -38,6 +38,14 @@ public void testUpdateWorkflowTaskData() { // TODO: test UpdateWorkflowTaskData } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'type' */ diff --git a/src/test/java/com/rootly/client/model/VerifyUserPhoneNumber200ResponseTest.java b/src/test/java/com/rootly/client/model/VerifyUserPhoneNumber200ResponseTest.java new file mode 100644 index 00000000..078de5db --- /dev/null +++ b/src/test/java/com/rootly/client/model/VerifyUserPhoneNumber200ResponseTest.java @@ -0,0 +1,48 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for VerifyUserPhoneNumber200Response + */ +public class VerifyUserPhoneNumber200ResponseTest { + private final VerifyUserPhoneNumber200Response model = new VerifyUserPhoneNumber200Response(); + + /** + * Model tests for VerifyUserPhoneNumber200Response + */ + @Test + public void testVerifyUserPhoneNumber200Response() { + // TODO: test VerifyUserPhoneNumber200Response + } + + /** + * Test the property 'message' + */ + @Test + public void messageTest() { + // TODO: test message + } + +} diff --git a/src/test/java/com/rootly/client/model/VerifyUserPhoneNumber429ResponseTest.java b/src/test/java/com/rootly/client/model/VerifyUserPhoneNumber429ResponseTest.java new file mode 100644 index 00000000..2547a3d9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/VerifyUserPhoneNumber429ResponseTest.java @@ -0,0 +1,48 @@ +/* + * Rootly API v1 + * # How to generate an API Key? - **Organization dropdown** > **Organization Settings** > **API Keys** # JSON:API Specification Rootly is using **JSON:API** (https://jsonapi.org) specification: - JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. - JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. - JSON:API requires use of the JSON:API media type (**application/vnd.api+json**) for exchanging data. # Authentication and Requests We use standard HTTP Authentication over HTTPS to authorize your requests. ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents ```
# Rate limiting - There is a default limit of **5** **GET**, **HEAD**, and **OPTIONS** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - There is a default limit of **3** **POST**, **PUT**, **PATCH** or **DELETE** calls **per API key** every **60 seconds** (0 hours). The limit is calculated over a **0-hour sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - When rate limits are exceeded, the API will return a **429 Too Many Requests** HTTP status code with the response: `{\"error\": \"Rate limit exceeded. Try again later.\"}` - **X-RateLimit headers** are included in every API response, providing real-time rate limit information: - **X-RateLimit-Limit** - The maximum number of requests permitted and the time window (e.g., \"1000, 1000;window=3600\" for 1000 requests per hour) - **X-RateLimit-Remaining** - The number of requests remaining in the current rate limit window - **X-RateLimit-Used** - The number of requests already made in the current window - **X-RateLimit-Reset** - The time at which the current rate limit window resets, in UTC epoch seconds # Pagination - Pagination is supported for all endpoints that return a collection of items. - Pagination is controlled by the **page** query parameter ## Example ``` curl --request GET \\ --header 'Content-Type: application/vnd.api+json' \\ --header 'Authorization: Bearer YOUR-TOKEN' \\ --url https://api.rootly.com/v1/incidents?page[number]=1&page[size]=10 ``` + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.rootly.client.model; + +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for VerifyUserPhoneNumber429Response + */ +public class VerifyUserPhoneNumber429ResponseTest { + private final VerifyUserPhoneNumber429Response model = new VerifyUserPhoneNumber429Response(); + + /** + * Model tests for VerifyUserPhoneNumber429Response + */ + @Test + public void testVerifyUserPhoneNumber429Response() { + // TODO: test VerifyUserPhoneNumber429Response + } + + /** + * Test the property 'error' + */ + @Test + public void errorTest() { + // TODO: test error + } + +} diff --git a/src/test/java/com/rootly/client/model/WorkflowTest.java b/src/test/java/com/rootly/client/model/WorkflowTest.java index 9db28ab8..8433090c 100644 --- a/src/test/java/com/rootly/client/model/WorkflowTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowTest.java @@ -18,6 +18,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.NewWorkflowDataAttributesFailureNotificationChannelsInner; import com.rootly.client.model.NewWorkflowDataAttributesTriggerParams; import java.io.IOException; import java.util.ArrayList; @@ -121,6 +122,14 @@ public void continuouslyRepeatTest() { // TODO: test continuouslyRepeat } + /** + * Test the property 'runOncePerResource' + */ + @Test + public void runOncePerResourceTest() { + // TODO: test runOncePerResource + } + /** * Test the property 'repeatOn' */ @@ -225,6 +234,14 @@ public void groupIdsTest() { // TODO: test groupIds } + /** + * Test the property 'groupAssignmentIds' + */ + @Test + public void groupAssignmentIdsTest() { + // TODO: test groupAssignmentIds + } + /** * Test the property 'causeIds' */ @@ -241,6 +258,22 @@ public void subStatusIdsTest() { // TODO: test subStatusIds } + /** + * Test the property 'failureNotificationMode' + */ + @Test + public void failureNotificationModeTest() { + // TODO: test failureNotificationMode + } + + /** + * Test the property 'failureNotificationChannels' + */ + @Test + public void failureNotificationChannelsTest() { + // TODO: test failureNotificationChannels + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java b/src/test/java/com/rootly/client/model/WorkingHoursTest.java similarity index 87% rename from src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java rename to src/test/java/com/rootly/client/model/WorkingHoursTest.java index b7ad5027..448e1ec5 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java +++ b/src/test/java/com/rootly/client/model/WorkingHoursTest.java @@ -24,17 +24,17 @@ import org.junit.jupiter.api.Test; /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + * Model tests for WorkingHours */ -public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf1(); +public class WorkingHoursTest { + private final WorkingHours model = new WorkingHours(); /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + * Model tests for WorkingHours */ @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf1() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + public void testWorkingHours() { + // TODO: test WorkingHours } /** From 4a8d53621673222836ed6566c7eb416af1c1ba28 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 7 Oct 2026 07:39:02 +0000 Subject: [PATCH 2/3] ci: publish Release Drafter drafts on Java releases Co-Authored-By: Quentin Rousseau --- .github/release-drafter.yml | 33 ++++++++++++--------------------- .github/workflows/publish.yml | 27 +++++++++++++++++++++++++++ CHANGELOG.md | 20 +++----------------- CLAUDE.md | 8 +++++--- PUBLISHING.md | 8 ++++---- 5 files changed, 51 insertions(+), 45 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 9f9cdc82..0f882c4e 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,6 +1,6 @@ # Configuration for Release Drafter: https://github.com/release-drafter/release-drafter -name-template: $NEXT_PATCH_VERSION -tag-template: $NEXT_PATCH_VERSION +name-template: v$RESOLVED_VERSION +tag-template: v$RESOLVED_VERSION template: | $CHANGES @@ -10,6 +10,16 @@ template: | categories: + - type: version-resolver + semver-increment: major + when: + label: breaking + - type: version-resolver + semver-increment: minor + when: + label: enhancement + - type: version-resolver + semver-increment: patch - title: 🚀 New features and improvements labels: - enhancement @@ -43,22 +53,3 @@ autolabeler: - label: documentation files: - "*.md" - -version-resolver: - major: - labels: - - major - - breaking - minor: - labels: - - minor - - enhancement - patch: - labels: - - patch - - bug - - chore - - maintenance - - dependencies - - documentation - default: patch diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 78489c0a..648a2adb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -48,3 +48,30 @@ jobs: run: mvn --batch-mode deploy -DaltDeploymentRepository=github::default::https://maven.pkg.github.com/${{ github.repository }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + release: + needs: publish + runs-on: blacksmith-2vcpu-ubuntu-2404 + timeout-minutes: 5 + permissions: + contents: write + steps: + - name: Publish draft or create release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + RELEASE_ID=$(gh api "repos/${GITHUB_REPOSITORY}/releases?per_page=100" \ + --jq "map(select(.draft and .tag_name == \"${GITHUB_REF_NAME}\"))[0].id // empty") + + if [ -n "${RELEASE_ID}" ]; then + gh api --method PATCH \ + "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" \ + -F draft=false \ + -f make_latest=true \ + --silent + else + gh release create "${GITHUB_REF_NAME}" \ + --verify-tag \ + --generate-notes \ + --title "${GITHUB_REF_NAME}" \ + --latest + fi diff --git a/CHANGELOG.md b/CHANGELOG.md index d9ff9cbb..1b77692f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,10 @@ # Changelog -All notable changes to this project will be documented in this file. +Release notes for every version are published on [GitHub Releases](https://github.com/rootlyhq/rootly-java/releases). They are drafted automatically by Release Drafter from merged pull requests and include an OpenAPI diff against the previous release. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Older releases -## [Unreleased] - -### Added -- Alert configuration endpoints to retrieve and update team alert configuration -- Private agent endpoints for enrollment tokens, listing, retrieval, updates, and revocation -- Problem and problem action item endpoints for listing, creating, retrieving, updating, deleting, and linking or unlinking incidents -- Status page team endpoints to list, add, retrieve, update, and remove teams -- Phone number verification and resend-verification endpoints - -### Removed -- **BREAKING**: Alert re-trigger rule endpoints (`GET`/`POST /v1/alert_retrigger_rules` and `GET`/`PUT`/`DELETE /v1/alert_retrigger_rules/{id}`) and their models - -### Dependencies -- Regenerated with OpenAPI Generator 7.13.0; runtime dependency versions unchanged +_Entries below predate GitHub Releases and are no longer updated._ ## [0.0.4] - 2026-01-22 diff --git a/CLAUDE.md b/CLAUDE.md index f2c3b6f6..debea82f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -160,7 +160,7 @@ The project uses **Spotless** with **Google Java Format (AOSP style)**: GitHub Actions workflows: - **test.yml** - Runs tests on all branches using JDK 17 - **maven.yml** - Maven-based build pipeline -- **publish.yml** - Publishes artifacts to Maven Central and GitHub Packages, then creates GitHub release (triggered on tag push) +- **publish.yml** - Publishes artifacts to Maven Central and GitHub Packages, then publishes the matching Release Drafter draft (triggered on tag push) ## Publishing & Releases @@ -183,6 +183,8 @@ make bump-major # 0.0.1 -> 1.0.0 make push-tag ``` +Review the Release Drafter draft and its OpenAPI diff before tagging. Label merged pull requests `breaking` for major versions and `enhancement` for minor versions. + **Automated workflow (triggered by `make push-tag`):** 1. `make bump-patch` (or minor/major) - Updates version in both pom.xml and build.gradle, commits, and creates tag locally 2. `make push-tag` - Pushes the tag to GitHub, which automatically triggers **publish.yml**: @@ -190,7 +192,7 @@ make push-tag - Signs artifacts with GPG - Publishes to Maven Central - Publishes to GitHub Packages - - Creates GitHub release with changelog notes (only if all publishing succeeds) + - Publishes the matching Release Drafter draft with its OpenAPI diff, or creates a release with GitHub-generated notes if no matching draft exists (only if all publishing succeeds) **One-command releases:** ```bash @@ -205,7 +207,7 @@ make release-major # Bump major and push tag → triggers publish + release - Signs artifacts with GPG - Deploys to Maven Central Portal (auto-publishes) - Deploys to GitHub Packages -- Creates GitHub release with changelog notes from CHANGELOG.md +- Publishes the matching Release Drafter draft with its OpenAPI diff, or creates a release with GitHub-generated notes - Available in Maven Central within 30 minutes **No manual steps needed!** Just run `make release-patch` and everything is automated. diff --git a/PUBLISHING.md b/PUBLISHING.md index 1d689083..d6e3ab15 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -83,7 +83,7 @@ rm gpg-key.txt ## Publishing Process -The publish workflow runs automatically when you push a version tag. +The publish workflow runs automatically when you push a version tag. Release Drafter maintains a draft with merged pull request notes and an OpenAPI diff; review the draft before tagging. Use the `breaking` and `enhancement` labels for major and minor version resolution. ### Step 1: Update Version and Create Tag @@ -108,7 +108,7 @@ make push-tag 3. ✅ Deploy to Maven Central Portal 4. ✅ Auto-publish to Maven Central (no manual UI steps needed!) 5. ✅ Deploy to GitHub Packages -6. ✅ Create GitHub release with changelog notes +6. ✅ Publish the matching Release Drafter draft with its OpenAPI diff, or create a release with GitHub-generated notes ### One-Command Release (Recommended) @@ -125,11 +125,11 @@ The **publish.yml** workflow runs automatically on tag push and performs these s 1. Runs all tests 2. Publishes to Maven Central (with GPG signing) 3. Publishes to GitHub Packages -4. Creates GitHub release with changelog notes (only if steps 1-3 succeed) +4. Publishes the matching Release Drafter draft, including its OpenAPI diff, or creates a release with generated notes if no matching draft exists (only if steps 1-3 succeed) Check the Actions tab: https://github.com/rootlyhq/rootly-java/actions -**Important:** The GitHub release is only created after successful publishing to both registries, ensuring atomic releases. +**Important:** The Release Drafter draft is published only after successful publishing to both registries. ### Step 4: Verify Publication From 4799137eec50b0eda98b1e49fdfbfc82d0099a73 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 7 Oct 2026 15:40:58 +0000 Subject: [PATCH 3/3] fix(ci): promote latest Release Drafter draft on tag and add tag highlights Co-Authored-By: Quentin Rousseau --- .github/workflows/publish.yml | 46 ++++++++++++++++++++++++----------- CLAUDE.md | 8 +++--- PUBLISHING.md | 8 +++--- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 648a2adb..059d99c6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -55,23 +55,41 @@ jobs: permissions: contents: write steps: - - name: Publish draft or create release + - name: Checkout Repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - name: Fetch annotated tag message + run: git fetch --force origin "refs/tags/${GITHUB_REF_NAME}:refs/tags/${GITHUB_REF_NAME}" + - name: Publish GitHub Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - RELEASE_ID=$(gh api "repos/${GITHUB_REPOSITORY}/releases?per_page=100" \ - --jq "map(select(.draft and .tag_name == \"${GITHUB_REF_NAME}\"))[0].id // empty") + TAG_REF="refs/tags/${GITHUB_REF_NAME}" + HIGHLIGHTS="" + if [ "$(git cat-file -t "$TAG_REF" 2>/dev/null || true)" = "tag" ]; then + HIGHLIGHTS=$(git for-each-ref "$TAG_REF" --format='%(contents)' | sed '/^-----BEGIN PGP SIGNATURE-----/,$d') + if [ -z "$(printf '%s' "$HIGHLIGHTS" | tr -d '[:space:]')" ]; then + HIGHLIGHTS="" + fi + fi - if [ -n "${RELEASE_ID}" ]; then - gh api --method PATCH \ - "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" \ - -F draft=false \ - -f make_latest=true \ - --silent + RELEASE_ID=$(gh api "repos/${GITHUB_REPOSITORY}/releases?per_page=100" --jq 'map(select(.draft))[0].id // empty') + if [ -n "$RELEASE_ID" ]; then + BODY=$(gh api "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" --jq '.body // ""') + if [ -n "$HIGHLIGHTS" ]; then + BODY=$(printf '## Highlights\n\n%s\n\n%s' "$HIGHLIGHTS" "$BODY") + fi + jq -n \ + --arg tag_name "$GITHUB_REF_NAME" \ + --arg name "$GITHUB_REF_NAME" \ + --arg body "$BODY" \ + '{tag_name: $tag_name, name: $name, body: $body, draft: false, make_latest: "true"}' \ + > /tmp/release.json + gh api --method PATCH "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" --input /tmp/release.json + elif [ -n "$HIGHLIGHTS" ]; then + gh release create "$GITHUB_REF_NAME" --verify-tag --generate-notes \ + --title "$GITHUB_REF_NAME" --latest \ + --notes "$(printf '## Highlights\n\n%s' "$HIGHLIGHTS")" else - gh release create "${GITHUB_REF_NAME}" \ - --verify-tag \ - --generate-notes \ - --title "${GITHUB_REF_NAME}" \ - --latest + gh release create "$GITHUB_REF_NAME" --verify-tag --generate-notes \ + --title "$GITHUB_REF_NAME" --latest fi diff --git a/CLAUDE.md b/CLAUDE.md index debea82f..9fe0fa78 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -160,7 +160,7 @@ The project uses **Spotless** with **Google Java Format (AOSP style)**: GitHub Actions workflows: - **test.yml** - Runs tests on all branches using JDK 17 - **maven.yml** - Maven-based build pipeline -- **publish.yml** - Publishes artifacts to Maven Central and GitHub Packages, then publishes the matching Release Drafter draft (triggered on tag push) +- **publish.yml** - Publishes artifacts to Maven Central and GitHub Packages, then publishes the most recent Release Drafter draft under the pushed tag (triggered on tag push) ## Publishing & Releases @@ -183,7 +183,7 @@ make bump-major # 0.0.1 -> 1.0.0 make push-tag ``` -Review the Release Drafter draft and its OpenAPI diff before tagging. Label merged pull requests `breaking` for major versions and `enhancement` for minor versions. +Review the Release Drafter draft and its OpenAPI diff before tagging. Label merged pull requests `breaking` for major versions and `enhancement` for minor versions. The tag publishes the most recent draft regardless of its current tag, renames it to the pushed tag, and prepends the annotated tag message under “Highlights”. For custom highlights, use an annotated tag such as `git tag -a vX.Y.Z -m ""`. **Automated workflow (triggered by `make push-tag`):** 1. `make bump-patch` (or minor/major) - Updates version in both pom.xml and build.gradle, commits, and creates tag locally @@ -192,7 +192,7 @@ Review the Release Drafter draft and its OpenAPI diff before tagging. Label merg - Signs artifacts with GPG - Publishes to Maven Central - Publishes to GitHub Packages - - Publishes the matching Release Drafter draft with its OpenAPI diff, or creates a release with GitHub-generated notes if no matching draft exists (only if all publishing succeeds) + - Publishes the most recent Release Drafter draft, renamed to the pushed tag, with the annotated tag message under “Highlights”; or creates a release with GitHub-generated notes if no draft exists (only if all publishing succeeds) **One-command releases:** ```bash @@ -207,7 +207,7 @@ make release-major # Bump major and push tag → triggers publish + release - Signs artifacts with GPG - Deploys to Maven Central Portal (auto-publishes) - Deploys to GitHub Packages -- Publishes the matching Release Drafter draft with its OpenAPI diff, or creates a release with GitHub-generated notes +- Publishes the most recent Release Drafter draft, renamed to the pushed tag, with the annotated tag message under “Highlights”; or creates a release with GitHub-generated notes if no draft exists - Available in Maven Central within 30 minutes **No manual steps needed!** Just run `make release-patch` and everything is automated. diff --git a/PUBLISHING.md b/PUBLISHING.md index d6e3ab15..c22bbb33 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -83,7 +83,7 @@ rm gpg-key.txt ## Publishing Process -The publish workflow runs automatically when you push a version tag. Release Drafter maintains a draft with merged pull request notes and an OpenAPI diff; review the draft before tagging. Use the `breaking` and `enhancement` labels for major and minor version resolution. +The publish workflow runs automatically when you push a version tag. Release Drafter maintains a draft with merged pull request notes and an OpenAPI diff; review the draft before tagging. Use the `breaking` and `enhancement` labels for major and minor version resolution. The tag publishes the most recent draft regardless of its current tag, renames it to the pushed tag, and prepends the annotated tag message under “Highlights”. Use an annotated tag such as `git tag -a vX.Y.Z -m ""` when providing release highlights. ### Step 1: Update Version and Create Tag @@ -93,7 +93,7 @@ make bump-patch # 0.0.1 -> 0.0.2 make bump-minor # 0.0.1 -> 0.1.0 make bump-major # 0.0.1 -> 1.0.0 -# This updates pom.xml and build.gradle, commits, and creates a tag locally +# This updates pom.xml and build.gradle, commits, and creates an annotated tag locally ``` ### Step 2: Push Tag (Triggers Everything) @@ -108,7 +108,7 @@ make push-tag 3. ✅ Deploy to Maven Central Portal 4. ✅ Auto-publish to Maven Central (no manual UI steps needed!) 5. ✅ Deploy to GitHub Packages -6. ✅ Publish the matching Release Drafter draft with its OpenAPI diff, or create a release with GitHub-generated notes +6. ✅ Publish the most recent Release Drafter draft, renamed to the pushed tag, with the annotated tag message under “Highlights”; or create a release with GitHub-generated notes if no draft exists ### One-Command Release (Recommended) @@ -125,7 +125,7 @@ The **publish.yml** workflow runs automatically on tag push and performs these s 1. Runs all tests 2. Publishes to Maven Central (with GPG signing) 3. Publishes to GitHub Packages -4. Publishes the matching Release Drafter draft, including its OpenAPI diff, or creates a release with generated notes if no matching draft exists (only if steps 1-3 succeed) +4. Publishes the most recent Release Drafter draft, renamed to the pushed tag, with the annotated tag message under “Highlights”; or creates a release with generated notes if no draft exists (only if steps 1-3 succeed) Check the Actions tab: https://github.com/rootlyhq/rootly-java/actions